Il progetto include un'applicazione di esempio denominata Cymbal Bank. Cymbal La banca dimostra le best practice consigliate per i container diverse applicazioni. L'applicazione Cymbal Bank consente agli utenti di creare account di accesso, all'account, visualizzare la cronologia delle transazioni, effettuare versamenti e trasferire denaro agli altri utenti . I servizi di Cymbal Bank vengono eseguiti come container si connettono tra loro tramite API REST e API gRPC.
Il seguente diagramma mostra l'applicazione Cymbal Bank di cui è stato eseguito il deployment di sviluppo di progetti base.
Ogni applicazione è anche un servizio di rete. Solo l'applicazione frontend esposto esternamente al cluster tramite il controller gateway GKE. Tutte le applicazioni vengono eseguite come servizi distribuiti mediante l'uso di Cloud Service Mesh.
Per ulteriori informazioni sui servizi inclusi in Cymbal Bank vedi il repository di Cymbal Bank su GitHub.
Inquilini di Cymbal Bank
Per garantire la separazione tra i tenant, ogni tenant nella piattaforma di sviluppo ha un ambito del team e almeno uno spazio dei nomi del parco risorse. I tenant non condividono mai uno spazio dei nomi. Per eseguire il deployment di Cymbal Bank, ogni tenant ha solo bisogno uno spazio dei nomi. In scenari più complessi, un tenant può avere diversi spazi dei nomi.
Per illustrare il deployment di Cymbal Bank sulla piattaforma per sviluppatori, in questo esempio si presuppone che che esistevano tre team di sviluppo delle applicazioni separati, aree di interesse. Terraform crea il seguente tenant della piattaforma per sviluppatori per ognuno di questi squadre:
frontend
tenant: un team di sviluppo incentrato sul sito web e per applicazioni mobile.- tenant
accounts
: un team di sviluppo incentrato sui dati dei clienti. - tenant
transactions
: un team che gestisce i servizi di transazione.
App di Cymbal Bank
L'applicazione Cymbal Bank è composta da sei microservizi: frontend,
ledgerwriter, balancereader, transactionhistory, userservice
e contacts
.
Ogni microservizio è mappato a un'applicazione all'interno del tenant di cui è proprietario.
La tabella seguente descrive la mappatura dei team, dell'ambito del team e del parco risorse e microservizi per Cymbal Bank. Ai fini di questa mappatura, in questo esempio si suppone che Cymbal Bank sia sviluppato da tre operatori di applicazioni separati team di sicurezza. I team gestiscono un numero variabile di servizi. A ogni team è assegnato un team l'ambito di attività.
Team | Ambito del team | Spazio dei nomi del parco risorse | Applicazione - Microservizio | Account di servizio Kubernetes |
---|---|---|---|---|
Team frontend |
|
|
|
|
Team transazioni |
|
|
|
|
|
||||
|
||||
Team dedicato agli account |
|
|
|
|
|
Struttura del database di Cymbal Bank
Il deployment dei database di Cymbal Bank viene eseguito
AlloyDB per PostgreSQL. La
configurati con un'istanza principale a disponibilità elevata in una regione con
nodi ridondanti in zone diverse e repliche tra regioni
per il ripristino di emergenza. Cymbal Bank utilizza l'autenticazione dei database IAM
per consentire ai servizi di accedere ai database. I database vengono criptati
CMEK. Due.
Vengono utilizzati i database PostgreSQL: ledger-db
per le transazioni e accounts-db
per gli account utente.
Passaggi successivi
- Scopri di più sulla mappatura dei principi di sicurezza BeyondProd al progetto (prossimo documento di questa serie).