Radius è una piattaforma rilasciata sotto licenza open source, nello specifico tramite Apache 2.0 license, con la quale la Casa di Redmond ha deciso di superare alcuni limiti presenti in Kubernetes. Vero e proprio standard di fatto per l'orchestrazione dei container Docker. Frutto del lavoro del Microsoft Azure Incubations Team, Radius è stato progettato per la distribuzione di applicazioni tramite lo stesso Azure, il concorrente AWS (Amazon Web Services) e, localmente, sulle infrastrutture on-premise.
Cosa è Radius
Il progetto è stato realizzato in Go che, tra l'altro, è un linguaggio di programmazione open source sviluppato da Google. Nel dettaglio esso si basa sulla UCP (Universal Control Platform) che è un prodotto derivato da ARM. No, non ARM intesa come architettura per i microprocessori (in questo caso avrebbe poco senso) ma come Azure Resource Manager.
Quest'ultimo si presenta come servizio di distribuzione e gestione dell'infrastruttura Cloud di Microsoft. È stato concepito per fornire un livello di gestione con cui creare, aggiornare e rimuovere risorse da un account Azure. Supporta il controllo degli accessi, i tag e i blocchi per la protezione e l'organizzazione delle risorse in fase post deployment. A partire da esso UCP mette a disposizione un'API REST e le route alle risorse di un Cloud provider.
Radius per l'automazione dei task
Come anticipato, l'idea alla base di Radius è quella di semplificare alcune operazioni che risulterebbero più macchinose con Kubernetes. Grazie ad esso gli sviluppatori possono automatizzare determinati processi indicando le risorse che devono essere utilizzate. Fatto questo saranno i provider dei queste ultime a decidere come esse dovranno essere messe a disposizione. La descrizione delle risorse può essere così affidata a strumenti per il provisioning delle infrastrutture come per esempio Terraform.
Le relazioni tra le risorse impiegate e l'applicazione che le utilizza vengono registrate tramite una funzionalità chiamata Application Graph. A differenza di quanto avviene con Kubernetes lo sviluppatore ha a disposizione una definizione formale dell'applicazione.
Un altro vantaggio di Radius, che comunque è ancora in fase embrionale, risiede nel fatto che esso è in tutto e per tutto un tool che permette di operare su più Cloud alla volta. Questo significa che Azure e AWS non sono le uniche infrastrutture di riferimento per il progetto.