For small software companies and startups, managing compute, database and access control servers could be very taxing on both time and financial resources. Moreover, the most important assets of a company are the core products and therefore no time and resources should be wasted on non product related issues.
With a serverless architecture, you can build and manage applications and services without the need to manage the infrastructure on which they run. Serverless architectures have been made possible by cloud giants like Amazon Web Services (AWS), Google Cloud, and Microsoft Azure by allowing infrastructure to be used in a way that support a pay-as-you-go model. So, apart from the advantage of not managing any infrastructure, you also pay only for the amount of time a resource is requested or used.
The serverless paradigm has opened up an immense opportunity for software startups to develop scalable products at a relatively low cost and a reduced time-to-market.
The major components of every software service are compute, storage and authentication. In this article, I will discuss how Amazon Web Services support these three components with their serverless offerings.
AWS Lambda is a serverless compute service that allows you to run code at scale without provisioning any compute servers. Multiple triggers of your code run in parallel and are completely isolated from one another, with resources provisioned based on the workload. In the end, you are charged for only the amount of time your code was executed.
Amazon DynamoDB is a scalable NoSQL database that delivers incredible performace at a single-digit millisecond level. It can support up to 20 million requests per second and due to its high availability, durability and performance, many of the fastest growing technology companies such as Lyft and Airbnb depend on DynamoDB for their service offerings. With on-demand capacity mode, you only pay for the number of reads and writes to the database.
Amazon Cognito provides a means to register users and control access to web and mobile applications in a highly secure manner. Cognito can scale up to millions of users and provides an out-of-the-box support for access with Facebook, Google and other enterprise identity providers including Amazon itself. And, with its pay-as-you-go model, you only pay for the number of monthly active users.
Everyday, Amazon, Google and Microsoft continue to invest in providing serverless counterparts to their server-based offerings in order to reduce cost and improve time to market for both startups and mature companies at large.
So if you are starting today, I encourage you to go serverless and you will never go back again.