Monterrey, California: At the Linux Foundation Members Summit, Microsoft Azure‘s CTO, Mark Russinovich, unveiled a groundbreaking open-source project, Radius. This cloud-native, application platform will enable developers and operators to define, deploy, and collaborate on cloud-native applications across public clouds and private infrastructure.
First things first, if you’re a serious enterprise user, you might be thinking: “That’s not RADIUS!” You’re right. It’s not. The Remote Authentication Dial-In User Service (RADIUS) protocol is commonly used in Microsoft software stacks to deliver remote and cloud Active Directory (AD) services. The cloud-native Radius has nothing to do with RADIUS.
The new Radius aims to simplify the development, management, and operational hurdles in cloud-native computing’s complex landscape. As Russionvitch said, “Cloud native technologies like Kubernetes have made building applications that can run anywhere easier.” Indeed, as I’ve argued myself, Kubernetes is the foundation for hybrid clouds.
But, that’s much easier to say than to do. You may have noticed it’s not simple at all to write an application that will run the same on Azure and, say, Amazon Web Services (AWS).
As Russinovich explained, “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.” You can say that again!
So, as “developers 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,” Microsoft has introduced Radius to give them the additional tools.
Russinovich added, “Radius meets application teams where they live by supporting not just Kubernetes, but other popular infrastructure tools such as Terraform and Bicep, and by integrating with existing continuous integration and continuous delivery (CI/CD) systems such as GitHub Actions. Radius also supports multi-tier web-plus-data to complex microservice applications like eShop, a popular Microsoft microservices cloud reference application.”
But, and this is the important bit, even though he mostly mentioned Microsoft and GitHub development tools, Radius is not an Azure-only program. It’s meant to work over any cloud that uses Kubernetes. These days, that essentially means all clouds.
He also noted that the modern shift from conventional two or three-tier service-oriented architecture (SOA) applications we learned in college or on our own to microservices and cloud-native-based applications is presenting us with new challenges around monitoring, management, and continuous updating. We’re a long way from the bygone era of waterfall software development.
Russinovich added that troubleshooting is notably tougher with the intertwined systems within applications. Furthermore, the enforcement of best practices within these applications remains a struggle for many developers.
So, it can be done, but the process of creating and deploying applications has become a convoluted exercise. Russiovich explained that today, our code is “tied together with baling wire and duct tape using Bash and PowerShell scripts. And so, creating an application has become just a jury-rigged kind of exercise. Not only that, but once you deploy the application, you can’t see anything about the relationship between the resources. Find the front end here, the back end there, and you just don’t understand what’s going on here.”
Radius is engineered to alleviate these challenges. For example, said Russonvich, “Radius automatically connects those components to their application by taking care of permissions, connection strings, and more.” It also ensures the cloud infrastructure used by applications meets cost, operations, and security requirements.
All these requirements are captured in recipes. These bind an application to its dependent infrastructure, which enables it to provide an application graph. This shows precisely how the application and infrastructure are interconnected. With these, your team can view and intuitively understand what makes up an application.
So, for example, you can have a recipe that calls on a Redis cache, a MongoDB database, and Twilio API communication links. The magic part is you can use a recipe to deploy an application not just to one cloud but to several different clouds at once. So, you can build hybrid or multi-cloud applications much more easily. On Azure, the recipe will call the appropriate Azure resources, on AWS, the AWS resources, and so on.
This isn’t just a good idea. Besides Microsoft, companies such as BlackRock, Comcast, and Millennium BCP are working together to ensure Radius defined and managed applications can run on any cloud.
Want to join in and give it a try? Radius’s code, which is licensed under the Apache license, is ready to modify and run on GitHub. Radius is not ready yet for production workloads, but its promise is great, and I’m eager to see what developers will make of it. This could be a real game changer for anyone developing or using hybrid/multi-cloud software.