Man mano che le aziende passano allo sviluppo e al deployment di applicazioni basate su container, devono imparare a gestire team distribuiti con flussi di lavoro di ingegneria separati. Per aiutare le grandi aziende a completare il passaggio alle applicazioni basate su container, abbiamo creato il progetto base per le applicazioni aziendali. Questo blueprint esegue il deployment di una piattaforma interna per sviluppatori che consente ai team della piattaforma cloud di fornire una piattaforma gestita per lo sviluppo e la distribuzione del software, utilizzabile dai gruppi di sviluppo delle applicazioni della propria organizzazione.
Il progetto dell'applicazione aziendale include quanto segue:
- Un repository GitHub che contiene un insieme di configurazioni e script Terraform. La configurazione Terraform configura 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 utilizzi questo progetto per implementare (questo documento).
Il progetto base per le applicazioni aziendali è progettato per essere compatibile con il progetto base per le aziende. Il progetto di base per le aziende fornisce una serie di servizi di base su cui si basa il progetto di base per le applicazioni aziendali, come Cloud Identity. Puoi eseguire il deployment del blueprint dell'applicazione aziendale senza eseguire il deployment del blueprint delle fondamenta aziendali se il tuo Google Cloud ambiente fornisce la funzionalità necessaria per supportare il blueprint dell'applicazione aziendale.
Questo documento è destinato 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. Tuttavia, se hai già applicazioni aziendali containerizzate esistenti su Google Cloud, puoi adottare in modo incrementale questa architettura di riferimento.
Questo documento presuppone inoltre che tu conosca i componenti di Kubernetes, inclusi servizi, spazi dei nomi e cluster. Per informazioni di base su Kubernetes e sulla sua implementazione in Google Cloud, consulta la panoramica tecnica di Google Kubernetes Engine.
Panoramica del progetto di applicazione aziendale
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 su richiesta. I team di sviluppo 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 ad alta disponibilità.
Questo progetto esegue il deployment di una piattaforma per sviluppatori sopra il progetto di fondazione di un'azienda (o il suo equivalente). La piattaforma per sviluppatori include risorse come cluster Google Kubernetes Engine (GKE), flotta GKE, application factory, pipeline dell'infrastruttura, monitoraggio della piattaforma e 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 a diversi team di sviluppo di applicazioni (chiamati tenant) l'accesso alla piattaforma. Un tenant è un gruppo di utenti con una proprietà comune su un insieme di risorse. Un tenant possiede una o più applicazioni che vengono eseguite 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 implementata da una pipeline CI/CD dedicata. I tenant e le applicazioni sono isolati l'uno dall'altro in fase di runtime e nelle pipeline CI/CD. Le parti del blueprint che forniscono l'automazione vengono utilizzate da tutti i tenant e sono denominate 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 ad alta disponibilità di cui è stato eseguito il deployment in una configurazione attiva-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
- Leggi l'articolo sull'architettura (il prossimo documento di questa serie).