Radius, a new open-source application platform for cloud-native apps by Microsoft
Kumail Rizvi
Posted on December 17, 2023
""Teaching meant for the hands enters most easily through the eyes.""
Morgan Llywelyn
INTRODUCTION
For developers, the complexity of managing infrastructure and lack of visibility into the resources that make up their applications are major roadblocks for productivity. For operators, the lack of standardization and automation in the deployment process can lead to loss of control over the infrastructure, and degradation of confidence in the applications that are deployed. At the end of the day, development teams are left with a disjointed experience between platforms and cloud providers. Developers and operators alike find themselves struggling to make sense of how their application comes together across disparate sets of tools that provide little more than a list of their deployed artifacts.
The Microsoft Azure Incubations team is excited to announce a new open application platform called Radius that places the application at the center of every stage of development—redefining how applications are built, managed, and understood.Radius is open-source and multi-cloud from the start, allowing for applications that can be written once and, using the same toolset and workflows, deployed to any cloud or on-premises infrastructure. To get started or learn more about Radius, visit radapp.io .
Lets dive deep into understanding what's radius is and what it is capible of , Radius in short can be described as a single tool to describe, deploy, and manage your entire application
What Radius Focus on the most
Focus of Radius:
- Addresses platform engineering challenges in supporting application deployments across on-premises infrastructure and major cloud providers like Microsoft Azure and Amazon Web Services.
Compatibility and Integration:
- Built-in support for popular app development tools like Dapr.
- Integration with infrastructure as code (IaC) languages such as Terraform and Bicep.
- Designed to meet developers and operators at their current workflow, integrating seamlessly into existing development tasks and CI/CD pipelines.
Developer-Friendly Approach:
- Aims to enhance developers' understanding of their applications by managing all components efficiently.
- Takes care of platform configurations, including permissions and connection strings, to simplify developers' tasks.
Non-Disruptive Implementation:
- Designed to fit into existing development tasks and CI/CD pipelines without causing disruption.
- Works alongside developers and operators, streamlining their workflows rather than requiring them to overhaul their processes.
Compliance and Policy Management:
- Enables operators to ensure that all applications are deployed in compliance with organizational policies.
- Offers a centralized solution for managing applications and their resources, providing a comprehensive approach to compliance and policy adherence.
Radius First Release Features
In this first release, the focus is on the features that are most foundational to the Radius platform and its 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.
For More Details check the offical docs https://blog.radapp.io/posts/2023/10/18/introducing-radius-a-new-open-source-application-platform-for-cloud-native-apps/
Setting up Radius
STEP 1: Installation of Radius CLI
For installation of Radius CLI (LINUX/MAC/WINDOWS)
https://docs.radapp.io/installation/#step-1-install-the-rad-cli
Verify the rad CLI is installed correctly by running rad version
.
Example output:
RELEASE VERSION BICEP COMMIT
0.28.0 v0.28 0.11.13 2e60bfb46de73ec5cc70485d53e67f8eaa914ba7
STEP 2: Install the VS Code extension
- To install the Radius Bicep extension, search for Radius Bicep in the Extensions tab in VSCode or in the Visual Studio marketplace
Select Install
To verify you’ve installed the extension, open any file with the .bicep file extension and start authoring Radius application to verify the auto-complete and other validation features.
STEP 3: Initializing Radius
Initializing Radius installs the Radius control-plane and creates a Radius Environment. The control-plane is a set of services that provide the core functionality of Radius, running in the radius-system
namespace.
Create a Kubernetes cluster
Radius runs inside Kubernetes. Create one from the supported k8s clusters
If you don’t have a preferred way to create Kubernetes clusters, you could try using k3d, which runs a minimal Kubernetes distribution in Docker.
Ensure your cluster is set as your current context:
kubectl config current-context
Initialize a new Radius Environment with rad init:
rad init
Select Yes
to setup the app.bicep in the current directory
Initializing Radius...
🕔 Install Radius v0.28
- Kubernetes cluster: kind
- Kubernetes namespace: radius-system
⏳ Create new environment default
- Kubernetes namespace: default
- Recipe pack: local-dev
⏳ Scaffold application
⏳ Update local configuration
Verify the initialization by running:
kubectl get deployments -n radius-system
You should see:
NAME READY UP-TO-DATE AVAILABLE AGE
applications-rp 1/1 1 1 53s
bicep-de 1/1 1 1 53s
controller 1/1 1 1 53s
ucp 1/1 1 1 53s
contour-contour 1/1 1 1 46s
You can also use rad env list to view your environment:
rad env list
We are now done setting up radius on our local machine
In the next part we will check a tutorial of creating an app using radius and its features in deep
Thank you
References
Offical Radius Documentation
Posted on December 17, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
December 17, 2023