Microsoft launches Radius, an open-source application platform for the cloud-native era
Microsoft today announced the launch of Radius, a new open-source, language-agnostic application platform for building and running cloud-native applications. The project is being spun out of the Microsoft Azure Incubation team, the same group that previously launched open-source projects like Dapr for building microservices, the KEDA event-driven autoscaling solution, and Copacetic, a security tool for patching container image vulnerabilities. Dapr and KEDA are already part of the Cloud Native Computing Foundation‘s (CNCF) stable of projects and Microsoft recently submitted Copacetic as well. It’s no surprise then that the company also plans to submit Radius for inclusion in the CNCF within the next six months.
With Radius, developers will be able to deploy applications to private clouds, Microsoft’s own Azure and Amazon’s AWS, with support for Google Cloud coming soon. The overall idea here is that while Kubernetes has made it easier to build applications that can — at least in theory — run anywhere, those applications have become increasingly complex, making it harder to manage them. Ideally, an application platform abstracts all of this away and lets developers focus on writing their applications.
We’ve seen other application platforms in the past that tried to abstract all the infrastructure away from developers, including the Cloud Foundry project and commercial services built around it like VMware’s Tanzu Application Service. But as Azure CTO and Microsoft technical fellow Mark Russinovich told me, Radius is taking a decidedly different approach to solving this problem.
“One of the things that we’re doing that is different is that we want Radius to support all types of applications, and not just be vertically opinionated about an architecture of an application or only support a certain pattern of applications — like 12-factor — or require that apps themselves are written a certain way. Radius itself is unopinionated about the way the app is written and it’s flexible enough to support your two-tier and three-tier applications, which there are a ton of them still being built in the enterprise. They’re containerized now but they’re still that architecture. And it’s also able to support complex microservice-based applications with a dozen or two dozen microservices.”
He also noted that rival platforms are very focused on describing the relationship between the compute tiers of the application or microservices, but they often leave the other cloud resources that make up modern applications as an external concern. “The goal with Radius was that, as a developer, I can just fully describe my app — not just the compute parts but the resources that they use, like, hey, there’s PubSub between this front end and this back end. And there’s a state store sitting here off of this microservice — and whatever resource out of all the cloud resources can be described this way. So a complete application graph is what you end up getting. And you’re motivated as a developer to leverage Radius to describe those relationships because it does a lot of work for you under the hood.”
Microsoft notes that it designed Radius to meet developers where they are. It doesn’t try to completely reinvent the infrastructure-as-a-code concept, for example, and instead leverages existing tools like Terraform (or maybe OpenTofu as long as it remains compatible) and Bicep. It also integrates with CI/CD services like GitHub Actions.
At the heart of Radius is also a universal control plane, which, it turns out, is based on the Azure Resource Manager deployment engine — the same deployment orchestrator the company uses in Azure to manage the deployments of applications there. The company will open source this resource manager within the next six months, Russinovich tells me. He also noted that Bicep, the domain-specific infrastructure-as-code language that sits on top of the deployment engine, is already open source.
Microsoft also already partnered with Comcast and Portuguese bank Millennium BCP to enable Radius to work on any cloud.
In many ways, Microsoft is using the same overall playbook for Radius as it did for Dapr distributed application runtime. It’s launching the service as an open-source project and is putting it under the governance of the CNCF. Dapr then also spawned some commercial activity around the project, including from companies like Diagrid. We will likely see a similar trajectory for Radius — assuming it gains enough traction — and maybe Azure itself may one day offer a Radius-based application platform, too.