Quando le aziende passano allo sviluppo e al deployment di applicazioni basate su contenitori, devono imparare a gestire team distribuiti con flussi di lavoro di ingegneria distinti. Per aiutare le grandi aziende a completare il passaggio alle applicazioni basate su container, abbiamo creato un progetto base per le applicazioni aziendali. Questo blueprint consente di eseguire il deployment di una piattaforma per sviluppatori interna in modo che i team della piattaforma cloud possano fornire una piattaforma gestita per lo sviluppo e la distribuzione del software, utilizzabile dai gruppi di sviluppo delle applicazioni della propria organizzazione.
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 diversi team di sviluppo.
- Una guida all'architettura, al design, ai controlli di sicurezza e alle procedure operative che utilizzi questo blueprint per implementare (questo documento).
Il progetto base per le applicazioni aziendali è progettato per essere compatibile con il progetto di 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 applicazione aziendale, ad esempio Cloud Identity. Puoi eseguire il deployment del blueprint dell'applicazione aziendale senza eseguire il deployment del blueprint delle basi dell'azienda se il tuo Google Cloud ambiente fornisce le funzionalità necessarie per supportare il blueprint dell'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 suGoogle Cloud. Tuttavia, se hai già applicazioni aziendali containerizzate su Google Cloud, puoi adottare gradualmente questa architettura di riferimento.
Questo documento presuppone inoltre che tu conosca 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 Enterprise di Google Kubernetes Engine (GKE).
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 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 altamente disponibili e sicure.
Questo blueprint esegue il deployment di una piattaforma per sviluppatori sulla base del progetto di fondazione di un'azienda (o del relativo 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 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 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 insieme di codice sorgente e configurazione. Ogni applicazione viene creata e di cui viene eseguito il deployment da una pipeline CI/CD dedicata. I tenant e le applicazioni sono isolati l'uno dall'altro in fase di esecuzione e nelle pipeline CI/CD. Le parti del blueprint che forniscono l'automazione vengono utilizzate da tutti i tenant e sono chiamate multi-tenant.
Per illustrare come viene utilizzata la piattaforma per gli sviluppatori, il blueprint include un'applicazione di esempio, chiamata Cymbal Bank. Cymbal Bank è un'applicazione di microservizi 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 (documento successivo di questa serie).