Software Stack

Why Trust Techopedia

What Does Software Stack Mean?

A software stack is a group of programs that work in tandem to achieve a common goal.


Software stacks can either be built from scratch or put together heuristically after a lot of trial and error. The person responsible for choosing which stack will best support the delivery of an application's services is called the application architect.

One of popular software stacks is LAMP (Linux, Apache, MYSQL, Perl or PHP or Python). LAMP is an open source development platform for creating and managing Web applications. Linux serves as the backend operating system (OS). Apache is the Web server, MySQL is the database, and either PHP, Perl or Python are used for scripts.

MEAN is another popular software stack in use today. It is built on MongoDB, Express.js, Angular.js and Node.js.

Techopedia Explains Software Stack

Software stacks have many benefits:

  • A software stack contains all the software components needed to support an application.
  • They are created with interoperability in mind.
  • They provide the minimum code needed to achieve intended goals.
  • Components can be installed on one individual system or be distributed in the cloud.
  • Most software stacks come with support for the entire package. Some also have community forums.

Related Terms

Margaret Rouse
Senior Editor
Margaret Rouse
Senior Editor

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.