Dall'archivio articoli > ASP.NET Core
Docker e ASP.NET Core: portare i nostri siti web su container
- 0
- 0
- 0
Per poter utilizzare questa funzionalità, devi fare il login o iscriverti.
Gestire il ciclo di vita del software in produzione ha rappresentato, da sempre, uno dei nodi cruciali dell'information technology. La sfida più grande è senza dubbio quella di fare in modo che applicazioni diverse riescano a coesistere nello stesso scenario di deploy senza creare conflitti a vicenda. Le Virtual Machine, in questo contesto, sono da considerare come una vera e propria chiave di volta: prima del loro avvento, infatti, l'unico modo per garantire l'isolamento dei vari componenti del nostro software era quello di utilizzare diversi server fisici: il backend web server, il frontend web server, il DB server, e così via.
Grazie alle virtual machine, invece, è stato possibile simulare l'hardware e fare in modo che, all'interno di uno stesso server fisico, potessero coesistere diversi server virtuali, assolutamente isolati tra di loro, ma comunque in grado di comunicare e interagire. Di colpo, in altre parole, aggiornare un componente software o aggiungere un server alla nostra infrastruttura è diventato qualcosa che potevamo realizzare con pochi click.
Purtroppo però, non si tratta di un modello perfetto, e la ragione è in un certo senso sintetizzata dall'immagine in basso:
Ogni Virtual Machine, infatti, ha bisogno di replicare il sistema operativo, cosa che costituisce uno spreco di spazio su disco, di CPU e di memoria. In altre parole, di risorse.
I container rappresentano un concetto molto simile a quello di una virtual machine: sono componenti che possiamo avviare e dismettere, ma che, allo stesso tempo, sono estremamente più leggeri, dato che riducono al massimo le risorse necessarie per la loro esecuzione:
Questo è possibile grazie a un runtime che è in grado di eseguirli in una sandbox del sistema operativo. Ogni sandbox ha il suo proprio process tree, il suo file system, la sua memoria e la sua interfaccia di rete. La differenza rispetto al caso delle virtual machine è che, invece dell'hardware, i container virtualizzano il kernel del sistema operativo, e pertanto sono molto meno esosi di richieste.
In questo panorama, lo standard de-facto per l'esecuzione di container è Docker, un engine open source per l'authoring e l'esecuzione di container, la cui community edition è liberamente scaricabile e utilizzabile anche in scenari di produzione. Esiste anche una versione enterprise che aggiunge servizi particolari, quali hosting, support, certification, per la quale è prevista una tariffa mensile.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.