Have you heard the term Full Stack? It’s a technology buzzword which refers to the full complements of products that it takes to build a software solution. It includes the language, database, operating system, etc. that a solution needs to function. Wikipedia defines it as:
“In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to “run on” or “run on top of” the resulting platform.”
Some common full stacks are; LAMP (Linux, Apache, MySQL, PHP), MEAN (MongDB, ExpressJS, AngularJS, NodeJS), and WISA (Windows, IIS, SQL server, ASP.net). These are just some examples of full stacks. You should always select a development stack based on requirements.
Why is this important?
Each Stack has its advantages and disadvantages. It’s important to align the requirements of the website to the tools used to deploy and build. A particular stack may better suit a static low-volume website versus a high-volume commerce site. Don’t decide on a solution provider based solely on a pitch to use a particular stack. Make sure your requirements align with the technology and it goes beyond the design of the site but also to the maintenance and long-term cost of the site. Simple tools can build simple sites. If your intention is to scale up, then select a stack that will help you avoid a technology refresh in the future. Therefore, you should pick a stack that meets your long-term software development goals as well as short-term goals.
Seek out conversations with technologists when making a decision. Ask questions related to ease of development, ease of revisions, scalability, adaptability, and version controls. Understand what is under the hood, a 4 cylinder or an 8 cylinder. A 4 cylinder is fine getting around town, but you need that 8 cylinder if you are going to tow anything.
The Components of a Stack
Generally speaking a Stack contains the following layers:
Operating System (Windows server, Linux)
Database (MySQL, MSSQL, Oracle, DB2, MongoDB, PostgreSQL)
WebServer (Apache, IIS,)
Development Tools (PHP, C#, NodeJS)
Each layer has a host of solutions that can be used. The stack is a combination of tools and technologies that make up a full application. This is a key decision that must be made when starting a software development project. Like manufacturing, rework is costly. Don’t be put in a position where you must rewrite your application again because it failed to scale in the future.
Let us help you amplify technology within your organization, Ask Us How!