DEV Community

Arushi kataria
Arushi kataria

Posted on

AWS Serverless

Serverless is one of the hottest design patterns in the cloud today, allowing you to focus on building and innovating, rather than worrying about the heavy lifting of server and OS operations. In this series of posts, we’ll discuss topics that you should consider when designing your serverless architectures. First, we’ll look at architectural patterns designed to achieve massive scale with serverless.

Since the development of this new technology, we’ve seen substantial growth through Amazon Web Services (AWS). A recent O’Reilly survey found that 40 percent of organizations adopted serverless architecture. The main reasons behind the adoption include reduced costs, scalability, developer productivity, and more, per the chart below.

Image description

What are the advantages of using serverless architecture?
The leading advantage is that your developers can focus their attention on product development. They no longer have to account for managing and operating servers. Components like network configuration or the physical security of your servers are handled by the vendor rather than your team.

Many other benefits come from serverless architecture as well.

Decomposing drives better observability
With serverless, you break down applications into smaller and smaller pieces, known as decomposition. By doing so, you’ll gain better observability across the application.

With smaller pieces, the knowledge necessary to make changes or create fixes is smaller.

Serverless is event-based
Serverless uses an event-based system versus stream-based. With event-based architecture, each subpart of the application is independent. Events trigger one another. In stream-based, there are connections to each service. If there is a failure, it just impacts that event, not the entire log.

Faster deployments, greater flexibility, and accelerated innovation
Speed is often a contributing factor in choosing to use a serverless architecture. You can rapidly deploy apps in hours because there’s no infrastructure construction to weigh you down. With faster deployments also comes ease in scalability.

By using such an agile architecture, you can be very flexible in your releases. Because it’s a quicker process, you can accelerate innovation.

This flexibility is especially valuable in situations where pivoting is urgent. These types of scenarios are playing out all over the world in response to the pandemic. Organizations have to change their focus to meet emerging needs. This could be internal with a move to remote work. Another example is the adoption of customer-facing applications like those of retailers and restaurants.

Reducing architecture costs
Being serverless, an organization is essentially outsourcing server and database management. You are no longer responsible for the huge investments required for internal architecture administration. Ultimately your use case will define how much you can save.

Focusing more on UX
If your applications have end users, which they probably do, they have high expectations around digital experiences. If architecture is no longer a concern, it leaves more time to work on the user experience (UX). You can’t afford to not invest in the user interface, so serverless can provide you with a way to reallocate resources.

What are the limitations of using serverless architecture?
Serverless architecture isn’t perfect. It’s still an evolving architecture, leaving some not ready to adopt.

Top comments (0)