A cloud computing model with efficiency and cost savings for software development.
A cloud computing model with efficiency and cost savings for software development
Serverless computing is a type of cloud service, where the cloud provider supplies and manages the computer infrastructure that is required to build and run software applications.
First offered by a major public cloud provider with the launch of Amazon Web Services' Lambda in 2014, serverless is a relatively new approach to software engineering. It is becoming more popular – particularly with incumbent organisations - with the expansion of cloud usage and migrations away from legacy computer systems.
When a software engineer develops an application via serverless architectures, they don't have to worry about the infrastructure needed to host the code, as it is the responsibility of the cloud provider to scale the service up or down according to demand. The cloud provider also maintains the operating system, and compliance and security requirements. This gives software engineers more time to focus on the code itself, making the creation of the application much more efficient.
What's more, building software via serverless has considerable cost benefits. When applications are built on other cloud services such as Infrastructure as a Service or Platform as a Service, this involves fixed hosting costs irrespective of usage. An application that is developed through serverless, on the other hand, is typically consumption-based. This means that it only executes code - and therefore uses resources – when a specific event or trigger occurs. The advantage of this approach is that an organisation does not have to pay for an application when it is not being used.
Despite the obvious advantages of serverless, as with most new technology choices, there are considerations to make and context matters - serverless in its current state still has some trade-offs. There is a high level of vendor lock in comparison to traditional development approaches. The wider ecosystem is also relatively young, which can increase the complexity involved in development, debugging or testing.
The benefits of Serverless
- cloud provider takes care of infrastructure, scaling, operating system and security
- build and maintain a software application quickly and efficiently
- no platform hosting fees – pay only when code is used
- increasingly popular with the growing adoption of cloud computing