Microsoft explains its big bet on serverless computing, the next major way that developers are going to write cloud software
- On May 6, Microsoft announced Kubernetes-based event-driven autoscaling (KEDA), which allows software to automatically scale itself up with more resources, as required.
- This is an example of serverless computing - a technology that allows developers to focus more on writing code, and less on managing their infrastructure.
- Mark Russinovich, CTO of Microsoft Azure, explains why serverless is the future of cloud computing, and how the company is trying to make it more accessible to people.
- Visit Business Insider's homepage for more stories.
Microsoft has been working "aggressively" to push serverless computing, a new way of running applications on the cloud.
And for Mark Russinovich, CTO of the Microsoft Azure cloud platform, this is the future - at Microsoft, and in the world at large.
"We strongly believe serverless is the future of cloud native development," Russinovich told Business Insider.
To backtrack a bit: Serverless computing is a technological trend that grown in popularity in recent years.
Despite the name, serverless computing still requires servers. The difference is that, rather than setting up a bunch of servers ahead of time to perform a specific task - image processing, for example - serverless computing allows software to automatically spin up a bunch of servers from the cloud, as needed, and vanish them into the ether when the task is done.
For developers, it means not having to put in the time and effort of managing a lot of server infrastructure - and that you don't have to have systems that sit around idle, costing the developer money, until their specific function is called on. In theory, at least, it means spending less money, and having more time to write code.
This approach is picking up steam. Currently, all three of the major clouds - Amazon Web Services, Microsoft Azure, and Google Cloud - support serverless computing with their own products and services.
And last week, at its Microsoft Build developer conference, Microsoft made some new announcements for serverless, both of which are built on Microsoft's service for Kubernetes; itself an open source cloud project that started in Google and widely used today for running massive applications.
'From code to cloud'
On May 6, Microsoft launched Kubernetes-based event-driven autoscaling (KEDA), in partnership with Red Hat. KEDA allows developers to automatically scale their applications in response to what's happening in the system. For example, if there's a stream of data coming in, KEDA will automatically summon more memory and compute power from the cloud to handle the increased load.
In addition, Microsoft announced the general availability of virtual nodes in Azure Kubernetes Service. This allows users to scale applications using special types of containers that are cloud-based and serverless, running directly on Azure. Thanks to the serverless approach, developers don't have to worry about maintaining or updating these containers.
Gabe Monroy, partner program manager of Microsoft Azure Container Compute, says this is especially important as a way to help developers focus more on their code, without having to learn the fine arts of managing infrastructure, too.
"There's going to be millions more developers who will enter the market," Monroy told Business Insider. "It's Microsoft's job to make sure those developers can ensure their ideas and become productive without having to learn lots of different arcane technologies. The hope is that people can go from code to cloud directly."
A new pricing model
Russinovich says that serverless computing brings a new way of building cloud software, and so it needs a new kind of pricing model.
The predominant model for building cloud software today is by using virtual machines - basically, software that emulate more traditional physical servers, though the actual hardware on which they run exists only in mega-clouds like Microsoft's.
Serverless computing is cost-effective at small scales, he says, but, to date, virtual machines have been considered the cheapest way to build applications in the cloud. These pricing dynamics discouraged many customers from going serverless, he says.
Last month, Microsoft decided to cut the costs of its serverless containers, known as Azure Container Instances (ACI), between 30-50%. Russinovich calls the new pay model "microbilling," where customers just pay for the computing resources they use, while virtual machines are billed based on how long they're active.
"We're removing any financial disincentive from using ACI," Russinovich said. "We want customers to be able to take advantage of serverless instead of being more expensive...How can we remove prices from being a blocker? We did an evaluation of how much is a virtual machine. Let's make sure ACI is approximately the same price."
That being said, Russinovich and Monroy say virtual machines are still here to stay: Most existing software, especially legacy software, are still architected to run on virtual machines. Going forward, the executives say, more and more new software will be built around serverless principles.
"The cloud is all about time to value," Russinovich said. "If you take a look at all we're building, it's about accelerating innovation for customers. The way you do that is letting them focus completely on their business problem and taking as much of the infrastructure and overhead away from them and handling it for them. Serverless is a great example."