What Is a tech stack?
A tech stack is simply a collection of software technologies used together to build and deliver an application. Each layer of the stack handles a different concern — from the operating system at the base, through to the code that runs in a user’s browser.
Some combinations of technologies work so reliably well together that they have become industry standards, recognised by a short acronym in which each letter represents one of the component technologies. Understanding these common stacks is a useful foundation for anyone working in web development or evaluating hosting and infrastructure options.
The LAMP stack and its variants
The LAMP stack was one of the first widely adopted open-source software stacks for web development, and for many years it underpinned the majority of web hosting services worldwide. The acronym stands for:
- Linux — the operating system
- Apache — the web server
- MySQL (or MariaDB) — the database server
- PHP — the server-side scripting language (Python and Perl are also used)
LAMP is a backend or server-side stack. It handles everything that happens on the server before a response is sent to the user’s browser — processing requests, querying the database, and generating HTML.
Common variations
The LAMP acronym has spawned several close relatives, differing mainly in operating system or web server choice:
| Acronym | OS | Web Server | Database | Language |
|---|---|---|---|---|
| LAMP | Linux | Apache | MySQL / MariaDB | PHP / Python / Perl |
| LEMP | Linux | NGINX | MySQL / MariaDB | PHP / Python / Perl |
| MAMP | macOS | Apache | MySQL / MariaDB | PHP / Python / Perl |
| WAMP | Windows | Apache | MySQL / MariaDB | PHP / Python / Perl |
| XAMPP | Cross-platform | Apache | MySQL / MariaDB | PHP / Perl |
LEMP is notable because it swaps Apache for NGINX (pronounced “engine-x”, hence the E). NGINX is favoured for its high performance under heavy concurrent traffic. XAMPP is particularly popular as a local development environment, allowing developers to run a full LAMP-style stack on any operating system without configuration overhead.
Key tools in the LAMP ecosystem
- phpMyAdmin — a browser-based administration interface for managing MySQL and MariaDB databases, making it straightforward to create tables, run queries, and import or export data without using the command line.
- .htaccess — a directory-level configuration file used to control Apache’s behaviour, commonly used to set up URL redirects, rewrite rules, access restrictions, and caching headers.
WordPress and the LAMP stack
WordPress — which powers a significant proportion of all websites on the internet — is itself a LAMP application. It is written in PHP, stores content in a MySQL or MariaDB database, and is typically served by Apache or NGINX. Most WordPress-oriented managed hosting is, under the hood, a LAMP or LEMP stack configured and optimised specifically for WordPress.
Node.js stacks: MEAN, MERN, and MEVN
While LAMP-family stacks remain widespread, a newer generation of stacks built around Node.js has become dominant for modern, real-time, and single-page applications. These stacks are entirely JavaScript-based — the same language runs on both the server and the client, which simplifies development and allows code to be shared across layers.
The three main variants differ only in their choice of front-end framework:
- MEAN — MongoDB, Express.js, Angular, Node.js
- MERN — MongoDB, Express.js, React, Node.js
- MEVN — MongoDB, Express.js, Vue.js, Node.js
The components each play a distinct role:
- MongoDB — a NoSQL document database that stores data as flexible JSON-like documents rather than in rigid relational tables. Well suited to applications with variable or evolving data structures.
- Express.js — a lightweight web application framework for Node.js that handles routing, middleware, and HTTP request/response logic on the server side.
- Angular / React / Vue — front-end JavaScript frameworks used to build the user interface, typically as a single-page application (SPA) that communicates with the backend via a REST or GraphQL API.
- Node.js — a JavaScript runtime that allows JavaScript code to execute on the server, outside of a browser.
Node.js stacks are commonly deployed on cloud infrastructure — such as AWS, Google Cloud, or Azure — rather than traditional shared hosting, reflecting their typical use cases in scalable, API-driven applications.
Choosing between stack families
Neither LAMP-family nor Node.js stacks are universally superior — the right choice depends on your application’s requirements, your team’s expertise, and your hosting environment.
- LAMP / LEMP is a solid, battle-tested choice for content-driven websites, CMSs like WordPress, and applications where PHP expertise is readily available. Shared hosting support is ubiquitous and inexpensive.
- MEAN / MERN / MEVN suits applications that benefit from a unified JavaScript codebase, real-time features, or flexible data modelling. They are well matched to cloud-native deployment and microservices architectures.