Serverless has been positioned as the engineer’s dream, and rightly so. It frees engineers from tedious server provisioning and management tasks to focus solely on the code, whilst enabling organisations to launch and scale services faster and more cost-effectively than ever before. For example, the online learning platform A Cloud Guru is one of the world’s first serverless startups. One of the two brothers who started the company built the first version of the learning platform in just four weeks. This is testament to the true power of serverless and how it can accelerate delivery - the platform continues to be fully serverless and supports over two million users.
So, if serverless is the engineer’s dream, why isn’t everyone doing it? The main reason is that it is a relatively challenging concept to understand, so organisations are finding it difficult to navigate when or where to start their journey to serverless.
In this article, we provide a short overview of serverless computing and how it can bring value to your business.
Serverless is a relatively new computing concept. It made its first appearance through Google’s App Engine in 2008, but it wasn’t until 2014 when Amazon released AWS Lambda that it started to grow in popularity. The name itself can be misleading, as serverless technology does consist of servers powering the underlying services.
Serverless is essentially the next step in the evolution of computing. We started with physical servers - a single machine with a single operating system hosting many applications. Then came virtualisation, which gave organisations the ability to run multiple virtual instances on the same physical server and paved the way to pool-shared resources. This was followed by cloud computing, which brought true elastic scaling, and then containersation, which made portability a reality. In every step of the evolution, the biggest change is the level of abstraction - it increases every time. With serverless, we are now at peak abstraction.
The value of more abstraction
Having your servers completely abstracted from the user leads to multiple business benefits. The biggest benefit is that it’s cost-efficient – you only pay for what you use – and you no longer need dormant servers ready for peaks or to prepare for growth. The greatest value comes from freeing your developers to focus on code. Serverless requires less management overhead and admin, so they’ll have more time to focus on progressive projects.
Serverless is ideal for unpredictable workloads and apps that are rapidly changing because it is cheap to run and you don’t waste costs on unused tech. It is also effective when you need to scale at pace because the cloud provider manages all scaling capability behind the scenes. It allows you to scale up rapidly and without limits, enabling you to launch and get value from new services faster.
As serverless requires less in-house management and on-site tech, it’s easy to simplify your architecture. This not only allows you to optimise your workloads and free resource time, but a large amount of the security capability is also managed, therefore taking the burden off the inhouse team. The cloud provider is fully responsible for ensuring that the underlying infrastructure is constantly patched and protected against the latest vulnerabilities. They have large teams of people that specialise in this and are much more experienced than the typical organisation. Furthermore, serverless functions themselves are ephemeral by nature and only live as long as required to execute their code, which in itself makes it a difficult attack vector. There still needs to be a strong emphasis on writing secure code and having the tooling in place to continuously monitor it.
Serverless is transforming how organisations work
Startups brought a lot of disruption to the industry, and many organisations are still playing catchup and focusing on the approaches that made startups so successful. One of the biggest learnings that has changed how organisations work is learning to fail fast. Gone are the days of extensive planning and huge launches – it is now all about getting services into the hands of the users fast to enable them to learn and iterate. The most important element of serverless is how it’s enabling organisations to do just that. It is empowering organisations to implement the test and learn approach to see how users interact with the service and iterate quickly when it doesn’t work.
In a nutshell
Serverless is the next step in computing evolution, so those that harness its potential today will be able to launch new services faster than their competitors and grow their business in a more cost-effective way.