Serverless is a relative newcomer to the world of cloud architecture. It is also a disruptive force. For one, it breaks up the previously dominant ‘as-a-service’ cloud triad – IaaS, PaaS and SaaS – with a development-focused model that sits somewhere between PaaS and SaaS.
We should start by explaining that ‘serverless’ architecture is something of a misnomer. Everything in the cloud ultimately runs on servers. But the point of serverless is that everything to do with managing the infrastructure is handled on the provider side, leaving users to focus on building and running applications.
How does serverless architecture work?
Wait a minute, I hear you say – isn’t that what IaaS and PaaS do? Yes, but to differing degrees. IaaS provides all the fundamental server management – including running, configuring and scaling virtual machines to create a cloud – but the end user is still responsible for the operating system (OS), applications and all associated services and functions.
PaaS is even more developer-friendly because the OS is also provided and managed.
Serverless shifts things further along again. This time, the cloud provider also throws in an application layer that takes care of the ‘back-end’ operational aspects of running an app, including hosting.
This means that developers no longer need to worry about how the app will run. All they need to do is write code to perform whatever function they have in mind. The managed application layer takes care of the rest.
This is why you will sometimes hear serverless referred to as ‘Function-as-a-Service’, bringing us back to the standard cloud service terminology.
What is AWS Serverless?
Amazon Web Services (AWS) started out as an IaaS offer. In fact, when the ecommerce giant first started offering web-based IT services in 2006, it can justifiably be credited with creating the entire cloud infrastructure market as we know it today. Through is Elastic Compute Service (EC2), Amazon still controls by far and away the biggest share of the $130bn global cloud infrastructure market.
Key to Amazon’s success has been its willingness to innovate, adding service after service to its cloud offer at a pace its rivals have struggled to keep up with. However, it could be argued that Google stole a march on Amazon with its container orchestration platform Kubernetes, which has been credited with helping Google grab market share off EC2.
While they are not directly comparable in how they function and what they do, Kubernetes and Serverless do compete somewhat in the market because they both offer solutions for managing and simplifying app deployment at scale. While far from overlooking container technology, Amazon has invested heavily in its serverless offer and to date has dominated an emerging and rapidly growing market.
As with the rest of the Amazon cloud, AWS Serverless is a suite of different service options rather than a single offering. Some of the main products are:
- AWS Lambda: A zero-admin compute service for running code for applications and back-end services. Lambda supports scripts in most major coding languages and can be used with containers as well as a wide range of other AWS services and serverless tools. A key feature of Lambda functions are that they are event-driven, which means they automatically trigger and only draw execution power on request, making them highly resource efficient and scalable.
- AWS Fargate: A dedicated serverless compute engine for containers designed to run on EC2.
- Amazon EventBridge: A serverless event bus that shares event data across multiple applications, making it easier to build and manage large suites of interconnected apps.
- AWS Serverless Application Model: An open-source framework for building serverless applications on AWS, combining Lambda functions, event sources and additional resources such as APIs and databases.
AWS Serverless benefits
In broad terms, AWS Serverless services exemplify all the main benefits of serverless technology in general, namely:
- Reduced costs: The AWS Serverless environment translates event-driven applications into a pay-on-demand model for execution. Because apps only draw on compute resources when triggered, you only ever pay for the cloud resources you use.
- Scalability: Resource optimisation and automated infrastructure management mean apps built on AWS Serverless can also scale on demand, ensuring you always meet expectations on the client side without cost penalties when demand falls.
- Shorter lead times: Reduced costs and the operational efficiencies created by automation support faster development cycles, allowing teams to get more products out to market.
- Better products: Finally, with the operational side taken care of, development teams have greater space to innovate and face fewer barriers to creating sophisticated, complex products, leading to better solutions coming to market.