Overview: Microsoft Azure resources

Deploy and connect to Azure resources in your application

Radius Applications are able to connect to and leverage every Azure resource with Bicep. Simply model your Azure resources in Bicep and add a connection from your Radius resources. Radius can deploy your application containers to both Azure Kubernetes Service (AKS) or Azure Container Instances (ACI).

Configure an Azure Provider

The Azure provider allows you to deploy and connect to Azure resources from a Radius Environment on any of the supported k8s clusters or Azure Container Instances (ACI). To configure an Azure provider, you can follow the documentation here.

Set up an Azure compute environment

Radius allows you to target the deployment of your application containers to either Azure Kubernetes Service (AKS) or Azure Container Instances (ACI). The underlying compute platform is preconfigured in the Radius Environment, which means that you are able to deploy a Radius application to either AKS or ACI without needing to change the application definition. To learn more, visit the following resources:

  • The Kubernetes operations guide has more information about setting up Radius in an AKS cluster
  • The how-to guide for ACI details how to configure a Radius Environment with ACI as the underlying compute platform and deploy a Radius application to ACI

Resource library

Visit the Microsoft docs to reference every Azure resource and how to represent it in Bicep.

Azure resource library

Example


In the following example, a Container is connecting to an Azure Cache for Redis resource. The Container is assigned the Redis Cache Contributor role:

extension radius

param environment string

@description('The Azure region to deploy Azure resource(s) into. Defaults to the region of the target Azure resource group.')
param location string = resourceGroup().location

resource cache 'Microsoft.Cache/Redis@2019-07-01' = {
  name: 'mycache'
  location: location
  properties: {
    sku: {
      capacity: 0
      family: 'C'
      name: 'Basic'
    }
  }
}

resource app 'Applications.Core/applications@2023-10-01-preview' = {
  name: 'myapp'
  properties: {
    environment: environment
  }
}

resource container 'Applications.Core/containers@2023-10-01-preview' = {
  name: 'mycontainer'
  properties: {
    application: app.id
    container: {
      image: 'myimage'
      env: {
        REDIS_HOST: {
          value: cache.properties.hostName
        }
      }
    }
    connections: {
      redis: {
        iam: {
          kind: 'azure'
          roles: [
            'Redis Cache Contributor'
          ]
        }
        source: cache.id
      }
    }
  }
}