Esegui il deployment di una piattaforma per sviluppatori aziendale 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 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 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 di software utilizzabili dai gruppi di sviluppo delle applicazioni della loro organizzazione.

Il progetto base dell'applicazione aziendale è progettato per essere compatibile con il progetto di base aziendale. Il progetto di base per le basi aziendali fornisce una serie di servizi di base su cui si basa il progetto base dell'applicazione aziendale, come Cloud Identity. Puoi eseguire il deployment del progetto base dell'applicazione aziendale senza eseguire il deployment del progetto di base dell'azienda se il tuo ambiente Google Cloud fornisce le funzionalità necessarie per supportare il progetto di base dell'applicazione aziendale.

Questo documento è destinato ai Cloud Architect e presuppone che tu stia utilizzando il progetto base dell'applicazione aziendale per eseguire il deployment di nuove applicazioni aziendali su Google Cloud. Tuttavia, se disponi già di applicazioni aziendali containerizzate esistenti su Google Cloud, puoi adottare in modo incrementale questa architettura di riferimento.

Questo documento presuppone inoltre la conoscenza dei 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 dei progetti per le applicazioni aziendali

Nella maggior parte delle aziende, una piattaforma per sviluppatori gestisce l'infrastruttura condivisa utilizzata da tutti gli sviluppatori. La piattaforma di sviluppo 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 di 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 sulla base del progetto di base aziendale (o equivalente). La piattaforma per sviluppatori include risorse quali cluster Google Kubernetes Engine (GKE), parco risorse GKE, fabbrica di applicazioni, pipeline di 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 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 su un insieme di risorse. Un tenant è proprietario di una o più applicazioni che vengono eseguite sulla piattaforma come servizio basato su container. Un'applicazione sulla piattaforma per sviluppatori è un pacchetto di codice sorgente e configurazione. Ogni applicazione viene creata e sottoposta a deployment tramite una pipeline CI/CD dedicata. Le applicazioni e i tenant sono isolati l'uno dall'altro in fase di esecuzione e nelle pipeline CI/CD. Parti del progetto di automazione 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 è progettata per simulare un'applicazione ad alta disponibilità di cui è stato eseguito il deployment in una configurazione Active-active 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).