From Wikipedia, the free encyclopedia
Set of software subsystems or components needed to create a complete platform
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
[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)
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
[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
Look up
stack in Wiktionary, the free dictionary.
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 .
^
a
b
c
d 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 .