They all form a team with a common goal: to provide everything the application may need to work.
The first popular web stack was the PHP stack: LAMP. Each letter refers to an item in the stack:
- L for Linux, the operating system.
- A for Apache, the web server.
- M for MySQL, the database server.
- P for PHP, the programming language.
It is a very basic and elemental stack, but there are complex projects with a bigger stack. For example, when you need an efficient search, you should add a full-text search server. The server will index the “searchable” information so that when the search is triggered it can be processed as fast as possible.
LAMP has been so popular because it is easy to set up, even on Windows, where a simple installer can set up a development environment in a matter of seconds.
Nowadays any stack is easy to configure. We have installers or package managers for each operating system, so that it is a piece of cake to have a good development environment. We even have tools like Vagrant that use virtualization to install a server that can be almost the same as the one in production.
For the Ruby web stack you usually have the following:
Some notes about this stack:
We could add more at the top: Ruby on Rails as the development framework, which allows to build a website faster.
Also published on Medium.