Solution stack
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.[1] Applications are said to "run on" or "run on top of" the resulting platform.
For example, to develop a web application, the architect defines the stack as the target operating system, web server, database, and programming language. Another version of a software stack is operating system, middleware, database, and applications.[2] Regularly, the components of a software stack are developed by different developers independently from one another.
Some components/subsystems of an overall system are chosen together often enough that the particular set is referred to by a name representing the whole, rather than by naming the parts. Typically, the name is an acronym representing the individual components.[3]
The term "solution stack" has, historically, occasionally included hardware components as part of a final product, mixing both the hardware and software in layers of support.[4][5]
A full-stack developer is expected to be able to work in all the layers of the application (front-end and back-end). A full-stack developer can be defined as a developer or an engineer who works with both the front and back end development of a website, web application or desktop application.[6] This means they can lead platform builds that involve databases, user-facing websites, and working with clients during the planning phase of projects.
Examples
    
    OS-level stacks
    
- Ganeti[8]
 - Xen or KVM (hypervisor)
 - Linux with LVM (mass-storage device management)
 - Distributed Replicated Block Device (storage replication)
 - Ganeti (virtual machine cluster management tool)
 - Ganeti Web Manager (web interface)
 
- GLASS[9]
 - GemStone (database and application server)
 - Linux (operating system)
 - Apache (web server)
 - Smalltalk (programming language)
 - Seaside (web framework)
 
- LAMP[10]
 - Linux (operating system)
 - Apache (web server)
 - MySQL or MariaDB (database management systems)
 - Perl, PHP, or Python (scripting languages)
 
- LEAP[11]
 - Linux (operating system)
 - Eucalyptus (free and open-source alternative to the Amazon Elastic Compute Cloud)
 - AppScale (cloud computing-framework and free and open-source alternative to Google App Engine)
 - Python (programming language)
 
- LEMP/LNMP[12]
 - Linux (operating system)
 - Nginx (web server)
 - MySQL or MariaDB (database management systems)
 - Perl, PHP, or Python (scripting languages)
 
- LLMP[13]
 - Linux (operating system)
 - Lighttpd (web server)
 - MySQL or MariaDB (database management systems)
 - Perl, PHP, or Python (scripting languages)
 
- LYME and LYCE[14]
 - Linux (operating system)
 - Yaws (web server, written in Erlang)
 - Mnesia or CouchDB (database, written in Erlang)
 - Erlang (functional programming language)
 
- MAMP[15]
 - Mac OS X (operating system)
 - Apache (web server)
 - MySQL or MariaDB (database)
 - PHP, Perl, or Python (programming languages)
 
- LAPP[16]
 - Linux (operating system)
 - Apache (web server)
 - PostgreSQL (database management systems)
 - Perl, PHP, or Python (scripting languages)
 
- MLVN[17]
 - MongoDB (database)
 - Linux (operating system)
 - Varnish (software) (frontend cache)
 - Node.js (JavaScript runtime)
 
- WAMP[18]
 - Windows (operating system)
 - Apache (web server)
 - MySQL or MariaDB (database)
 - PHP, Perl, or Python (programming language)
 
- WIMP[19]
 - Windows (operating system)
 - Internet Information Services (web server)
 - MySQL or MariaDB (database)
 - PHP, Perl, or Python (programming language)
 
- WINS[20]
 - Windows Server (operating system)
 - Internet Information Services (web server)
 - .NET (software framework)
 - SQL Server (database)
 
- WISA[21]
 - Windows Server (operating system)
 - Internet Information Services (web server)
 - SQL Server (database)
 - ASP.NET (web framework)
 
- WISAV/WIPAV
 - Windows Server (operating system)
 - Internet Information Services (web server)
 - Microsoft SQL Server/PostgreSQL (database)
 - ASP.NET (backend web framework)
 - Vue.js (frontend web framework)
 
OS-agnostic web stacks
    
- ELK[22]
 - Elasticsearch (search engine)
 - Logstash (event and log management tool)
 - Kibana (data visualization)
 
- GRANDstack[23]
 - GraphQL (data query and manipulation language)
 - React (web application presentation)
 - Apollo (Data Graph Platform)
 - Neo4j (database management systems)
 
- Jamstack[24]
 - JavaScript (programming language)
 - APIs (Application programming interfaces)
 - Markup (content)
 
- MARQS[10]
 - Apache Mesos (node startup/shutdown)
 - Akka (toolkit) (actor implementation)
 - Riak (data store)
 - Apache Kafka (messaging)
 - Apache Spark (big data and MapReduce)
 
- MEAN[10]
 - MongoDB (database)
 - Express.js (application controller layer)
 - AngularJS/Angular (web application presentation)
 - Node.js (JavaScript runtime)
 
- MERN[25]
 - MongoDB (database)
 - Express.js (application controller layer)
 - React.js (web application presentation)
 - Node.js (JavaScript runtime)
 
- MEVN[26]
 - MongoDB (database)
 - Express.js (application controller layer)
 - Vue.js (web application presentation)
 - Node.js (JavaScript runtime)
 
- OpenACS[28]
 - NaviServer (web server)
 - OpenACS (web application framework)
 - PostgreSQL or Oracle Database (database)
 - Tcl (scripting language)
 
- PERN[29]
 - PostgreSQL (database)
 - Express.js (application controller layer)
 - React (JavaScript library) (web application presentation)
 - Node.js (JavaScript runtime)
 
- PLONK
 - Prometheus (metrics and time-series)
 - Linkerd (service mesh)
 - OpenFaaS (management and auto-scaling of compute)
 - NATS (asynchronous message bus/queue)
 - Kubernetes (declarative, extensible, scale-out, self-healing clustering)
 
- SMACK[10]
 - Apache Spark (big data and MapReduce)
 - Apache Mesos (node startup/shutdown)
 - Akka (toolkit) (actor implementation)
 - Apache Cassandra (database)
 - Apache Kafka (messaging)
 
- T-REx[30]
 - TerminusDB (scalable graph database)
 - React (JavaScript web framework)
 - Express.js (framework for Node.js)
 
- XAMPP[31]
 - cross-platform (operating system)
 - Apache (web server)
 - MariaDB or MySQL (database)
 - PHP (programming language)
 - Perl (programming language)
 
- XRX[32]
 - XML database (database such as BaseX, eXist, MarkLogic Server)
 - XQuery (Query language)
 - REST (client interface)
 - XForms (client)
 
See also
    
- List of content management systems
 - Content management system
 - List of Apache–MySQL–PHP packages
 - Web framework
 
References
    
- "Solution stack". Computer Desktop Encyclopedia. The Computer Language Company. 2015. Retrieved 5 July 2018.
 - Mimoso, Michael S. (24 February 2003). "Red Hat: Linux served at vertical data center dinner tables". SearchEnterpriseLinux.com. Retrieved 2009-08-09.
 - Beal, V. (7 September 2007). "Acronym Guide to Web Stacks". Webopedia. Quinstreet, Inc. Retrieved 5 July 2018.
 - Ferguson, R. (2002). Using Microsoft SharePoint Portal Server. Que Publishing. p. 616. ISBN 9780789725707.
 - Anderson, G.W. (2003). SAP Planning: Best Practices in Implementation. Sams. p. 13. ISBN 9780789728753.
 - Amir, Masroor. "Full Stack Developer - Complete Roadmap | Technologies in 2023". The Geeks Bot | A Computer Science Site for geeks. Retrieved 2023-04-27.
 - Dzonsons, K. "BCHS Stack". Retrieved 5 July 2018.
 - "Ganeti installation tutorial". Ganeti Documentation. Google, Inc. Retrieved 5 July 2018.
 - Glynn, A. (3 June 2015). "A Beginners' Guide to Installing and Configuring GLASS: Gemstone 64/S Smalltalk / Seaside / Application Server / Object Database Server Environment". Horizons of Identity. Retrieved 5 July 2018.
 - Frampton, M. (2018). Complete Guide to Open Source Big Data Stack. Apress. p. 7. ISBN 9781484221495.
 - Kaisler, S.H.; Amour, F.; Espinosa, A.; Money, W.H. (2015). Obtaining Value from Big Data for Service Delivery. Business Expert Press. p. PT69. ISBN 9781631572234.
 - "LEMP Stack Info". LEMP.io. Retrieved 6 July 2018.
 - Johnston, C. (18 February 2009). "Setting up a LLMP Stack (Linux, Lighttpd, MySQL, PHP5) on Ubuntu 8.10". ChrisJohnston.org. Archived from the original on 5 February 2019. Retrieved 6 July 2018.
 - "Solution Stack". Idiosyncratic Knowledge. 9 July 2016. Retrieved 9 July 2016.
 - Coucouvanis, N. (2007). "Get Your Wiki On". Mac Life (5): 83–86. Retrieved 6 July 2018.
 - Rittinghouse, J.W.; Ransome, J.F. (2017). Cloud Computing: Implementation, Management, and Security. CRC Press. p. PT184. ISBN 9781351615365.
 - Sharma, A. (2018). "Chapter 2: Introducing MEVN". Full-Stack Web Development with Vue.js and Node. Packt Publishing Ltd. pp. 6–30. ISBN 9781788830775.
 - "WAMP". Softaculous Ltd. Retrieved 6 July 2018.
 - "Tutorial: Installing a WIMP Server on an Amazon EC2 Instance Running Windows Server". AWS Documentation. Amazon Web Services, Inc. Retrieved 6 July 2018.
 - Evgen (28 January 2018). "How to Choose Your Technology Stack for Web Development". GBKSOFT Blog. GBKSOFT Dev LLC. Retrieved 6 July 2018.
 - Sachdeva, B. (27 May 2009). "Which Web Application Stack Is Best for Me?". developer.com. QuinStreet, Inc. Retrieved 6 July 2018.
 - Chhajed, S. (2015). "Chapter 1: Introduction to ELK Stack". Learning ELK Stack. Packt Publishing Ltd. pp. 1–22. ISBN 9781785886706.
 - "GRANDStack". Retrieved 24 Dec 2019.
 - "JAMstack". Retrieved 5 July 2018.
 - Wilson, E. (2018). "Chapter 1: Introduction to the MERN Stack". MERN Quick Start Guide. Packt Publishing Ltd. pp. 7–13. ISBN 9781787280045.
 - Sharma, A. (2018). "Chapter 1: Introducing MEVN". Full-Stack Web Development with Vue.js and Node. Packt Publishing Ltd. pp. 6–30. ISBN 9781788830775.
 - Luna, F. (2017). Programador Web Full Stack: Desarrollo frontend y backend. RedUSERS. pp. 17–18.
 - "OpenACS: What it is and why to use it". OpenACS.org. OpenACS Community. Retrieved 6 July 2018.
 - "Learn the PERN Stack by building a web app - Full video course". freeCodeCamp.org. 2020-03-20. Retrieved 2021-06-19.
 - "TerminusDB on Twitter". Twitter. Retrieved 2020-10-14.
 - "XAMPP Apache + MariaDB + PHP + Perl". Apache Friends. Retrieved 6 July 2018.
 - McCreary, D. "XRX". danmccreary.com. Retrieved 6 July 2018.