The Strategy Behind Amazon’s Aggressive Serverless Push – Forbes
Amazon seems to believe in the principle of disrupting its own business before someone else does. After launching various services such as Trusted Advisor that help customers save millions of dollars, it is in the process of pushing a new paradigm that has the potential to become an alternative it to its cash cow – Amazon EC2.
For any cloud provider, compute, and storage, are the essential drivers of the revenue. Virtual machines are responsible for delivering the compute service in the cloud. When enterprises move complex workloads to the cloud, they will start spinning up beefy virtual machines which directly contribute to the bottom line. That’s one of the reasons why Amazon, Microsoft, and Google keep introducing powerful VM types.
With the rise of Docker, the focus has shifted to container images as the fundamental unit of deployment. Though containers run inside a VM, they are becoming the preferred mechanism to expose compute to outside world. Containers as a Service (CaaS) delivers an aggregate pool of resources by abstracting the underlying VMs. Today, many cloud providers offer VMs and container environments as the compute service to customers.
Amazon’s approach to computing is moving in a different direction. While continuing its investments in VMs and containers, the company is aggressively pushing the agenda of serverless computing. AWS Lambda, which was announced a couple of years ago at the re:Invent event is the serverless computing layer from Amazon. Since its launch, the service has matured with the addition of languages, capabilities, tooling, and the integration with other AWS services.
Though there were many announcements from Amazon’s annual user conference, AWS re:Invent 2016, the updates related to AWS Lambda caught the attention of developers and customers. Amazon is taking Lambda to places which no one ever expected.
Here is a quick summary of Lambda related announcements from re:Invent:
- Lambda supports C#
- Lambda comes to IoT devices and hubs
- Lambda is embedded in Snowball
- Lambda integrates with CloudFront
- Lambda supports tracing through X-Ray
- Step Functions bring orchestration to Lambda
By adding C# support to Lambda, Amazon wants to attract those Microsoft shops with massive investments in .NET. It exploited the opportunity that came in the form of open source .NET called .NET Core. Non-Windows developers using Linux and macOS will also be able to develop serverless applications on Lambda. AWS has created tools that integrate with open source .NET to easily develop and deploy Lambda functions from the command line. I think this is one of smartest moves by Amazon to beat Microsoft on its home turf.
Apart from embedding .NET Core, it also built a set of tools for Visual Studio which make the process of deploying C# functions to Lambda incredibly simple. It was not a coincidence that Microsoft announced Visual Studio tooling for Azure Functions, the AWS Lambda competitor on Microsoft’s public cloud, on the same day as re:Invent.