“Stacks” are software bundles that make up the back end of your website, including everything from the operating system and web servers to APIs and programming frameworks. Every component acts as a compatibility layer, and bundling them makes it easy to download and deploy them all at once. A stack’s components can range from general—for example, the Mac OS X operating system—to highly specific, such as a specific PHP framework.

There are many reasons why you might choose one stack over another, and newer isn’t always better depending on the project. For example, perhaps you’re planning for the future of your website and anticipate a need for vertical scalability, or your development staff is particularly knowledgeable in a programming language. Both of these factors can influence your stack selection.
In this article, we are going to give an overview of some components of basic software stacks used widely by cloud hosting providers and other third-party services that our New Target engineers love to use in support of our clients.
CDN
One popular component of a software stack is a content delivery network (CDN), which is responsible for storing images and other static assets. A CDN is a cache that protects the backend application, similar to how a data cache protects a database.
The majority of websites and apps have a large number of photos. These images are often orders of magnitude larger than the HTML/CSS/JavaScript files sent by the backend, so sending them to clients would take a lot of resources. While your backend server can surely accomplish it, it isn’t the most efficient method and wastes resources. Using a CDN is simple, fast, and inexpensive. Because CDNs are geographically scattered over the world, there’s a good possibility one is physically close to the end-user; thus, the images will load faster on average. Amazon CloudFront (which connects with Amazon’s S3), Cloudflare, and others are popular CDNs.
Firewalls
A firewall is a type of cybersecurity technology that filters network traffic. Network nodes can be separated from external traffic sources, internal traffic sources, or even specialized applications using firewalls.
A firewall’s main objective is to stop malicious traffic requests and data packets while allowing genuine traffic to pass through.
Like a regular firewall, a cloud firewall is a security solution that filters out potentially dangerous network traffic. However, cloud firewalls, unlike traditional firewalls, are hosted in the cloud. This cloud-based firewall delivery model is also known as firewall-as-a-service (FWaaS).
Traditional firewalls build a virtual barrier around an organization’s internal network, while cloud-based firewalls form a virtual barrier surrounding cloud platforms, infrastructure, and applications. Cloud firewalls can also protect On-premise infrastructure.
Proxies
A proxy server is a software or device that enhances and secures website access. It accomplishes this by acting as a firewall between the local computer and the Internet. This prevents the local computer from communicating directly with the Internet. Instead of the original IP address, it uses an anonymous one. Because only the proxy server’s IP address is visible, no external user can see the local computer’s IP address. This protects the network from malicious users on the outside.
A proxy server receives a user’s request to access a specific website on the Internet. The system then scans the cache for the same request. If the request is already in the cache, it is produced immediately, reducing bandwidth usage. If it isn’t already in the cache, the proxy uses the Internet to get the information and then stores it in the cache.
Edge Computing
Edge computing allows linked devices to process data closer to the source, or “edge,” of the data. This can be done within the device (e.g., sensors) or nearby, and it’s a better option than sending data to a centralized cloud for processing.
A CDN edge server is a computer that sits at the network’s logical limit or “edge.” An edge server is frequently used to connect two different networks. A CDN edge server’s primary goal is to store content as close to a requesting client machine as possible, minimizing latency and improving page load speeds.
To allow multiple networks to join and share transit, edge devices are usually positioned within Internet exchange points (IxPs).
Developers may occasionally adopt a software stack that has proven beneficial for delivering a certain sort of application. Components like the ones discussed above may be bundled together and marketed as a single software stack software business. Here are some of the most popular software stacks:
LAMP – The LAMP software stack is a web services-oriented software stack that can be used to create dynamic web pages and cloud applications. The Linux operating system, Apache web server, MySQL relational database management system, and PHP programming language are all part of the stack.
MEAN – The MEAN software stack includes four free and open source components: a database tool called MongoDB, the Express.js web application server framework, a frontend web framework called Angular.js, and the Node.js runtime environment, which is used to create dynamic websites and web apps.
NMP – NGINX web servers, MySQL, and the PHP programming language make up NMP, which is basically a collection of software stacks. This suite of technologies has been bundled individually for Linux, Windows, and macOS and works with all major operating systems.