The dream of serverless is to enable companies to focus on making their application work, rather than getting tied up with managing infrastructure. Serverless is actually a misnomer: there are still servers, but your cloud provider runs them and dynamically manages the allocation of machine resources. The idea is that a company then only needs to focus on its apps, not its infrastructure.
One question that gets asked frequently is which companies are best suited to serverless, in terms of the benefits they will see? However, determining success is actually less about the type of organisation that should consider serverless and more about the type of computing that is best used for serverless and whether your organisation needs it.
If serverless is right for your organisation, these are the top three benefits you can expect to realise:
1. Faster, easier innovation
Freed from having to buy, scale, and secure infrastructure to run your app, serverless lets you put more focus into the app itself. But it’s important to define what we mean by serverless, as there are three types of things that make it up:
• Serverless functions such as AWS Lambda
• Serverless non-compute cloud services such as data store (S3, DynamoDB) and other tooling (SQS, SNS, SMS, Route453)
• Full serverless computation
Full serverless computation is the ultimate desire of the serverless world and where the greatest benefits will be. This entails running your full application on an infrastructure that supports it without having to know how the underlying servers are set up.
True serverless computation such as serverless container orchestration and mesh management will be a game changer in the ability to move up the value chain in infrastructure management. This will allow companies to focus more energy on making their application work than on making the infrastructure the application runs on working. This will be important moving forward to allow companies to innovate faster and easier.
2. Instant scaling
A key purpose of serverless is to achieve scale, without having to configure for scale - it’s much more nimble than traditional cloud server-based scaling.
Lambda is really good for scaling short-run, short-duration tasks to any size or scale that you want. Whether that’s a hundred events you want to process or a billion events, it doesn't matter- you can just make it work. It's not really designed or optimised for long running tasks. There are people who try and use it for that, but they tend to have limited success, and when they do have success they find that it's often very expensive.
One of our clients in the sports industry is a great example of an older company that’s made use of Lambda to modernise. This organisation originally built its applications on-premise. They used more traditional monolithic servers running large applications, and the big problem with that is scaling.
Recently, they’ve rewritten and expanded many of their apps and made extensive use of Lambda. Specifically, they've used it for a lot of things that make sense for Lambda, such as event-generation operations. For example, when a play is executed on the field, a data object is created for the play that occurs, and that data object is sent and processed by the servers.
3. Easier access validation
Serverless is ideal for short, independent tasks of high volume, such as giving customers access to a specific resource. For example, consider a mobile game that has a high score list. Whoever is using that mobile game has to access some back-server system to look up data like where the high scores are. Oftentimes, you have no idea how many mobile applications are being used at any given point of time, and each time one of those apps is used it's requesting a series of things to occur of short jobs to execute on the back end.
A good example of this is the mobile game Pokémon Go. The development team had no idea how successful it was going to be, but it turned out to be an instant hit. Fortunately, they were able to scale and handle that load very effectively because they intentionally built the back end so that it could scale quickly. Technologies like Lambda are ideal of this.
The promise of serverless is to allow organisations to focus on their application and not worry about infrastructure. This includes buying, scaling, and securing infrastructure to run their applications. We are not there yet but we’re headed that way. Eventually, serverless will be expanded to make it easier for all types of computational loads to be serverless.
Lee Atchison is senior director, strategic architecture at New Relic. He has designed and led the building of the New Relic platform and infrastructure products, and helped architect a solid service-based architecture that scales as New Relic has grown from a simple SaaS startup to a high-traffic public enterprise.