Ora che hai compreso i container, ampliamo le tue conoscenze e parliamo di come usarli in un cloud ibrido moderno su un'architettura multi-cloud. Ma prima, vediamo rapidamente una tipica architettura di sistemi distribuiti on-premise, ovvero il modo in cui le aziende soddisfacevano le loro esigenze di calcolo prima del cloud computing. Come forse sai, la maggior parte delle applicazioni delle grandi aziende sono sistemi distribuiti che suddividono il carico di lavoro di elaborazione necessario per i servizi tra due o più servizi di rete. Negli ultimi anni, i container sono diventati un modo comune di suddividere questi carichi di lavoro in microservizi, per poterli gestire ed espandere in modo più semplice. In passato, questi sistemi aziendali e i loro carichi di lavoro, containerizzati o meno, erano ospitati on-premise, cioè su una serie di server ad alta capacità che venivano eseguiti nella rete aziendale o all'interno di un data center di proprietà dell'azienda. Quando le necessità di un'applicazione superano le risorse disponibili, un'azienda che usa sistemi on-premise deve adottare server più potenti, installarli sulla rete aziendale dopo eventuali modifiche o espansioni della rete, configurare i nuovi server e infine caricare l'applicazione e le sue dipendenze sui nuovi server prima di risolvere i colli di bottiglia delle risorse. Il tempo necessario per un upgrade on-premise di questo tipo può andare da svariati mesi a uno o più anni. Può anche essere piuttosto costoso, soprattutto se si considera che il ciclo di vita utile di un server medio va dai tre ai cinque anni. Ma se hai bisogno di più potenza di elaborazione ora e non tra mesi? E se la tua azienda vuole cominciare a trasferire il carico di lavoro on-premise nel cloud, per usufruire di costi più bassi e maggiore disponibilità ma non può o non vuole spostare l'applicazione aziendale dalla rete on-premise? Se vuoi utilizzare i prodotti e i servizi specializzati disponibili nel cloud? In questi casi può essere utile un'architettura moderna ibrida o multi-cloud, che consente di mantenere parti dell'infrastruttura di sistemi on-premise spostando altre parti nel cloud, creando un ambiente su misura per le esigenze della tua azienda. Puoi spostare carichi di lavoro specifici nel cloud con i tuoi tempi perché non occorre una migrazione completa. Sfrutta la flessibilità, la scalabilità e i costi di elaborazione ridotti offerti dai servizi cloud per l'esecuzione dei carichi di lavoro che vuoi trasferire. Aggiungi machine learning, memorizzazione dei contenuti nella cache, analisi dei dati, spazio di archiviazione a lungo termine e IoT al tuo toolkit di risorse di elaborazione. Probabilmente di recente hai sentito parlare dell'adozione di un'architettura ibrida per il supporto di sistemi e servizi distribuiti. Magari hai anche sentito parlare della risposta di Google ai sistemi distribuiti, moderni, ibridi e multi-cloud e alla gestione dei servizi, chiamata Anthos. Ma che cos'è Anthos? Anthos è una soluzione ibrida e multi-cloud basata sulle innovazioni più recenti nei sistemi distribuiti e software per la gestione dei servizi di Google. Il framework Anthos si basa su Kubernetes, e su Google Kubernetes Engine con deployment on-premise, che costituisce la base per un'architettura totalmente integrata con la gestione centralizzata tramite un piano di controllo che supporta la distribuzione di applicazioni basata su criteri in ambienti ibridi e multi-cloud. Inoltre Anthos offre una serie di strumenti per il monitoraggio e la manutenzione della coerenza delle applicazioni in tutta la tua rete, on-premise, nel cloud o in più cloud. Vediamo meglio questo framework mentre creiamo uno stack di infrastruttura ibrida e moderna. Innanzitutto vediamo Google Kubernetes Engine sul lato cloud della rete ibrida. Google Kubernetes Engine è un ambiente gestito per l'implementazione di applicazioni containerizzate. Funziona perfettamente con l'alta disponibilità e uno SLA, esegue Kubernetes certificato, garantendo la portabilità su cloud e on-premise, include riparazione dei nodi, scalabilità e upgrade automatici, utilizza cluster regionali per l'alta disponibilità con più master, e applicazioni di archiviazione dei nodi in più zone. A ottobre 2019 il numero di zone era tre. La sua controparte sul lato on-premise di una rete ibrida è Google Kubernetes Engine con deployment on-premise. GKE con deployment on-premise è una versione per la produzione di Kubernetes pronta all'uso con una configurazione basata su best practice già preinstallata, che fornisce un pod con upgrade semplificato per le release più recenti di Kubernetes convalidato e testato da Google. Offre accesso ai servizi per container sulla piattaforma Google Cloud, tra cui Cloud Build, Container Registry, Audit Logging e altri ancora. Inoltre si integra con Istio, Knative e Marketplace Solutions, garantisce una versione e un'esperienza coerente di Kubernetes negli ambienti cloud e on-premise. Come accennato, sia Google Kubernetes Engine nel cloud che Google Kubernetes Engine con deployment on-premise si integrano con Marketplace, in modo che tutti i cluster nella tua rete, sia on-premise che nel cloud, abbiano accesso allo stesso repository di applicazioni containerizzate. In questo modo puoi usare le stesse configurazioni su entrambi i lati della rete, riducendo il tempo dedicato allo sviluppo delle applicazioni. Puoi sviluppare una volta e replicare ovunque mantenendo la conformità tra i tuoi cluster. Le applicazioni aziendali usano centinaia di microservizi per gestire l'elaborazione. Tenere traccia di tutti questi servizi e monitorarne lo stato può diventare problematico in breve tempo. Anthos e il servizio open source Istio evitano di dover fare congetture sulla gestione e sulla protezione dei tuoi microservizi. Questi livelli di mesh di servizi comunicano in tutta la rete ibrida mediante Cloud Interconnect, come illustrato, per sincronizzare e trasmettere i loro dati. Stackdriver è la soluzione integrata di logging e monitoraggio per Google Cloud. Stackdriver offre una soluzione completamente gestita di logging, raccolta di matrici, monitoraggio, creazione di dashboard e avvisi che controlla tutti i lati della tua rete ibrida multi-cloud. Stackdriver è ideale per clienti che vogliono un'unica soluzione di osservabilità potente, facile da configurare e basata su cloud e che offra anche una dashboard centralizzata per il monitoraggio di tutti gli ambienti. Infine, Anthos Configuration Management offre un'unica fonte di root per la configurazione dei cluster. Questa fonte di root viene conservata nel repository dei criteri, una soluzione ottimale. In questa illustrazione, questo repository si trova on-premise, ma può essere ospitato anche nel cloud. Gli agenti di Anthos Configuration Management usano il repository di criteri per applicare le configurazioni a ogni ambiente gestendo la complessità della proprietà dei cluster nei vari ambienti. La gestione della configurazione di Anthos offre ad amministratori e sviluppatori la possibilità di apportare modifiche al codice con un solo comando per il repository e di implementare l'eredità della configurazione mediante gli spazi dei nomi. Se vuoi ulteriori informazioni su Anthos, ecco alcune risorse per iniziare.