Question
What are the different acronym stacks in I.T.?
Answer
There are many open source combinations of technologies that are in wide use. These acronyms referred to as "full stacks" or "stacks" appear in articles and job descriptions. A full stack is a bundle of software that (includes an OS and) can create a complete and functional product when properly configured. We will define these acronymous words below. These words are always in all uppercase.
LAMP stack: This is probably the most common acronym stack in computing today. It stands for Linux, Apache Web Server, MySQL, and PHP (but the "M" can stand for MariaDB and the "P" can stand for "Perl" or "Python" too). If you want to test this out yourself as the components are free, see this posting if you are using RedHat. If you want to deploy it via Kubernetes, see this posting.
LAPP stack: It stands for Linux, Apache Web Server, PostgreSQL, and PHP. With technology changing rapidly don't be surprised if the "P" can stand for "Perl" or "Python" too. If you want to test this out yourself as the components are free, see this posting. If you want experience setting up LAPP as a security checking mechanism, you may want to see this post for basic front-end authentication or this post for a more complete front-end authentication application.
MEAN stack: It stands for MongoDB, Express.js, AngularJS, and Node.js. MongoDB is a NoSQL database (which uses key-value pairs and JSON instead of relational rowsets that typify SQL databases). Express.js can be referred to as merely "Express" (as mean.io used to show). Express.js is a "minimalist web framework" (expressjs.com). AngularJS is a front-end web application framework that enables dynamic viewing of content (Angularjs.org). It complements Express. Node.js is a type of server-side JavaScript (shiffman.net). Rather than having web browsers download the code, the code is interpreted on the sever itself.
SMACK stack: It stands for Spark, Mesos, Akka, Cassandra, and Kafka (mesosphere.com). It "is an open source full stack for big data architecture" (taken from a Packt book on Amazon.com).
- Spark is an in-memory tool related to Hadoop. "Apache Spark™ is a fast and general engine for large-scale data processing" (Apache.org). (To deploy Spark, see this posting.)
- Apache Mesos is a distributed systems kernel based on the modularity of the Linux kernel (mesos.apache.org). (To set deploy Mesos, see this posting.)
- Akka is a distributed systems tool to enable building a concurrent application (Akka.io).
- Apache Cassandra is a NoSQL distributed database (O'Reilly Press book on Amazon.com).
- Apache Kafka is an open source messaging tool for "building real-time data pipelines for streaming" applications (kafka.apache.org).
To disambiguate SMACK vs. SMAC vs. Smack, the following two paragraphs will explain the differences.
- Another technology acronym called Smack is not related to a stack. This word "Smack" stands for the "Simplified Mandatory Access Control Kernel." It was implemented into the regular Linux kernel with version 2.6.25 (according to elinux.org). This [non-stack] "Smack" is not in all uppercase.
- There is another technology term called SMAC that is always in all uppercase letters. This SMAC stands for social, mobile, analytics and cloud, and it is also referred to as "third platform" (www.k3syspro.com/s-m-a-c/).
Finally Apache can refer to Native American tribes of which Geronimo was a member. Apache can also refer to a software foundation.