Software Stack

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

Margaret Rouse 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 explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…