Sviluppare applicazioni e servizi con i container: una guida per superare la complessità

Home PA Digitale Servizi Digitali Sviluppare applicazioni e servizi con i container: una guida per superare la complessità

L’utilizzo della tecnologia container cambia anche nella PA il modo di progettare, sviluppare, distribuire e gestire le applicazioni. È una scelta che risponde, insieme alla transizione al cloud e alla metodologia DevOps, alle esigenze di una maggiore velocità, agilità, flessibilità e sicurezza nella creazione e gestione dei servizi digitali. La piattaforma open source Kubernetes svolge il ruolo di orchestratore di container, eliminando molti dei processi manuali coinvolti nella distribuzione (deployment) delle applicazioni containerizzate. Ma come ottimizzare la gestione dell’intera infrastruttura? In questa guida, SUSE fornisce indicazioni concrete su come utilizzare al meglio Kubernetes grazie alla piattaforma open source Rancher

28 Aprile 2022

F

Redazione FPA

Photo by CHUTTERSNAP on Unsplash

Una delle sfide principali per la PA è rendere veloce ed efficiente la creazione e l’erogazione di servizi digitali per rispondere alle aspettative dei cittadini e delle imprese. Diventa dunque fondamentale anche nel mondo pubblico il ricorso a metodologie e strumenti che, nel privato, si sono rivelati strategici per lo sviluppo e l’implementazione in tempi rapidi delle nuove applicazioni. Alcune fra le Amministrazioni Pubbliche più avanzate stanno già sperimentando, ad esempio, una metodologia di sviluppo come DevOps1 che stimola l’innovazione e aumenta la produttività. Altrettanto importanti sono il tempo di deployment, ossia il tempo che intercorre fra la produzione del prodotto digitale e la possibilità di utilizzo per gli utenti finali. Ecco che qui si inserisce il ricorso ai container: un container si presenta come un’applicazione software che contiene e porta con sé tutto quanto serve per la sua esecuzione, consentendo di gestire il processo coinvolto in modo indipendente dal resto dell’infrastruttura dei servizi. Ne consegue un grande vantaggio in termini di portabilità e standardizzazione. La PA, come già accaduto per le organizzazioni private, si troverà però a far fronte a una complessità: dover gestire cluster estesi di container in ambienti misti, on premise, ibridi, cloud pubblico singolo, multi-cloud, multi-provider. 

Semplificare la gestione dei container: la piattaforma Kubernetes 

In questo contesto svolge un ruolo fondamentale una piattaforma open source come Kubernetes, diventato uno standard di fatto, che svolge il ruolo di orchestratore, andando ad automatizzare le operazioni necessarie per attivare i container ed eliminando così molti dei processi manuali coinvolti nel deployment delle applicazioni containerizzate. Kubernetes, considerato il punto di svolta verso una nuova era di portabilità delle applicazioni, consente di gestire in modo semplice ed efficiente i cluster eseguiti su cloud pubblici, privati o ibridi. La piattaforma si presenta come lo strumento ideale per la gestione di cluster di container, eseguendo quelli giusti al momento giusto, ridimensionandoli in base al carico, supportando la gestione degli errori dell’hardware o dei container stessi, gestendo networking e storage. 

Alcune situazioni tipiche che potrebbero presentarsi ai team DevOps sono: 

  • deployment della stessa applicazione su diversi cloud pubblici; 
  • deployment di diverse porzioni di applicazioni su cloud diversi; 
  • deployment su un cloud privato. 

L’esperienza evidenzia che team DevOps si trovano inoltre a dover decidere dove eseguire Kubernetes, avendo di fronte almeno tre diverse possibilità: ricorrere a un hosting provider Kubernetes; attraverso l’installazione, l’esecuzione e la gestione su una piattaforma IaaS; oppure su un’infrastruttura già presente. Le diverse opzioni, soprattutto le ultime due, presentano diversi gradi di difficoltà che richiederebbero soluzioni capaci di sollevare i team da una serie di incombenze. 

Una piattaforma completa per la gestione dei container, come Rancher, può rappresentare un punto di partenza fondamentale per tutti i tipi di installazioni Kubernetes e migliorare l’esperienza nell’impiego dei container. Caratteristiche interessanti sono, ad esempio, la sua capacità di integrazione nelle diverse infrastrutture di gestione, come di Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) e Azure Kubernetes Service (AKS) e di offrire il pieno controllo delle risorse cloud con un’unica interfaccia. Fornisce inoltre un set completo di strumenti necessari per gestire tutti gli aspetti del ciclo di vita delle applicazioni sulla piattaforma. 

Una Guida a Kubernetes con Rancher  

Per saperne di più e fare chiarezza su sfide e soluzioni per l’implementazione di Kubernetes su cluster singoli e multipli, SUSE mette a disposizione una guida, che spiega in che modo Rancher già collabori con migliaia di utenti. Con più di 37mila deployment attivi, Rancher è la piattaforma di gestione Kubernetes più diffusa al mondo ed è stata riconosciuta leader nell’ultimo report Forrester New Wave (eventuale link). La piattaforma open source è il prodotto di punta di Rancher Labs, società di software open source creata nel 2014 (e acquisita da SUSE nel 2020) per fornire gli strumenti necessari per trarre il massimo vantaggio dalla tecnologia dei container. 

Nella guida sono presenti informazioni sul percorso verso la distribuzione di container su larga scala e sui requisiti chiave per la gestione multi-cluster. Vengono fornite indicazioni concrete su come iniziare a utilizzare Kubernetes con Rancher.  

È possibile scaricare gratuitamente la Guida a Kubernetes con Rancher.

Questo l’indice della Guida: 

  • Introduzione, con presentazione del contesto 
  • Chi è Rancher Labs? 
  • Collaborare con Rancher nel vostro viaggio con Kubernetes 
  • Un futuro multi-cluster per le applicazioni cloud 
  • Scenari in cui Rancher può essere utile 
  • Iniziare il vostro viaggio con Kubernetes 
  • Risorse Rancher per iniziare 

1 Il termine DevOps nasce dalla contrazione delle parole Development (sviluppo) e Operation (messa in produzione) e presuppone una metodologia di sviluppo del software che si basa sul lavoro di team di sviluppo interfunzionali, quindi sulla comunicazione e collaborazione tra sviluppatori e addetti alle operation dell’IT. 

Su questo argomento

INPS: un nuovo portale amico dei cittadini