How Stack leverages 'Serverless Architecture and Multi-tier Application' to deliver a seamless product

Serverless architecture and Multi-tier application

There used to be a time when a developer’s biggest nightmare was maintaining infrastructure. With AWS, the hassle is outsourced so that they can, instead, focus on the one thing that matters the most- developing a solid and reliable product.

What is serverless architecture?

Serverless architecture is a way to build and run applications and services without having to manage infrastructure.

Think of it as a container where your code can be poured into. The container itself is completely created, deployed, and managed by AWS. And you need not be involved in the creation or management of the container, and in fact, you can’t even if you wanted to.

Your application still runs on servers, but all the server management is done by AWS. You no longer have to provision, scale, and maintain servers to run your applications, databases, and storage systems.

Why use serverless architectures?

By using a serverless architecture, your developers can focus on their core product instead of worrying about managing and operating servers or runtimes, either in the cloud or on-premises. This reduced overhead lets developers reclaim time and energy that can be spent on developing great products which scale and that are reliable.

How Stack uses multi-tier applications to innovate further?

The multi-tier application (three-tier, n-tier, and so forth) has been a cornerstone architecture pattern for decades and remains a popular pattern for user-facing applications.

Although the language used to describe a multi-tier architecture varies, a multi-tier application generally consists of the following components:

Presentation tier – Component that the user directly interacts with (for example, webpages and mobile app UIs)

Logic tier – Code required to translate user actions to application functionality (for example, CRUD database operations and data processing)

Data-tier – Storage media (for example, databases, object stores, caches, and file systems) that hold the data relevant to the application

The multi-tier architecture pattern provides a general framework to ensure decoupled and independently scalable application components can be separately developed, managed, and maintained (often by distinct teams). As a consequence of this pattern in which the network (a tier must make a network call to interact with another tier) acts as the boundary between tiers, developing a multi-tier application often requires creating many undifferentiated application components.

Some of these components include:

• Code that defines a message queue for communication between tiers

• Code that defines an application programming interface (API) and a data model

• Security-related code that ensures appropriate access to the application Amazon API Gateway — a service used for creating and managing APIs, and AWS Lambda – another service for running arbitrary code functions, these can together be used to simplify the creation of robust multi-tier applications.

Through serverless multi-tier applications at Stack, we were able to not just create a seamless user interface but razor focus on developing a holistic product by cutting out the time and resources required for server management.


Author: Shubham Badola - Tech lead, Stack

Tushar Vyas
Bengaluru, India