HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, a solution stack or software stack is a set of
software Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications. The history of software is closely tied to the development of digital comput ...
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. For example, to develop a web application, the architect defines the stack as the target
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
,
web server A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
,
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
, and
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
. Another version of a software stack is operating system, middleware, database, and applications. 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 An acronym is a type of abbreviation consisting of a phrase whose only pronounced elements are the initial letters or initial sounds of words inside that phrase. Acronyms are often spelled with the initial Letter (alphabet), letter of each wor ...
representing the individual components. 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. 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. 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 : OpenBSD (operating system) : C (programming language) : httpd (web server) : SQLite (database) ; Ganeti : Xen or KVM ( hypervisor) :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
with LVM (mass-storage device management) : Distributed Replicated Block Device (storage replication) : Ganeti (
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
cluster management tool) : Ganeti Web Manager (web interface) ; GLASS :
GemStone A gemstone (also called a fine gem, jewel, precious stone, semiprecious stone, or simply gem) is a piece of mineral crystal which, when cut or polished, is used to make jewellery, jewelry or other adornments. Certain Rock (geology), rocks (such ...
(database and application server) :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Apache (web server) :
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
(programming language) : Seaside (web framework) ; LAMP :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Apache (web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (
database management system In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
s) : Perl, PHP, or Python (
scripting language In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
s) ; LEAP :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) :
Eucalyptus ''Eucalyptus'' () is a genus of more than 700 species of flowering plants in the family Myrtaceae. Most species of ''Eucalyptus'' are trees, often Mallee (habit), mallees, and a few are shrubs. Along with several other genera in the tribe Eucalyp ...
(free and open-source alternative to the Amazon Elastic Compute Cloud) : AppScale (
cloud computing Cloud computing is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," according to International Organization for ...
-framework and free and open-source alternative to Google App Engine) : Python (programming language) ; LEMP/LNMP :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Nginx (web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (database management systems) : Perl, PHP, or Python (scripting languages) ; LLMP :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Lighttpd (web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (database management systems) : Perl, PHP, or Python (scripting languages) ; LYME and LYCE :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Yaws (web server, written in Erlang) : Mnesia or CouchDB (database, written in Erlang) : Erlang (functional programming language) ; MAMP : Mac OS X (operating system) : Apache (web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (database) : PHP, Perl, or Python (programming languages) ; LAPP :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Apache (web server) : PostgreSQL (database management systems) : Perl, PHP, or Python (scripting languages) ; MLVN : MongoDB (database) :
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
(operating system) : Varnish (software) (frontend cache) : Node.js (JavaScript runtime) ; WAMP :
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
(operating system) : Apache (web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (database) : PHP, Perl, or Python (programming language) ; WIMP :
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
(operating system) :
Internet Information Services Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
(web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (database) : PHP, Perl, or Python (programming language) ; WINS : Windows Server (operating system) :
Internet Information Services Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
(web server) :
.NET The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
( software framework) : SQL Server (database) ; WISA : Windows Server (operating system) :
Internet Information Services Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
(web server) : SQL Server (database) : ASP.NET (web framework) ; WISAV/WIPAV : Windows Server (operating system) :
Internet Information Services Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
(web server) : Microsoft SQL Server/ PostgreSQL (database) : ASP.NET (backend web framework) : Vue.js (frontend web framework)


OS-agnostic web stacks

; ELK :
Elasticsearch Elasticsearch is a Search engine (computing), search engine based on Apache Lucene, a free and open-source search engine. It provides a distributed, Multitenancy, multitenant-capable full-text search engine with an HTTP web interface and schema ...
(
search engine A search engine is a software system that provides hyperlinks to web pages, and other relevant information on World Wide Web, the Web in response to a user's web query, query. The user enters a query in a web browser or a mobile app, and the sea ...
) : Logstash (event and log management tool) : Kibana ( data visualization) ; GRANDstack : GraphQL (data query and manipulation language) : React (web application presentation) :
Apollo Apollo is one of the Twelve Olympians, Olympian deities in Ancient Greek religion, ancient Greek and Ancient Roman religion, Roman religion and Greek mythology, Greek and Roman mythology. Apollo has been recognized as a god of archery, mu ...
(Data Graph Platform) : Neo4j (
database management system In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
s) ; JAMstack :
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
(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 : MongoDB (database) : Express.js (application controller layer) : React.js (web application presentation) : Node.js (JavaScript runtime) ; MEVN : MongoDB (database) : Express.js (application controller layer) : Vue.js (web application presentation) : Node.js (JavaScript runtime) ; NMP : Nginx (web server) :
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
or MariaDB (database) : PHP (programming language) ; OpenACS : NaviServer (web server) : OpenACS ( web application framework) : PostgreSQL or Oracle Database (database) : Tcl (scripting language) ; PERN : 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 In general, a node is a localized swelling (a "knot") or a point of intersection (a vertex). Node may refer to: In mathematics * Vertex (graph theory), a vertex in a mathematical graph *Vertex (geometry), a point where two or more curves, lines ...
startup/shutdown) : Akka (toolkit) (
actor An actor (masculine/gender-neutral), or actress (feminine), is a person who portrays a character in a production. The actor performs "in the flesh" in the traditional medium of the theatre or in modern media such as film, radio, and television. ...
implementation) : Apache Cassandra (database) : Apache Kafka ( messaging) ; T-REx : TerminusDB (scalable graph database) : React (
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
web framework) : Express.js (framework for Node.js) ; XAMPP :
cross-platform Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
(operating system) : Apache (web server) : MariaDB or
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
(database) : PHP (programming language) : Perl (programming language) ; XRX : 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 A content management system (CMS) is computer software used to manage the creation and modification of digital content ( content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
* List of Apache–MySQL–PHP packages * Purple squirrel * Web framework


References

{{Web interfaces Software architecture Web frameworks