Pubblicare un'app ASP.NET Core con Azure Container Registry

di Andrea Tosato, in Azure Container Registry,

La distribuzione di un applicativo è una delle fasi più delicate sulle quali dobbiamo scontrarci ogni giorno. Il codice sorgente delle nostre applicazioni può essere distribuito grazie a docker che le ospita in unità isolate.

Simile a un contenitore per le spedizioni, il container software è una unità che si comporta indipendente dall'ambiente in cui viene ospitata. Ciò che viene conservato nel container può essere trasportato in differenti ambienti senza nessuna alterazione del contenuto. I contenitori isolano l'applicazione uno dall'altro e condividono il kernel del sistema operativo con la macchina ospitante. Poiché i container condividono lo stesso kernel (Linux o Windows), essi sono significativamente più leggeri rispetto all'utilizzo delle virtual machines.

Tipologie di container

Quando si eseguono dei conteiner, l'isolamento con il sistema ospitante non è più netto come per le virtual machines. In questo caso Microsoft offre una ulteriore scelta, ospitare i container in una macchina virtualizzata attraverso Hyper-V. Nel caso di container ospitati direttamente nel sistema operativo della macchina host, ogni contenitore viene eseguito in un processo isolato mentre, nel caso dell'isolamento con Hyper-V, ogni container viene ospitato in una virtual machine Linux creata da docker, la mostreremo nel prossimo capitolo. I contenitori ospitati in Hyper-V sono sicuramente meno leggeri di quelli ospitati nell'host ma di gran lunga più snelli di una classica virtual machine.

Con un approccio orientato al contenitore, è possibile eliminare la maggior parte dei problemi che sorgono quando si effettua la messa a punto di un nuovo ambiente e dai problemi che sorgono successivamente. Ad esempio la configurazione del sistema, l'installazione dei framework, gli update delle macchine virtuali etc. Lo scopo è quello di eliminare gli errori ripetitivi durante il setup o l'aggiornamento di un ambiente. Un altro importante vantaggio è la scalabilità istantanea sotto forma di duplicazione di un container. Istanziare un nuovo container dovrebbe essere paragonato all'istanza di un nuovo processo, come applicazioni web o servizi. In breve, i principali vantaggi offerti da container sono isolamento, mobilità, agilità, scalabilità e controllo attraverso l'intero flusso di lavoro del ciclo di vita. Ma il vantaggio più importante è l'isolamento tra gli sviluppatori (dev) e gli operativi (ops).

Nell'articolo descriveremo i passaggi che ci consentiranno di rilasciare la nostra prima applicazione ASP.NET Core nel servizio App Service disponibile su Azure. Azure supporta diverse tipologia di hosting via container, nei prossimi paragrafi approfondiremo Azure Container Registry che viene utilizzato come container predefinito dalla pubblicazione di Visual Studio 2017.

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc