Serverless computing lets organizations amplify the benefits of going to cloud. But what is it? And why is it such a significant evolution in cloud adoption?
Serverless is one of the really hot topics in cloud right now. We see more and more organizations thinking about it, experimenting with it, and getting a deeper understanding of how it’s shaping up to be a major paradigm shift in computing.
So what is it? First up, an admission: the name “serverless” can be misleading. Of course, it doesn’t mean you can run applications with no servers. It just means you don’t need to think about them.
In a serverless environment, the cloud provider dynamically manages the infrastructure for your applications – provisioning, scaling, patching, and cleaning up – in a completely automated way. So, by “serverless”, what we really mean is that you, the client, have no servers to manage.
And that’s really significant for how we think about IT architectures. By shifting the infrastructure management over to the cloud provider, you get automated high availability out of the box with zero provisioning time. Your developers have more time to focus on the stuff that really matters – building scalable, reliable, differentiated systems at speed.
It’s also an extremely cost-effective way of enabling microservices. These event-driven, function-centric systems are becoming an ever-more essential capability for playing in today’s digital ecosystems. They enable organizations to break down their monolithic applications into discrete components, each of which can then be developed, scaled, and maintained independently.
So, for instance, a social media application might have one microservice to let a user post an update, another to scan their list of friends for suitable recipients, and a third to send out the push notifications. By using decoupled microservices, the organization creates a set of swappable components that can be replaced or upgraded extremely quickly in response to shifting market needs. That brings a new level of reactive agility to the enterprise.
A key part of this is Functions-as-a-Service (FaaS), which means individual programming functions are run only when called. The really revolutionary thing about FaaS is that you’re only ever charged for the compute time you’re actually using. So rather than paying for a server to sit idle waiting for a request or event to come in, you only pay for the actual cost of computing that function or application when you need it.
Why is that such a big deal for today’s enterprises? Firstly, it creates a much richer and more agile environment for quickly developing highly optimized systems. So you can take services to market that much faster. Secondly, it’s much cheaper, offering big savings by eliminating payments for idle servers. Thirdly, it maximizes resource usage, incentivizing developers to create hyper-efficient applications and enabling a truly cloud-native approach to application design.
So, why go serverless? In the end, it’s for all the same reasons we first went to cloud – faster procurement, high availability, better fault tolerance. Serverless ratchets up all these to the next level. But it also does something more. It opens up easy access to all the complex, modern innovations that are happening in cloud applications on what feels like a daily basis.
For instance, AWS Cloud with AWS Lambda at the core offers one of the most complete and production-ready serverless environments available today. It lets you run code for virtually any type of application or service with no administration. Lambda takes care of scaling your code with high availability and fault tolerance, whether it automatically triggers from other AWS services or directly from any web or mobile app. If you want to innovate at pace, prototyping new products or services and then pivoting quickly in reaction to market response – which, let’s face it, every organization now does – then serverless is becoming a key capability. You might call it the very definition of an innovation-led agile IT architecture.