A Business Guide to Serverless Computing
If you’re a business person with your finger on the pulse of innovation, you will likely have heard the term ‘serverless’ banded around within the public cloud technology domain. But what exactly does it mean and how does it impact digital transformation?
We asked Nasstar’s very own cloud expert, AWS Ambassador and AWS Technical Practical Lead, Jason Oliver, to explore this topic in more detail so we can help you make informed decisions on your digital transformations in the cloud.
What is serverless?
Essentially, serverless computing is a way to build and run applications and services without managing infrastructure.
A common misconception is that serverless means there are no servers involved. However, your applications still run on servers, but the cloud vendor (such as AWS), performs all the server management on your behalf.
How does serverless work?
Serverless services eliminate the need for infrastructure management as applications or containers run only in response to an event or request.
Serverless technologies make things simple; write and upload the code – done!
- No servers to provision or manage
- Only pay for what you use
- Ability to scale up or down depending on demand
- Availability and fault tolerance built-in
This straightforward process leaves your development team to concentrate on what they do best - creating and deploying code to add value to and differentiate your business.
One of the most popular serverless components is Function as a Service (FaaS). FaaS is a serverless backend service allowing developers to write modular pieces of code on the fly that can be executed in response to specific events. It is ideal for building smaller applications. AWS Lambda is one of the most widely used FaaS platforms and can be integrated with over 200 AWS services.
Another serverless compute option is AWS Fargate which leverages containers. AWS Fargate is compatible with Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS).
What is a container?
A container is a package of code and its associated dependencies that run an application. Containers are bundles with any dependencies, so they need one thing to work; to be hosted and run. Think of a pot of noodles. All the ingredients are there, ‘you just need to add water’ and you’ve got your meal.
Containers still need to be maintained and updated. But as the cloud provider manages the infrastructure, it allows for an efficient, portable, and lightweight way of developing and deploying larger applications.
What are the benefits of serverless?
Move from idea to market, faster
Eliminate operational overhead so your teams can release quickly, get feedback, and iterate to get to market faster. The development team do not need to concern themselves with how to maintain or scale their application.
Lower your costs
With a pay-for-value billing model, resource utilisation is automatically optimised and you never pay for over-provisioning.
Adapt at scale
With technologies that automatically scale from zero to peak demands, you can adapt to customer needs faster than ever. Scale-up for large projects or scale down and reduce costs when there is little demand.
Build better applications, easier
Serverless applications have built-in service integrations, so you can focus on building your application instead of configuring its infrastructure.
Case Study - Jaguar Land Rover
Nasstar helped one of Britain’s leading manufacturers of luxury vehicles and sport utility vehicles, Jaguar Land Rover (JLR), collect and analyse vehicle data via a ground-breaking cloud-native connected car platform.
Using serverless computing, a scalable and cost-efficient solution was delivered to derive actionable insights, drive competitiveness, and maximise efficiency. Learn more in the full case study here.
As an early adopter and the most prominent advocate of serverless technology, I do understand that it is far from the only tool in the toolbox of cloud computing. Every business requirement should be fully assessed by merit, helping to drive the shape and direction of the solution.
So, while there is very much a future for other areas of cloud, I feel if a business is looking to truly transform and disrupt its market, then this cannot happen without at least a passing consideration around how serverless can be used in delivering some, if not the whole, solution.