Historically, virtual machines have dominated cloud computing. These virtual machines are basically software that emulates a physical computer server — a level of abstraction that makes it easy to quickly add and remove computing capacity, especially in the cloud.
But there's a better way to do computing, says Microsoft Azure CTO Mark Russinovich, and it's called serverless computing.
"We don't want customers to stay out of the best way to do compute, and serverless is the best way to do compute," Russinovich told Business Insider in a recent interview.
Contrary to what its name suggests, serverless does require servers — it's just a different way of thinking about them.
Under the more traditional model, the user still has to manage and maintain a fleet of virtual machines to run their software, whether that's in the cloud or their own data center (or both).
Serverless means that users don't have to worry about that: Their cloud provider does the hard work of managing the servers, automatically running the code in the most efficient way it can, at the very moment it's needed. In other words, developers don't have to worry about the server infrastructure, because it's handled for them.
Right now, all three of the major clouds — Amazon Web Services, Microsoft Azure, and Google Cloud — support serverless computing with their own products and services. However, as Russinovich notes, there was a cost barrier: He says that while serverless computing worked for smaller apps, virtual machines were better at large scales.
To fix that and bring more people into serverless computing, Microsoft changed the pricing model for running serverless on its Azure cloud about five months ago. The costs of these serverless containers, known as Azure Container Instances, were cut between 30 to 50%, Russinovich said.
Russinovich called this new pricing model "microbilling," as customers just pay for the computing resources they use, as opposed to virtual machines, where customers are charged based on how long they're active.
'It takes time for that to start to build out'
Just in May, Microsoft unveiled two new serverless products, both of which are built on Kubernetes, an open source cloud project that was created by Google engineers to run massive applications.
Microsoft launched Kubernetes-based event-driven autoscaling (KEDA), which allows developers to automatically scale their applications in response to what's happening in the system. For example, KEDA can summon more memory and compute power to handle an increased load of data coming in.
Microsoft also made virtual nodes in Azure Kubernetes Service generally available. This allows users to scale applications using special types of containers that are cloud-based and serverless, running directly on Azure. This means that developers don't have to worry about maintaining or updating these containers.
Still, Russinovich expects customers to take a while to move to serverless computing in earnest, since most legacy software still runs on virtual machines.
"I think in creating new things, it takes time for that to start to build out," Russinovich said.