{"id":12041,"date":"2012-03-26T12:24:38","date_gmt":"2012-03-26T12:24:38","guid":{"rendered":"https:\/\/www.techopedia.com\/definition\/software-stack\/"},"modified":"2021-11-24T17:13:48","modified_gmt":"2021-11-24T17:13:48","slug":"software-stack","status":"publish","type":"definition","link":"https:\/\/www.techopedia.com\/definition\/27268\/software-stack","title":{"rendered":"Software Stack"},"content":{"rendered":"
A software stack is a group of programs that work in tandem to achieve a common goal. <\/p>\n
Software stacks can either be built from scratch or put together heuristically<\/a> 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<\/em>.<\/p>\n One of popular software stacks is LAMP<\/a> (Linux, Apache, MYSQL, Perl or PHP or Python). LAMP is an open source development platform for creating and managing Web applications. Linux<\/a> serves as the backend operating system (OS). Apache<\/a> is the Web server, MySQL<\/a> is the database, and either PHP<\/a>, Perl<\/a> or Python<\/a> are used for scripts. <\/p>\n MEAN is another popular software stack in use today. It is built on MongoDB<\/a>, Express.js, Angular.js and Node.js.<\/p>\n Software stacks have many benefits:<\/p>\nTechopedia Explains Software Stack<\/span><\/h2>\n