Man mano che le aziende passano allo sviluppo e al deployment di applicazioni basate su container, devono imparare a gestire i team distribuiti con per i flussi di lavoro. Per aiutare le grandi aziende a completare il passaggio alle applicazioni basate su container, abbiamo creato il blueprint delle applicazioni aziendali. Questo progetto esegue il deployment di una piattaforma di sviluppo interna che consente ai team delle piattaforme cloud di fornire una piattaforma gestita per il software lo sviluppo e la distribuzione che lo sviluppo delle applicazioni della propria organizzazione utilizzabili dai gruppi.
Il blueprint dell'applicazione aziendale include quanto segue:
- Un repository GitHub che contiene un insieme 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 i processi che utilizzi da questo progetto per implementare (questo documento).
Il progetto base dell'applicazione aziendale è progettato per essere compatibile progetto base aziendale. La il progetto base aziendale offre una serie di servizi di base che su cui si basa il progetto base dell'applicazione aziendale, come Cloud Identity. Puoi eseguire il deployment del progetto di applicazione aziendale senza eseguire il deployment del progetto di base per le aziende se il tuo ambiente Google Cloud fornisce le funzionalità necessarie per supportare il progetto di applicazione aziendale.
Questo documento è rivolto agli architetti cloud e presuppone che tu stia utilizzando il blueprint dell'applicazione aziendale per eseguire il deployment di nuove applicazioni aziendali su Google Cloud. Se invece hai già container aziendali su Google Cloud, puoi adottare questa architettura di riferimento in modo incrementale.
Inoltre, in questo documento si presume che tu comprenda i componenti di Kubernetes, tra cui e servizi, spazi dei nomi e cluster. Per informazioni di base su Kubernetes relativa alla 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 compilazione, pipeline di deployment ed ambienti di runtime per ogni componente dell'applicazione su richiesta. I team di sviluppatori e gli operatori delle applicazioni hanno accesso solo ai componenti dell'applicazione di cui sono responsabili. La piattaforma è progettata per supportare il deployment di applicazioni sicure e a disponibilità elevata.
Questo progetto di blueprint di base per le aziende implementa una piattaforma per sviluppatori sopra il progetto di blueprint di base per le aziende (o un equivalente). La piattaforma per sviluppatori include risorse come i cluster Google Kubernetes Engine (GKE), il parco GKE, la factory di applicazioni, le pipeline di 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 blueprint consente alle organizzazioni di fornire alla piattaforma l'accesso a diversi team di sviluppo di applicazioni (chiamati tenant). Un tenant è un gruppo di utenti con la proprietà comune di un insieme di risorse. Un inquilino ne possiede uno più applicazioni eseguite sulla piattaforma come servizio basato su container. Un sulla piattaforma per sviluppatori è un bundle di codice sorgente configurazione. Ogni applicazione viene creata e ne viene eseguito il deployment tramite una piattaforma CI/CD dedicata una pipeline o un blocco note personalizzato. I tenant e le applicazioni sono isolati tra loro in fase di runtime nelle pipeline CI/CD. Parti del progetto forniscono automazione che sono utilizzate tutti i tenant e sono definiti multi-tenant.
Per illustrare come viene utilizzata la piattaforma per sviluppatori, il progetto include una un'applicazione di esempio chiamata Cymbal Bank. Cymbal Bank è un servizio di progettata per essere eseguita su GKE. L'applicazione è progettata per simulare un'applicazione ad alta disponibilità di cui è stato eseguito il deployment in una configurazione attiva-attiva per abilitare il ripristino di emergenza. Cymbal Bank assume 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).