Learn Tech Skills

The Stack

What's your stack?

In tech, the stack, or the solution stack, is the set of software and hardware resources that are necessary for a web product to function.

For example, in order to publish a daily blog about cooking you need a stack that includes: HTML, CSS, JavaScript, PHP, a computer with web serving capabilities and a database, usually MySQL. Take away any component of that stack and your blog won’t work.

You will often hear developers or techies ask questions like, “What’s your stack?” which is another way of asking: what programming languages and infrastructure do you use for your web app?

LAMP is a common stack configuration, which includes a Linux computer that uses the Apache web serving software in order to function as a web server, a MySQL database, and PHP as your programming language. Since JavaScript, HTML & CSS are required for every web app they are usually left out of descriptions of a web app’s stack.

Other common configurations are LAMR (Linux, Apache, MySQL, and Ruby) or LYME (Linux, Yaws, Mnesia, Erlang) or LYCE (Linux, Yaws, CouchDB, Erlang) or WISA (Windows Server, IIS, SQL, ASP .NET) or our favorite, LEAP (Linux, Eucalyptus, AppScale, Python). As we have previously discussed, techies love them an acronym.

Another funny thing you might hear people talking about is “moving up” or “moving down” the stack. In those stances, the top of the stack is front end technologies (HTML, CSS, JavaScript), the bottom of the stack is the web server machine and software (Linux, Apache, Nginx, Node.js), and the middle of the stack is the database (MySQL, MongoDB, Access) and programming language (Ruby, Python, .NET).

If you were to say, move down the stack, you would go from knowing only frontend technologies to knowing programming languages and then learning how to set up your own web server.