Microsoft Unveils 'Radius' Cloud App Platform for Azure (and AWS!)
Microsoft launched an open source application platform called Radius that works with its own Azure cloud -- and that of archrival Amazon Web Services (AWS).
The project's GitHub repo explains: "Radius is a cloud-native application platform that enables developers and the platform engineers that support them to collaborate on delivering and managing cloud-native applications that follow organizational best practices for cost, operations and security, by default."
Developers are largely using Kubernetes to do some of those things when creating and deploying their distributed, cloud-native applications, but it started out as simply a container orchestration tool. Yes, Kubernetes has expanded and evolved to become the closest thing we have to a cloud-based jack-of-all-trades tool, but Microsoft and others believe Kubernetes falls short of what an ideal cloud-native application platform should be in the increasingly complex cloudscape. That complexity includes interconnected microservices, containers and other constructs spread all over multiple public/private clouds, on-premises datacenters, the edge and everywhere else, typically tying in to all kinds of other resources.
In fact, the Radius site starts out with this banner: "Cloud-native applications are more than just Kubernetes."
"While Kubernetes is a key enabler, we see many customers building abstractions over Kubernetes, usually focused on compute, to work around its limitations: Kubernetes has no formal definition of an application, it mingles infrastructure and application concepts and it is overwhelmingly complex," Microsoft said in an Oct. 18 announcement. "Developers also inevitably realize their applications require much more than Kubernetes, including support for dependencies like application programming interface (API) front ends, key-value stores, caches, and observability systems."
And then there are also concerns like corporate standards, compliance and security requirements to worry about.
This first release of Radius focuses on foundational platform features and the project's stated goals of improving the productivity of application development workflows. These include:
- Simplified and consistent application development experience: Deploy to any cloud provider or on-premises using the same application definition, all with a consistent set of tooling and experience. These include capabilities to automate resource access and provisioning, as well as the ability to configure environments that meet the needs of each phase of development.
- Recipes and environments: Standardize and scale deployments with clear separation of concerns between developers and operators. Radius Recipes are pre-definable templates that automate the provisioning of infrastructure resources and environment configurations that can be designed to adhere to cost, security, and compliance standards.
- Application graph: Gain visibility into the resources and relationships that make up an application. Radius captures the relationships between resources in an application as a part of the development activities, which can in turn be queried and understood.
This early edition also supports AWS, fellow cloud giant and key competitor to Microsoft. While it might appear Microsoft is cozying up to Amazon lately (see the Redmond article, "Amazon Signs Up To Be a Billion-Dollar Microsoft 365 Customer: Report"), Microsoft said support for more cloud providers is coming.
In a separate Oct. 18 post that helps explain how Radius enables developer collaboration, Microsoft detailed how users can automate environment configurations and resource provisioning with the aforementioned Recipes.
"Collaboration between developers and operators today requires detailed coordination, resulting in back-and-forth manual processes that slow down development velocity. Most organizations have resorted to building custom pipelines or ticketing systems for infrastructure deployments, but these only ease part of the pain without addressing the core need for manual processes. This is where Radius Recipes adds new value: operators are able to configure IaC templates (Terraform modules and Bicep files) that developers can use for self-service resource provisioning and deployments," Microsoft said.
"Recipes also allow operators to define and enforce corporate policies, such as which cloud resources can be used, how they are configured, and who can deploy them. This means that developers no longer need to worry about the details involved in deploying appropriate infrastructure when building out their applications, allowing them to focus on writing application code."
One example shows how developers can quickly change backing infrastructure for an app without changing app code or making app configuration changes, rather being able to just switch their app definition connections to services like Azure CosmosDB or AWS DocumentDB that have been pre-configured by operators (see graphic above).
That post also explains the benefits of using a graph rather than a list of infrastructure and services.
"Radius introduces an application structure that includes environments, resource groups, and connections, resulting in an application graph that shows precisely how the application and its infrastructure are interconnected, enabling teams that support developers to build views and intuitively understand what makes up an app," Microsoft said.
Users are discussing Radius on Discord and community meetings.
David Ramel is an editor and writer for Converge360.