Questo articolo presenta le opzioni di Google Cloud alle organizzazioni che stanno conducendo una valutazione interna del trasferimento di un'applicazione web a due livelli nel cloud ## Tipi di applicazioni Le applicazioni Web a due livelli sono costituite da un server Web che esegue un'applicazione e un database per archiviare i dati dell'applicazione. L'esecuzione di Linux, Apache, MySQL e PHP, comunemente indicato come stack LAMP, è un esempio comune di un'applicazione Web a due livelli. Le variazioni sulla distribuzione Linux, sul software del server Web, sul database o sul linguaggio di programmazione influiscono sui dettagli tecnici di qualsiasi migrazione, ma la panoramica e i passaggi della migrazione sono coerenti ## Fasi di migrazione Le migrazioni al cloud avvengono nelle seguenti quattro fasi Valutazione Identifica tutte le caratteristiche del tuo carico di lavoro, elenca le risorse necessarie per eseguire il tuo carico di lavoro nel cloud e richiama tutte le dipendenze chiave e le connessioni ad altri carichi di lavoro. Utilizzando l'elenco completo delle caratteristiche, puoi quindi iniziare a pianificare quali applicazioni e carichi di lavoro devono essere spostati e in quale ordine Nelle aziende moderne esistono molti tipi diversi di applicazioni, dalle app rivolte ai clienti, alle app di back office, agli strumenti per sviluppatori, alle applicazioni sperimentali. Spostare tutte queste applicazioni contemporaneamente e nello stesso modo sarebbe rischioso e inefficiente Un esempio potrebbe essere l'ordinamento delle applicazioni nei seguenti tre ampi bucket: - Applicazioni facili da spostare. Questi hanno meno dipendenze, sono più recenti, sono scritti internamente quindi non hanno considerazioni sulla licenza e sono più tolleranti al ridimensionamento e al supporto dei modelli di progettazione del cloud - Applicazioni difficili da spostare. Questi hanno più dipendenze, sono meno tolleranti al ridimensionamento, sono difficili da eseguire con i servizi cloud o hanno requisiti di licenza complessi - Applicazioni che non possono essere spostate. Alcune applicazioni che potrebbero non essere buone candidate per la migrazione vengono eseguite su hardware specializzato o meno recente, hanno requisiti aziendali o normativi che ne rendono necessaria la permanenza nel data center o hanno requisiti di licenza complessi che non Ât consentire loro di passare al cloud Questi sono solo alcuni esempi di modi per ordinare le applicazioni. È probabile che le tue applicazioni abbiano molti più fattori decisivi che puoi utilizzare per creare una matrice di priorità di tutte le applicazioni. Da quella classifica, puoi scegliere la tua prima applicazione da spostare e iniziare a pianificare la tua fondazione Google Cloud Fondazione Architetta e pianifica dettagli specifici per implementare il nuovo ambiente cloud. Questi includono: - L'architettura cloud e il modello di sicurezza per fornire una base infrastrutturale per i tuoi carichi di lavoro Risorse di rete per consentire comunicazioni sicure e affidabili tra le applicazioni. Ciò richiede un'ampia pianificazione per Identity and Access Management (IAM), progettazione di Virtual Private Cloud (VPC) e metodi di accesso esterno La tecnologia e gli strumenti finali su cui verranno eseguiti i tuoi carichi di lavoro Contabilità per la gestione delle dipendenze, le tempistiche e i metodi di spostamento dei dati Migrazione Sposta i dati e distribuisci servizi, infrastruttura e codice nella tua destinazione. È necessario utilizzare l'automazione e gli strumenti per supportare queste operazioni Ottimizzazione Verifica se le decisioni e le ipotesi che hai preso nelle fasi di valutazione e fondazione corrispondono alla realtà dopo la fase di migrazione. Identifichi eventuali modifiche di cui potresti aver bisogno. Considera come esplorare altre opzioni cloud-native, come passare dall'infrastruttura distribuita come servizio (IaaS) alla piattaforma distribuita come servizio (PaaS) o sfruttare le offerte di servizi gestiti. A seconda dell'esito della fase di ottimizzazione, potresti ricominciare il ciclo per affrontare cambiamenti o modifiche. Ricomincia sempre dalla fase di valutazione e usa la tua esperienza per diventare più efficiente ad ogni iterazione ## Tipi di migrazioni Le tre strategie di migrazione più comuni per spostare le applicazioni nel cloud sono descritte nelle sezioni seguenti Alza e sposta Utilizzo *solleva e sposta* quando vuoi spostare le applicazioni mentre cambi come il meno possibile nel modo in cui funzionano. Questo funziona meglio per le applicazioni che può essere eseguito senza modifiche all'interno del cloud, quando spostare rapidamente l'applicazione è a priorità o quando l'azienda ha poco appetito o necessità di cambiamento. Questo la migrazione richiede più lavoro da parte del personale infrastrutturale e operativo supportare i cambiamenti fondamentali in cui verrà eseguito il servizio e meno lavoro dagli sviluppatori poiché dovrebbe essere necessario modificare pochissimo codice, se non del tutto Ad esempio, se entrambi i livelli dell'applicazione Web sono ospitati su macchine virtuali, è possibile eseguirne la migrazione così come sono utilizzando la migrazione alle macchine virtuali. Quando queste macchine virtuali si trovano nel cloud, puoi prendere in considerazione l'upgrade a una piattaforma di elaborazione nativa del cloud per ulteriori vantaggi Migliora e muoviti Utilizzo *migliora e sposta* quando vuoi modernizzare la tua applicazione nel formato processo di migrazione al cloud. Questo è comunemente usato quando l'applicazione non è supportato nel cloud così com'è o quando gli aggiornamenti principali nel software o l'hardware è già definito e pianificato. Questa migrazione richiede infrastrutture, operazioni e sviluppatori a lavorare insieme per migliorare la funzione del applicazione nel cloud e consente all'applicazione di trarne vantaggio vantaggi cloud-native come maggiore portabilità, scalabilità e affidabilità Un'altra variante di questa strategia è migliorare e muoversi in un unico movimento. Se entrambi i livelli della tua applicazione web sono ospitati su VM, puoi utilizzare Migrate to Containers per spostare e convertire automaticamente tali VM in container in esecuzione su Google Kubernetes Engine (GKE) Strappa e sostituisci Utilizzo *copia e sostituisci* quando desideri creare una nuova soluzione nel cloud e chiudere la versione corrente della soluzione locale. Questo è comunemente usato quando si applicano le seguenti condizioni: - L'applicazione esistente non vale la pena di mantenerla nel cloud, tecnicamente o finanziariamente - La licenza del software nel cloud è proibitiva o poco pratica - L'applicazione smette del tutto di soddisfare le esigenze aziendali Poiché rip and replace richiede la riscrittura di un'applicazione da zero, non è trattata in questa guida alla migrazione ## Fase di valutazione Prima che qualsiasi migrazione possa iniziare, è necessario avere una conoscenza approfondita del punto di partenza Eventuali domande senza risposta rappresentano un rischio per il successo della migrazione. Trascorrere del tempo nella fase di valutazione aiuta a garantire una fase di migrazione regolare e senza incidenti. Dedica più tempo possibile per acquisire quante più informazioni pertinenti possibili a supporto della tua migrazione Stack software applicativo Collabora con i tuoi team di infrastruttura, operativi e di sviluppo per identificare i seguenti dettagli: - Sistema operativo: distribuzione esatta, versione, patch, pacchetti installati - Server Web: pacchetto software esatto, numero di versione, pacchetti o altre modifiche software e tutti i file di configurazione e le regole per il software del server Web - Database: nome esatto del software, versione, schema, strategia di replica e pianificazione del backup - Ambienti di runtime: versioni esatte, di tutti gli ambienti di backend e frontend Risorse hardware di sistema Per i livelli server web e database, rispondi alle seguenti domande: - Quanti server sono in esecuzione adesso? - Qual è l'allocazione totale delle CPU, inclusi generazione, tipo di architettura e velocità? - Quali sono la RAM e lo spazio su disco assegnati a ciascun server? Sono in uso HDD o SSD? RAID? - Qual è l'utilizzo attuale, l'utilizzo medio e il picco di utilizzo di CPU, RAM e spazio su disco?Guarda la tua media e il picco nel contesto del tuo specifico utilizzo aziendale.Ad esempio, un'azienda che sostiene le Olimpiadi potrebbe dover guardare indietro di due anni per vedere quale sia il vero picco, mentre altre applicazioni potrebbero avere una velocità di esecuzione più costante.Guarda la sequenza temporale del caso d'uso più tipica per la media e la sequenza temporale dell'uso più pesante per il picco.Cerca anche modelli di utilizzo ciclico, come fine settimana, serate e giorni lavorativi- Per il database, quale strategia di backup, replica o sharding è in uso e come funziona che incidono sui requisiti di spazio su disco e sul numero di server richiesti?Risorse di reteAnalizza l'architettura di rete che consente il funzionamento della tua applicazione.Assicurati di disporre di diagrammi della topologia di rete logica e fisica accurati e aggiornati dell'infrastruttura che supporta la tua applicazione.I diagrammi devono delineare chiaramente tutte le connessioni, le dipendenze ei servizi di reteRispondi alle seguenti domande:- In che modo i clienti accedono alla tua applicazione?Attraverso un browser web?Direttamente tramite un indirizzo IP?Tramite un'app mobile?Utilizzi una connessione di rete privata virtuale?- Disponi di un elenco di tutti i certificati SSL/TLS applicabili e delle chiavi di crittografia?- Dove sono ospitati tutti i certificati SSL/TLS applicabili?Quando scadono?Come si rinnovano i certificati?Come si ottengono nuovi certificati?Hai accesso a tutti i certificati correnti?- Hai un elenco di tutti i domini applicabili che supportano l'applicazione?- Dove sono ospitati questi domini?Quando scadono?Come rinnovarli?Hai accesso agli account che controllano la registrazione?- Dove è ospitato e controllato il tuo DNS?- Hai accesso a tutti i sistemi e gli strumenti che controllano il DNS?Quali sono le attuali mappature da CNAME a IP per ciascun dominio e disponi di un backup?- Quali sono le tue impostazioni DNS time-to-live (TTL)?- Dove si inseriscono nell'architettura i firewall e gli altri dispositivi di controllo e accesso alla rete?Quali regole sono attualmente in vigore per consentire o negare il traffico?Chi è responsabile e qual è la procedura per modificare o aggiornare tali regole?- Utilizzi servizi di rete esterni?Ad esempio, un provider di Content Delivery Network (CDN) o un servizio di protezione DDoS (Distributed Denial of Service)?## Fase di baseGoogle Cloud offre molte opzioni per l'esecuzione di carichi di lavoro di calcolo e database per applicazioni multilivello come LAMP.Questa sezione introduce queste opzioni e spiega perché potresti sceglierne una piuttosto che un'altraOpzioni incentrate sul calcoloCompute EngineCompute Engine è un IaaS offerta che consente di eseguire una macchina virtuale (VM) su Google Cloud.Puoi installare framework web, software server, database e qualsiasi altro software supportato dal tuo sistema operativo.Se stai eseguendo la tua applicazione LAMP su bare metal, su una VM, in un data center o su un altro provider cloud, questa opzione potrebbe replicare fedelmente, se non esattamente, il tuo server esistente.Questa opzione offre il massimo controllo sulla configurazione del sistema operativo e sulle impostazioni del software del server web.Compute Engine consente un controllo approfondito su tipi di macchine, gruppi di istanze, opzioni di archiviazione, bilanciatori del carico e numerosi altri dettagli.Consulta la documentazione completa di Compute Engine per ulteriori guide introduttive, tutorial e altro ancoraLo spostamento dell'applicazione direttamente su Compute Engine è la migrazione lift-and-shift più comune.Per indicazioni sulla mappatura delle risorse locali a Compute Engine, consulta Best practice per la migrazione di macchine virtuali a Compute EngineCloud Deployment ManagerAnche Google Cloud Marketplace offre una semplice installazione LAMP tramite Deployment Manager.Puoi avviare un server con Debian Linux, Apache, MySQL, PHP e phpMyAdmin già installati e configurati in una configurazione predefinita.Ottieni un server web completamente funzionante e le credenziali per l'installazione di MySQL in pochi minutiGoogle Kubernetes EngineGKE è un ambiente gestito e pronto per la produzione per la distribuzione di applicazioni containerizzate.Utilizzando GKE smetti di gestire un sistema operativo containerizzando il software del tuo server web.Ad esempio, i web server Apache e NGINX sono disponibili da ogni repository di contenitori pubblici.Se utilizzi i container per eseguire i carichi di lavoro nel tuo ambiente, GKE è un servizio efficiente per mantenere un flusso di lavoro di distribuzione e test simile durante la migrazione del carico di lavoro LAMP a Google Cloud.Se non utilizzi i container, valuta la possibilità di esplorare GKE per implementazioni e ripristini più rapidi, maggiore efficienza nell'utilizzo delle risorse e non dover gestire il sistema operativo e la VM sottostantePer Per ulteriori informazioni sulla gestione delle applicazioni container su larga scala, fai riferimento alla documentazione GKE per guide introduttive, esercitazioni, concetti, guide pratiche e altre risorse utili per iniziareSpostamento dell'applicazione LAMP on-premise a GKE è una migrazione di tipo Improve-and-Move, mentre il passaggio da un'infrastruttura basata su container autogestita è una migrazione LIF-and-shiftApp EngineApp Engine è una piattaforma serverless per la creazione di applicazioni altamente scalabili.A seconda del tipo di applicazione in esecuzione, App Engine può eliminare la necessità di gestire server, container o distribuzioni, consentendo ai tuoi sviluppatori di concentrarsi sulla scrittura del codice e riducendo la complessità della gestione di qualsiasi infrastruttura sottostante.Non tutti i carichi di lavoro sono buoni candidati per il passaggio ad App Engine, ma quelli che lo sono vedono riduzioni di costi e complessità aumentando la velocità di scalabilità e la resilienza dell'applicazione sotto caricoApp Engine è disponibile in due versioni: l'ambiente standard copre una varietà di linguaggi (incluso PHP per la nostra applicazione LAMP) e l'ambiente flessibile consente una maggiore personalizzazione di runtime, prestazioni e infrastruttura.Esplora la documentazione per la tua lingua preferita per saperne di piùOpzioni del database Autogestito su Compute Engine Puoi installare MySQL, PostgreSQL o qualsiasi altro database basato su SQL su un'istanza di Compute Engine. Ciò fornisce lo stesso livello di controllo che si avrebbe quando si esegue MySQL su una workstation, su un server in un data center o come VM in un altro provider cloud. Quando si esegue il database su una macchina virtuale, è responsabilità dell'utente configurare, monitorare e mantenere il failover, la replica, il partizionamento e l'alta disponibilità È possibile trattare il database come un carico di lavoro di elaborazione, considerando CPU, RAM e spazio su disco per garantire che vi siano risorse sufficienti per l'esecuzione affidabile dell'applicazione Analogamente allo spostamento del carico di lavoro di elaborazione su Compute Engine, questo approccio rappresenta una migrazione lift-and-shift Cloud SQL Cloud SQL è un servizio di database completamente gestito che scarica l'installazione, la configurazione e la manutenzione del tuo database su Google Cloud. Automatizza backup, replica, patch e aggiornamenti e ti consente di concentrarti sulla tua applicazione. I database Cloud SQL possono essere utilizzati dai carichi di lavoro in esecuzione su qualsiasi servizio di calcolo di Google, inclusi Compute Engine, GKE e App Engine. A meno che tu non abbia bisogno di un profondo livello di controllo sul tuo database MySQL, Cloud SQL è un'opzione completa e facile da configurare per l'esecuzione di un carico di lavoro LAMP Cloud SQL può eseguire e supportare in modo nativo MySQL e PostgreSQL. Se esegui la migrazione da uno di questi database a Cloud SQL, si tratta di una migrazione lift-and-shift. Se stai esplorando nuovi metodi per la replica, la strategia di backup o la semplicità nella gestione della tua infrastruttura, questa potrebbe essere una migrazione di miglioramento e spostamento Altre opzioni di archiviazione Cloud Storage è un archivio di oggetti o BLOB scalabile, completamente gestito, altamente affidabile ed economico, ideale per l'archiviazione di immagini, risorse statiche e altri dati non strutturati. Cloud Storage può essere utilizzato per ospitare un sito Web statico, ma non è progettato per archiviare il contenuto del database attivo. È anche una posizione ideale per archiviare oggetti di backup e ripristino di emergenza e dati da utilizzare per lo streaming Prendi in considerazione l'utilizzo di Cloud Storage come posizione in cui archiviare i backup del tuo database durante e dopo la migrazione Firestore Firestore è un database di documenti NoSQL completamente gestito, serverless e cloud-native che semplifica l'archiviazione, la sincronizzazione e l'interrogazione dei dati per le tue applicazioni mobili, web e Internet of Things (IoT) su scala globale. Le sue librerie client forniscono sincronizzazione in tempo reale e supporto offline, mentre le sue funzionalità di sicurezza e le integrazioni con Firebase e Google Cloud accelerano la creazione di app realmente serverless. Se la tua applicazione ha contenuti che potrebbero trarre vantaggio da un formato NoSQL, come profili utente, cataloghi di prodotti o stato del gioco, dovresti esplorare Firestore nella fase di ottimizzazione della migrazione Base di fuoco Firebase è una piattaforma di sviluppo mobile completa che include opzioni di archiviazione e database. Se la tua applicazione supporta un carico di lavoro mobile, la piattaforma Firebase dovrebbe essere considerata nella tua fase di ottimizzazione Chiave Nuvola Spanner è un servizio di database di livello aziendale, distribuito a livello globale e fortemente coerente creato per il cloud. Combina i vantaggi delle strutture di database relazionali con la scalabilità orizzontale dei database non relazionali. Se la tua applicazione potrebbe trarre vantaggio da una migliore gestibilità, scalabilità e transazioni con una forte coerenza, prendi in considerazione la migrazione del tuo database a Spanner nella fase di ottimizzazione Google Cloud offre molte altre opzioni di archiviazione per supportare una varietà di carichi di lavoro ## Fase di migrazione Dopo aver completato la valutazione e pianificato la migrazione, puoi iniziare a spostare dati, servizi e risorse su Google Cloud. Ogni applicazione ha le sue esigenze. Questa sezione illustra alcuni esempi per aiutare a dimostrare cosa comporta questa fase Alza e sposta: Compute Engine Il primo passaggio per avviare la migrazione lift-and-shift a è stabilire un servizio multilivello compatibile in Compute Engine. Mentre ci sono molti approcci a questo; i seguenti sono i tre più comuni: - Configurazione manuale. Avvia una VM con il sistema operativo che desideri, quindi aggiorna manualmente i repository, installa e configura il software, esegui il provisioning e configura manualmente il database e l'ambiente di runtime. Questo approccio offre un elevato livello di controllo, ma richiede più tempo, è più soggetto a errori ed è meno riproducibile rispetto ad altri metodi - Automatizzato. Utilizza Migrate to VMs per eseguire la migrazione di uno stack di VM (in un ordine specifico) da on-premise a VM di dimensioni adeguate, con provisioning automatico e configurate in Compute Engine - Mercato cloud. Avvia uno stack LAMP preconfigurato nel tuo progetto Google Cloud. Assicurati di verificare che il sistema operativo e le versioni del software forniti funzionino con la tua applicazione. Esplora la documentazione di Cloud Marketplace per saperne di più - Distribuzione automatizzata. Crea macchine virtuali pronte per la produzione utilizzando concetti di integrazione continua/distribuzione continua e una varietà di strumenti di gestione della configurazione (Chef, Puppet, Ansible, Salt), infrastruttura come strumenti di codice (Deployment Manager, Terraform) e framework di automazione (Cloud Build). La distribuzione automatizzata consente metodi testabili, ripetibili e automatizzati per distribuire macchine virtuali e software che soddisfano le esigenze di applicazione e governance Migliora e sposta: GKE e Cloud SQLPer passare a una soluzione di container gestiti, devi prima stabilire le basi per il tuo cluster e la soluzione SQL gestitaAvvio di un cluster GKELa creazione di un cluster su GKE e la gestione del cluster sono i primi passaggi.Utilizza le informazioni delle fasi di valutazione e fondazione per dimensionare e configurare il tuo cluster iniziale in modo appropriato e per applicare le best practice di rafforzamento della sicurezzaOpzioni di avvio per Cloud SQLUtilizzo le informazioni sul database ottenute nelle fasi di valutazione e fondazione, crea una nuova istanza Cloud SQL e segui altre guide pratiche per creare il database per la tua applicazione.Google fornisce un elenco di best practice di Cloud SQL, guide per la configurazione dell'alta disponibilità e altri tutorial per il ridimensionamento orizzontale.Esplora le opzioni per la connessione da Google Kubernetes Engine a Cloud SQL e scegli l'opzione più adatta alla tua applicazione e al tuo livello di esperienzaMiglioramento e spostamento serverless: App Engine e Cloud SQLSe decidi di migrare la tua applicazione LAMP a un framework serverless, potresti dover modificare la tua applicazione per supportare App Engine.Ogni applicazione è diversa e ci sono molte strategie.Inizia rivedendo quanto segue:- Ottieni una panoramica dell'architettura dei microservizi su App Engine- Scopri come creare e denominare sviluppo, test, QA, staging e ambienti di produzione con microservizi in App Engine- Scopri le best practice per la progettazione di API per la comunicazione tra microservizi- Scopri le best practice per le prestazioni dei microserviziA seconda della tua esperienza organizzativa e personale e della familiarità con l'esecuzione di codice serverless, la strategia di miglioramento e spostamento serverless potrebbe richiedere molto più tempo rispetto alle opzioni lift-and-shift.Tuttavia, offrire il meglio del serverless potrebbe essere una grande risorsa per la tua organizzazione## Fase di ottimizzazioneDopo che la tua applicazione è in esecuzione su Google Cloud, puoi convalidare le tue ipotesi e decisioni delle tre fasi precedenti.Le migrazioni complete possono richiedere molto tempo e molti dettagli possono cambiare durante il processo.L'ottimizzazione copre molte aree, ma qui ci sono alcune categorie comuniOttimizzazione dei costiIl passaggio da on-premise al cloud cambia il modo in cui spendi soldi per le applicazioni , servizi e infrastrutture.Potresti completare una valutazione di un servizio on-premise legacy e scoprire dopo la migrazione che l'hardware moderno, la memoria più veloce e le nuove architetture della CPU lo eseguono in modo più efficiente.Questo potrebbe significare che le tue VM hanno un provisioning eccessivo e sprecano denaroPotresti esaminare l'utilizzo di istanze VM prerilasciabili su Compute Engine.Forse non avevi bisogno di tanti bilanciatori di carico come pensavi, oppure sei riuscito a ripulire il tuo database durante lo spostamento e ora hai spazio che non stai utilizzando.Trovare modi per risparmiare denaro e ridurre i costi operativi nel cloud può diventare un lavoro a tempo pieno che si ripaga da solo.Google Cloud dispone di una serie di strumenti di gestione dei costi che possono aiutarti a comprendere i prezzi del cloudAutomazioneL'automazione corretta dei carichi di lavoro di elaborazione nel cloud può portare a costivantaggi in termini di risparmio ed efficienzaDeployment Managerè un prodotto Google Cloud progettato per aiutarti a creare e gestirerisorse cloud utilizzando semplici modelliLo scripting congcloudè un'opzione se preferisci scrivere le tue automazioni.Mentre i vantaggi finanziariderivano dall'automazione, altri vantaggi includono quanto segue:- Processi standard e ripetibili per ridurre i tassi di errore- Monitoraggio verificabile per la conformità e la governance- Maggiore comprensione di come funziona la tua applicazione, come si rompe e come risolverlaL'automazione aumenta il tempo di attività riducendo la dipendenza dagli avvisi e dai tempi di reazione umana, riduce il debito tecnico documentando il flusso di lavoro e consente ai tuoi ingegneri di concentrarsi meno sul tenere le luci accese e più sulla creazione di prodotti, strumenti e servizi migliori.Questi concetti sono alla base della Site Reliability Engineering (SRE).Google Cloud offre un libro online da leggere gratuitamente sull'ingegneria dell'affidabilità del sito, nonché una cartella di lavoro SRE che fornisce esempi pratici e case studyDisaccoppiamento dell'infrastruttura e del codiceDisaccoppiate i servizi molte volte man mano che un'applicazione cresce.Separare i servizi connessi e sapere come ridimensionarli in modo indipendente migliora la disponibilità e l'affidabilità delle tue applicazioni.Ci sono generalmente tre passaggi per questo processo:- Implementa l'infrastruttura come codice (IaC) ovunque.Implementando IaC e i processi di gestione della configurazione, ottieni elementi costitutivi tracciabili, verificabili e riproducibili per il provisioning e la configurazione dell'intera infrastruttura- Dissocia i tuoi servizi esistenti in microservizi.Usa il middleware orientato ai messaggi, come Pub/Sub, per consentire a ogni microservizio di essere il proprio dominio di errore- Inizia la migrazione dei servizi dall'infrastruttura come servizio alla piattaforma come servizio , o funziona anche come servizio o senza server come servizio.Il passaggio da "codice monolitico e infrastruttura"a "microservizi disaccoppiati che funzionano in modo efficiente attraverso lo spettro IaaS"è un obiettivo prezioso che richiederà tempo, impegno e dedizioneOttimizzazione delle prestazioniL'ottimizzazione delle prestazioni può produrre vantaggi significativi nell'utilizzo del sistema e nei tempi di risposta.Ogni carico di lavoro ha un metodo diverso per l'ottimizzazione delle prestazioni, dai file di configurazione del software fino all'ottimizzazione dei flag del kernel.Per le applicazioni LAMP, l'ottimizzazione delle prestazioni di solito rientra in tre categorie:- Ottimizzazione del cloud, della rete e del sistema operativo: - 5 passaggi per migliorare le prestazioni della rete Google Cloud possono aiutarti a capire come ottenere il massimo da Google Cloud Networking - L'ottimizzazione TCP per le prestazioni di rete in Google Cloud può aiutarti se hai requisiti di latenza TCP specifici - L'ottimizzazione dei dischi persistenti e delle prestazioni SSD locali può aiutarti a conoscere l'architettura per i carichi di lavoro pesanti IOPS - Il miglioramento delle prestazioni su Compute Engine può aiutare le prestazioni dell'applicazione API durante l'interazione con altre API e servizi Google Cloud - Ottimizzazione del server Web: - Apache Performance Tuning e NGINX Performance Tuning o una ricerca generale su Google per "ottimizzazione delle prestazioni del tuo server web"ti condurrà nella giusta direzione Ottimizzazione del database: ## Qual è il prossimo - Configurazione di LAMP su Compute Engine - Distribuire una pila LAMP - Ulteriori informazioni sull'esecuzione di carichi di lavoro di calcolo su Compute Engine o GKE Collega GKE a Cloud SQL Esplora la migrazione alle macchine virtuali e la migrazione ai container Crea un'applicazione altamente scalabile su una piattaforma serverless completamente gestita con App Engine Scopri di più sulle opzioni del database su Google Cloud Esplora architetture di riferimento, diagrammi, tutorial e best practice su Google Cloud. Dai un'occhiata al nostro Cloud Architecture Center.