Solution stack explained
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
- BCHS[7]
OpenBSD (operating system)
C (programming language)
httpd (web server)
SQLite (database)
- 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
Apache Mesos (node startup/shutdown)
Akka (toolkit) (actor implementation)
Riak (data store)
Apache Kafka (messaging)
Apache Spark (big data and MapReduce)
- MEAN
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)
- NMP[27]
Nginx (web server)
MySQL or MariaDB (database)
PHP (programming language)
- 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
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
Notes and References
- Encyclopedia: Solution stack . Computer Desktop Encyclopedia . The Computer Language Company . 2015 . 5 July 2018.
- News: Red Hat: Linux served at vertical data center dinner tables. Mimoso. Michael S.. 24 February 2003. SearchEnterpriseLinux.com. 2009-08-09.
- Web site: Acronym Guide to Web Stacks . Beal, V. . Webopedia . Quinstreet, Inc . 7 September 2007 . 5 July 2018.
- Book: Using Microsoft SharePoint Portal Server . Ferguson, R. . Que Publishing . 616 . 2002 . 9780789725707.
- Book: SAP Planning: Best Practices in Implementation . Anderson, G.W. . Sams . 13 . 2003 . 9780789728753.
- Web site: Amir . Masroor . Full Stack Developer - Complete Roadmap Technologies in 2023 . 2023-04-27 . The Geeks Bot A Computer Science Site for geeks . en.
- Web site: BCHS Stack . Dzonsons, K. . 5 July 2018.
- Web site: Ganeti installation tutorial . Ganeti Documentation . Google, Inc . 5 July 2018.
- Web site: A Beginners' Guide to Installing and Configuring GLASS: Gemstone 64/S Smalltalk / Seaside / Application Server / Object Database Server Environment . Glynn, A. . Horizons of Identity . 3 June 2015 . 5 July 2018.
- Book: Complete Guide to Open Source Big Data Stack . Frampton, M. . Apress . 7 . 2018 . 9781484221495.
- Book: Obtaining Value from Big Data for Service Delivery . Kaisler, S.H. . Amour, F. . Espinosa, A. . Money, W.H. . Business Expert Press . PT69 . 2015 . 9781631572234.
- Web site: LEMP Stack Info . LEMP.io . 6 July 2018.
- Web site: Setting up a LLMP Stack (Linux, Lighttpd, MySQL, PHP5) on Ubuntu 8.10 . Johnston, C. . ChrisJohnston.org . 18 February 2009 . 6 July 2018 . 5 February 2019 . https://web.archive.org/web/20190205042248/http://www.chrisjohnston.org/ubuntu-tutorials/setting-up-a-llmp-stack-linux-lighttpd-mysql-php5-on-ubuntu-810 . dead .
- Web site: Solution Stack . Idiosyncratic Knowledge . 9 July 2016 . 9 July 2016.
- Get Your Wiki On . Mac Life . Coucouvanis, N. . 5 . 83–86 . 2007 . 6 July 2018.
- Book: Cloud Computing: Implementation, Management, and Security . Rittinghouse, J.W. . Ransome, J.F. . CRC Press . PT184 . 2017 . 9781351615365.
- Book: https://books.google.com/books?id=3EBbDwAAQBAJ&pg=PA6 . Chapter 2: Introducing MEVN . Full-Stack Web Development with Vue.js and Node . Sharma, A. . Packt Publishing Ltd . 6–30 . 2018 . 9781788830775.
- Web site: WAMP . Softaculous Ltd . 6 July 2018.
- Web site: Tutorial: Installing a WIMP Server on an Amazon EC2 Instance Running Windows Server . AWS Documentation . Amazon Web Services, Inc . 6 July 2018.
- Web site: How to Choose Your Technology Stack for Web Development . Evgen . GBKSOFT Blog . GBKSOFT Dev LLC . 28 January 2018 . 6 July 2018.
- Web site: Which Web Application Stack Is Best for Me? . Sachdeva, B. . developer.com . QuinStreet, Inc . 27 May 2009 . 6 July 2018.
- Book: https://books.google.com/books?id=EfqoCwAAQBAJ&pg=PA1 . Chapter 1: Introduction to ELK Stack . Learning ELK Stack . Chhajed, S. . Packt Publishing Ltd . 1–22 . 2015 . 9781785886706.
- Web site: GRANDStack . 24 Dec 2019.
- Web site: JAMstack . 5 July 2018.
- Book: https://books.google.com/books?id=HnxeDwAAQBAJ&pg=PA7 . Chapter 1: Introduction to the MERN Stack . MERN Quick Start Guide . Wilson, E. . Packt Publishing Ltd . 7–13 . 2018 . 9781787280045.
- Book: https://books.google.com/books?id=3EBbDwAAQBAJ&pg=PA6 . Chapter 1: Introducing MEVN . Full-Stack Web Development with Vue.js and Node . Sharma, A. . Packt Publishing Ltd . 6–30 . 2018 . 9781788830775.
- Book: Programador Web Full Stack: Desarrollo frontend y backend . Luna, F. . RedUSERS . 17–18 . 2017.
- Web site: OpenACS: What it is and why to use it . OpenACS Community . OpenACS.org . 6 July 2018.
- Web site: 2020-03-20. Learn the PERN Stack by building a web app - Full video course. 2021-06-19. freeCodeCamp.org. en.
- Web site: TerminusDB on Twitter . 2020-10-14 . Twitter . en.
- Web site: XAMPP Apache + MariaDB + PHP + Perl . Apache Friends . 6 July 2018.
- Web site: XRX . McCreary, D. . danmccreary.com . 6 July 2018.