Esegui il deployment di una piattaforma per sviluppatori aziendali su Google Cloud

Last reviewed 2024-04-19 UTC

Man mano che le aziende passano allo sviluppo e al deployment di applicazioni basate su container, devono imparare a gestire i team distribuiti con flussi di lavoro di progettazione separati. Per aiutare le grandi aziende a completare il passaggio alle applicazioni basate su container, abbiamo creato il progetto di base per le applicazioni aziendali. Questo progetto esegue il deployment di una piattaforma di sviluppo interna che consente ai team della piattaforma cloud di fornire una piattaforma gestita per lo sviluppo e la distribuzione del software che può essere utilizzata dai gruppi di sviluppo delle applicazioni dell'organizzazione.

Il progetto base dell'applicazione aziendale include quanto segue:

  • Un repository GitHub contenente un set di configurazioni e script Terraform. La configurazione Terraform imposta una piattaforma per sviluppatori in Google Cloud che supporta più team di sviluppo.
  • Una guida all'architettura, alla progettazione, ai controlli di sicurezza e ai processi operativi che puoi implementare con questo progetto (questo documento).

Il progetto base dell'applicazione aziendale è progettato per essere compatibile con il progetto di base aziendale. Il progetto di base aziendale offre una serie di servizi di livello base su cui si basa il progetto base dell'applicazione aziendale, ad esempio Cloud Identity. Puoi eseguire il deployment del progetto base dell'applicazione aziendale senza eseguire il deployment del progetto di base aziendale, se il tuo ambiente Google Cloud fornisce la funzionalità necessaria per supportare il progetto base dell'applicazione aziendale.

Questo documento è rivolto ai cloud architect e presuppone che utilizzi il progetto base di applicazioni aziendali per eseguire il deployment di nuove applicazioni aziendali su Google Cloud. Tuttavia, se hai già applicazioni aziendali containerizzate su Google Cloud, puoi adottare questa architettura di riferimento in modo incrementale.

Inoltre, in questo documento si presuppone che tu comprenda i componenti di Kubernetes, tra cui servizi, spazi dei nomi e cluster. Per informazioni di base su Kubernetes e sulla sua implementazione in Google Cloud, consulta la panoramica tecnica della versione Google Kubernetes Engine (GKE) Enterprise.

Panoramica del progetto base dell'applicazione Enterprise

Nella maggior parte delle aziende, una piattaforma per sviluppatori gestisce l'infrastruttura condivisa utilizzata da tutti gli sviluppatori. La piattaforma per sviluppatori crea pipeline di build, pipeline di deployment e ambienti di runtime per ogni componente dell'applicazione on demand. I team di sviluppatori e gli operatori delle applicazioni hanno accesso solo ai componenti delle applicazioni di cui sono responsabili. La piattaforma è progettata per supportare il deployment di applicazioni sicure e a disponibilità elevata.

Questo progetto esegue il deployment di una piattaforma per sviluppatori in aggiunta al progetto delle basi aziendali (o equivalente). La piattaforma per sviluppatori include risorse come i cluster Google Kubernetes Engine (GKE), il parco risorse GKE, la fabbrica di applicazioni, le pipeline dell'infrastruttura, il monitoraggio della piattaforma e il logging della piattaforma. Inoltre, la piattaforma per sviluppatori configura gli utenti (amministratori della piattaforma per sviluppatori e sviluppatori di applicazioni) che gestiscono la soluzione.

Questo progetto consente alle organizzazioni di fornire a diversi team di sviluppo delle applicazioni (chiamati tenant) l'accesso alla piattaforma. Un tenant è un gruppo di utenti con proprietà comune di un insieme di risorse. Un tenant possiede una o più applicazioni in esecuzione sulla piattaforma come servizio basato su container. Un'applicazione sulla piattaforma per sviluppatori è un bundle di codice sorgente e configurazione. Ogni applicazione viene creata e ne viene eseguito il deployment tramite una pipeline CI/CD dedicata. I tenant e le applicazioni sono isolati tra loro in fase di runtime e nelle pipeline CI/CD. Alcune parti del progetto forniscono automazione che sono utilizzate da tutti i tenant e sono definite multi-tenant.

Per illustrare come viene utilizzata la piattaforma per sviluppatori, il progetto include un'applicazione di esempio chiamata Cymbal Bank. Cymbal Bank è un'applicazione di microservizi progettata per essere eseguita su GKE. L'applicazione ha lo scopo di simulare un'applicazione a disponibilità elevata di cui viene eseguito il deployment in una configurazione attivo-attiva per abilitare il ripristino di emergenza. Cymbal Bank presuppone che l'applicazione sia sviluppata e gestita da diversi team di sviluppatori indipendenti.

Passaggi successivi

  • Scopri di più sull'architettura (prossimo documento di questa serie).