A new report from Datadog reveals that serverless computing could be entering the mainstream. This has already been the case in my world for the past few years. Results show that more than half of all organizations are using serverless on one of the three major public cloud providers: Amazon, Microsoft, and Google.
This is a bit different than just two years ago when most serverless development occurred on a single cloud provider in 2020. Now, all three of the big companies are enjoying explosive growth of serverless.
This means that serverless is now considered more of an “open” concept, much like containers. Support across cloud providers removes some of the fears that serverless development leads to lock-in. Lock-in can still occur, however, if you’re consistently leveraging features and services that you can’t find on other cloud platforms.
The survey also found that most are using serverless technology in conjunction with containers. Most consider the technologies complementary, considering that serverless removes the self-provisioning problem by providing automated resource deployment. Those using containers are not also attempting to provision the exact number of resources they will need, such as storage and compute. Serverless does that automatically, meaning one less thing to think about when designing and deploying a cloud-based and container-based system where resources are often overprovisioned.
The report found that 20% of AWS Lambda users were deploying Lambda functions via containers in January 2022. A year earlier, 0% of Lambda users had Lambda/containers deployment in January 2021. That’s a huge jump.
So, is this good news, or bad?
The good news is that containers, while providing a powerful development and deployment platform for new or existing applications, also add another level of complexity. This leads to the “container tax,” which I’ve been pointing out for years, meaning it’s generally going to cost you at least 20% more money and/or time to build solutions using containers instead of more traditional methods.
Serverless computing should bring this tax down a bit, considering that we’re no longer dealing directly with resource provisioning, which is done automatically. That, combined with the fact that container development is becoming more streamlined and automated, should mean that the number of reasons not to leverage containers, such as the additional cost, should be reduced but not yet eliminated.
If there is bad news, it could be that many will leave too much of the resource management to serverless automation than they should, although dynamic applications benefit from serverless computing the most. Serverless systems can add and remove resources through automated processes that no human can match, considering the unpredictability of some applications in terms of resource consumption.
However, many applications are very predictable and can leverage a static number of resources. Compared to leaving the resource provisioning to serverless automation, you could end up leaving money on the table if you're not using some discounted services, such as reserved instances. With cloud usage and cost exploding, a mere 20% savings a month could add up to hundreds of thousands of dollars a year.
That’s really still the headline here: Containers and serverless computing will continue to explode as they work better together. Overall, that’s a good thing.