L'utilizzo di una piattaforma per sviluppatori e di applicazioni containerizzate richiede un numero di diverse attività amministrative che devi svolgere regolarmente. Queste attività includono, ad esempio, la creazione di nuove applicazioni da un modello, l'autorizzazione di nuovi gruppi di sviluppatori a utilizzare la piattaforma per sviluppatori, la pianificazione delle esigenze di capacità e il debug dei problemi di runtime.
Le operazioni possono essere automatizzate o eseguite manualmente.
Operazioni automatiche comuni
Il blueprint fornisce l'automazione di alcune delle attività più comuni sotto forma di attivatori webhook, che sono un semplice tipo di API. Gli attivatori vengono collegati automaticamente agli eventi webhook provenienti da uno dei repository di controllo del codice sorgente. Gli sviluppatori della piattaforma per sviluppatori possono collegare gli altri attivatori. In genere, gli sviluppatori della piattaforma per sviluppatori scrivono un portale per sviluppatori, che può essere un semplice modulo web che chiama un attivatore webhook quando viene inviato un modulo.
La tabella seguente descrive le attività comuni automatizzate dal blueprint utilizzando gli attivatori webhook. Le frequenze delle attività sono solo indicative, poiché la frequenza di un'attività dipende da molti fattori. Le attività non necessariamente si ripetono a intervalli precisi.
Attività | Utente | Descrizione | Frequenza delle attività |
---|---|---|---|
Aggiungi un tenant. |
Amministratore della piattaforma per sviluppatori |
L'amministratore invia un modulo sul portale per gli sviluppatori. I campi del modulo del nuovo tenant includono il nome del tenant e i membri del team. Un attivatore automatico crea le risorse per il nuovo tenant. |
Qualche volta all'anno |
Aggiungi un'applicazione basata su un modello di applicazione esistente. |
Sviluppatore di applicazioni |
Lo sviluppatore invia un modulo sul portale per gli sviluppatori. I campi del nuovo form di applicazione includono il nome del tenant, il nome dell'applicazione e il modello dell'applicazione di base. Un trigger automatico crea risorse per una nuova applicazione. |
Qualche volta all'anno |
Esegui la compilazione e il deployment delle modifiche al codice sorgente di un'applicazione nell'ambiente di sviluppo. |
Sviluppatore di applicazioni |
Lo sviluppatore modifica il codice sorgente, lo esegue e lo testa localmente, quindi ne esegue il commit. Il blueprint non è coinvolto nei flussi di lavoro degli sviluppatori locali, ma lo strumento Skaffold supporta un passaggio di costruzioni locali. |
Alcune volte al giorno per ogni applicazione |
Esegui il deployment delle modifiche alla configurazione YAML di un'applicazione nell'ambiente di sviluppo. Un esempio di modifica della configurazione YAML è l'aumento della CPU di una risorsa di deployment. |
Sviluppatore di applicazioni |
Lo sviluppatore modifica la configurazione dell'applicazione ed esegue il commit della modifica. |
Qualche volta a settimana per ogni applicazione |
Esegui il deployment delle modifiche all'infrastruttura dell'applicazione nell'ambiente di sviluppo. L'infrastruttura dell'applicazione è costituita dalle risorse cloud nel progetto di un'applicazione. Un esempio di modifica è un aumento del numero di CPU per un'istanza AlloyDB per PostgreSQL. |
Sviluppatore di applicazioni |
Lo sviluppatore modifica il progetto Terraform della risorsa dell'applicazione e committa la modifica. Lo sviluppatore invia un modulo sul portale per gli sviluppatori. Un attivatore automatico avvia il piano e applica la pipeline. |
Molte volte all'anno |
Promuovi le modifiche dell'applicazione dallo sviluppo alla non produzione (o dalla non produzione alla produzione). Le modifiche all'applicazione possono includere nuove immagini dell'applicazione o modifiche alla configurazione YAML dell'applicazione. |
Operatore di applicazioni |
L'operatore unisce le modifiche dal branch di sviluppo al branch non di produzione (o dal branch non di produzione al branch di produzione). L'operatore supervisiona l'implementazione. |
Più volte alla settimana per ogni applicazione |
Promuovi le modifiche dell'infrastruttura dell'applicazione dallo sviluppo alla produzione o viceversa. |
Operatore di applicazioni |
L'operatore unisce modifiche selezionate dal ramo di sviluppo al ramo non di produzione (o dal ramo non di produzione al ramo di produzione). L'operatore supervisiona l'implementazione. |
Più volte ogni trimestre per ogni applicazione |
Operazioni manuali comuni
Alcune operazioni della piattaforma per sviluppatori sono meno strutturate e non utilizzano l'automazione con una piattaforma per sviluppatori. Puoi sviluppare i tuoi playbook in base a questo blueprint ed eseguire queste attività nella console Google Cloud.
La tabella seguente descrive queste attività non automatiche. Le frequenze delle attività sono da intendersi indicative perché la frequenza di un'attività dipende da molti fattori. Le attività non si ripetono necessariamente a intervalli precisi.
Attività | Utente | Descrizione | Frequenza delle attività |
---|---|---|---|
Definisci un nuovo modello di applicazione. |
Sviluppatore della piattaforma per sviluppatori |
Lo sviluppatore modifica un modello di applicazione basato su un modello di blueprint o esegue il porting di un modello in un nuovo linguaggio. |
Qualche volta all'anno |
Esamina gli errori di runtime del servizio nell'ambiente di sviluppo. |
Sviluppatore di applicazioni |
Lo sviluppatore utilizza Esplora log e Metrics Explorer nella console Google Cloud per esaminare i log di errore, le metriche di monitoraggio e i dati delle serie temporali per tenant e applicazioni. |
Qualche volta al mese |
Analizza gli errori di runtime del servizio in ambienti di produzione o non di produzione. |
Operatore di applicazioni |
L'operatore utilizza Esplora log ed Metrics Explorer nella console Google Cloud per esaminare i log di errore, le metriche di monitoraggio e i dati delle serie temporali per tenant e applicazioni. |
Qualche volta al mese |
Esamina gli errori di compilazione. |
Sviluppatori di applicazioni |
Lo sviluppatore visualizza la cronologia di Cloud Build, inclusi lo stato e i log di compilazione, nella console Google Cloud. |
Qualche volta a settimana |
Esaminare gli errori di deployment nell'ambiente di sviluppo |
Sviluppatori di applicazioni |
Lo sviluppatore visualizza la cronologia di rilascio e implementazione di Cloud Deploy nella console Google Cloud per verificare lo stato di esito positivo e i log di un tentativo di deployment, inclusi eventuali errori. |
Qualche volta al mese |
Esaminare gli errori di deployment negli ambienti di produzione e non di produzione |
Operatori di applicazioni |
L'operatore visualizza la cronologia di rilascio e implementazione di Cloud Deploy nella console Google Cloud per verificare lo stato di esito positivo e i log di un tentativo di deployment, inclusi i log di errore. |
Qualche volta al mese |
Connettiti ai cluster per eseguire il debug dei problemi di GKE. |
Amministratore della piattaforma per sviluppatori |
L'amministratore utilizza il gateway Connect per connettersi ai cluster privati. Per i problemi comuni, come i pod non pianificati, l'amministratore può esaminare le informazioni sui problemi comuni (ad esempio i pod non pianificati) nella console Google Cloud. |
Qualche volta al mese |
Pianifica la capacità e ottimizza i costi. |
Amministratore della piattaforma per sviluppatori |
L'amministratore esamina l'utilizzo delle risorse GKE, aggregato per ambito o spazio dei nomi, nella console Google Cloud. |
Pianificata come attività ricorrente mensile. |
Ridimensiona, aggiungi o rimuovi i pool di nodi. |
Amministratore della piattaforma per sviluppatori |
L'amministratore modifica l'IaC in base alle esigenze e esegue nuovamente il deployment delle applicazioni. |
Azione eseguita in risposta alla pianificazione della capacità. |
Controlla la postura di sicurezza. |
Amministratore della piattaforma per sviluppatori |
L'amministratore controlla la presenza di vulnerabilità e la conformità agli standard utilizzando la dashboard della posizione di sicurezza GKE. |
Pianificata come attività ricorrente mensile. |
Esegui l'upgrade delle versioni del software di sistema del cluster (ad esempio la versione di Kubernetes). |
Amministratore della piattaforma per sviluppatori |
L'amministratore utilizza i periodi di manutenzione ed esclusioni di GKE per consentire gli upgrade solo durante i periodi pianificati. L'amministratore utilizza prima la finestra di upgrade aperta nell'ambiente di sviluppo. Dopo aver valutato l'integrità dell'upgrade, l'amministratore esegue l'upgrade dell'ambiente non di produzione e poi dell'ambiente di produzione. |
Pianificata come attività ricorrente trimestrale. |
Installa gli aggiornamenti critici della sicurezza del cluster. |
Nessuno |
Automatica, eseguita da GKE. |
Qualche volta all'anno |
Testa il failover regionale. |
Amministratore della piattaforma per sviluppatori e amministratore dell'applicazione |
Gli amministratori pianificano e avviano manualmente un failover regionale dell'ambiente, se opportuno. |
Annualmente nell'ambito di esercitazioni di ripristino di emergenza |
Aggiungi una regione. |
Amministratore della piattaforma per sviluppatori, sviluppatore della piattaforma per sviluppatori e amministratore dell'applicazione |
L'amministratore della piattaforma per gli sviluppatori esegue il deployment di altri cluster GKE nella nuova regione. L'amministratore aggiorna il modello di applicazione per aggiungere il nuovo passaggio di deployment per gli ambienti pertinenti. L'operatore dell'applicazione integra quindi la modifica per aggiungere la sequenza di deployment in modo da includere la nuova regione. |
Molto raramente |
Spostare il sito in una nuova regione. |
Amministratore della piattaforma per sviluppatori, sviluppatore della piattaforma per sviluppatori e amministratore dell'applicazione |
Gli utenti aggiungono la nuova regione come descritto in Aggiungere una regione. Dopo aver testato la nuova configurazione, gli utenti rimuovono la vecchia regione. |
Molto raramente |
Passaggi successivi
- Scopri di più sulla gestione dei costi e delle attribuzioni per la piattaforma per gli sviluppatori (documento successivo di questa serie).