Esempi di parchi risorse

Gli esempi in questa pagina mostrano alcuni scenari ipotetici che utilizzano parchi risorse che illustrare alcuni concetti e best practice delle nostre guide. Prima del giorno alla lettura di questa guida, dovresti avere familiarità con i concetti trattati in Introduzione flotte e Requisiti e best practice del parco risorse.

Esempio 1: parchi risorse con risorse di produzione, gestione temporanea e sviluppo

In questo primo esempio, sono presenti quattro cluster. Due cluster sono per la produzione (in due regioni per la ridondanza), una per le fasi di gestione temporanea e test e l'ultima una è per lo sviluppo. Tutti i cluster sono di proprietà e amministrati a livello centrale, da parte di un team della piattaforma. In questo semplice esempio, sono presenti due servizi: frontend e backend. Tuttavia, scenari più complessi possono avere e un numero maggiore di servizi e cluster.

Diagramma che illustra un sistema con risorse di produzione, gestione temporanea e sviluppo
Un sistema con risorse di produzione, gestione temporanea e sviluppo

Approccio 1: separare i parchi risorse per produzione, gestione temporanea e sviluppo

Un possibile approccio per sfruttare i parchi risorse è creare parchi risorse separati per risorse di produzione, gestione temporanea e sviluppo.

Per farlo, creiamo tre progetti host del parco risorse separati e uno dei due risorse in questi progetti o, nel caso del nostro sviluppo on-premise, registra il cluster nel progetto example-dev. Non abbiamo dovuto risolvere molti dei problemi di uguaglianza dello spazio dei nomi e uguaglianza dei servizi a causa di dettaglio in questo esempio, ma ci siamo assicurati che i valori prod-east e prod-west cluster sono stati ben normalizzati.

Il vantaggio di questo approccio è che abbiamo un forte isolamento tra ciascuna delle flotte. Lo svantaggio principale di questo approccio è che gestire tre flotte diverse, il che rende più difficile e coerenza tra produzione, gestione temporanea e sviluppo. Per i team di sviluppo, è anche più difficile svilupparlo rispetto ai servizi in fasi.

Diagramma che illustra i parchi risorse separate per le risorse di produzione, gestione temporanea e sviluppo
Parcheggi separati per le risorse di produzione, di gestione temporanea e di sviluppo

Approccio 2: un parco risorse per tutte le risorse

In questo approccio, creiamo un unico parco risorse per tutte le risorse.

Per farlo, possiamo lasciare le risorse nel progetto example e creare del parco risorse in quel progetto. Avremmo potuto separare la produzione dalla gestione temporanea di risorse posizionandole in altri progetti host del parco risorse VPC condiviso, ma abbiamo scelto di non farlo per semplicità in questo esempio.

Con questo approccio, dobbiamo assicurarci che i nostri spazi dei nomi e servizi normalizzati in tutto il parco risorse. Ad esempio, rinominiamo il nostro nome generico frontend a frontend-prod e frontend-staging nei cluster di produzione e di gestione temporanea rispettivamente. Infine, anche se potevamo mantenere i nomi originali dei nostri di sviluppo, forniamo nomi più chiari (ad esempio frontend-dev-alice) indicano che si tratta di spazi dei nomi di sviluppo.

Con questo approccio, preferiamo preferire la facilità di gestione all'isolamento. Stiamo fare affidamento sull'autorizzazione del mesh di servizi per impedire comunicazione, ma possiamo facilmente amministrare il sistema nel suo insieme parco risorse. Questo accordo ci consente di applicare criteri a tutte le risorse, il che può darci la certezza che lo sviluppo sia molto simile e produzione.

Diagramma che mostra un singolo parco risorse con risorse di produzione, gestione temporanea e sviluppo
Un unico parco risorse con risorse di produzione, gestione temporanea e sviluppo

Approccio 3: separa i parchi risorse per la produzione e per quelli non di produzione

In questo approccio, poniamo una via di mezzo che combina la gestione temporanea e risorse di sviluppo in un parco risorse non di produzione, mentre in un parco risorse separato.

Per farlo, creiamo due progetti host del parco risorse, uno per la produzione e uno per non in produzione. Inoltre, inseriamo le nostre risorse direttamente in questi progetti, il cluster dev on-premise registrato nel parco risorse non di produzione. Me devi normalizzare gli spazi dei nomi e i servizi tra risorse di sviluppo per fare chiarezza; ad esempio, rinominiamo frontend frontend-staging nel cluster di gestione temporanea.

Il vantaggio in questo caso è che la produzione è ben isolata dalla non produzione. Per Ad esempio, possiamo consentire ai servizi di sviluppo di comunicare con i servizi di gestione temporanea, la frontend di Alice può parlare con una backend inscenata mentre sviluppare il proprio servizio.

Diagramma che illustra i parchi risorse di produzione e non di produzione
Parchi di produzione e non di produzione

Riepilogo

Ciascuno degli approcci descritti nell'esempio 1 è valido. Quale le scelte dell'organizzazione dipendono dall'isolamento e dalla coerenza (e facilità di gestione); in altre parole, quanto isolamento è necessario tra diversi tipi di risorse rispetto alla coerenza necessaria tra di esse. Maggiore coerenza è più facile da ottenere con meno parchi risorse. Il terzo approccio è offerte come possibile compromesso, mantenendo la produzione completamente isolata mentre offrendo agli sviluppatori la possibilità di lavorare con servizi in fasi.

Esempio 2: parchi risorse con diversi proprietari di risorse

In questo esempio abbiamo due team, team-a e team-b. Questi team possiedono amministrano i propri cluster ed entrambi hanno utilizzato gli spazi dei nomi frontend e backend per i servizi che produce. Tuttavia, nessuna delle due frontendbackend sono effettivamente uguali a quelli del team-b. I due team vogliono creano un mesh di servizi in modo che i servizi possano interagire.

Diagramma che mostra un sistema con due team risorse
Un sistema con due team di assistenza

Senza un intervento, non è possibile rendere questi cluster parte del la stessa rete mesh. Un buon punto di partenza è trasferire la proprietà dei cluster a un un team della piattaforma centralizzata per instaurare un rapporto di fiducia tra loro. In alternativa, se team-a e team-b si fidano l'uno dell'altro, possono anche coordinarsi per formare questa fiducia. Il passaggio successivo consiste nel normalizzare l'utilizzo dello spazio dei nomi in modo che frontend e I backend non sono più sovraccarichi di questi due team cluster. Trascorso questo periodo, possono creare un unico parco risorse su tutte le risorse e creare il proprio mesh di servizi.

Diagramma che illustra le due squadre in un unico parco risorse
Due squadre in un unico parco risorse

Se non è possibile stabilire questo livello di fiducia, i team-a e team-b devono formare due parchi risorse separati che utilizzano due progetti host diversi. Lo svantaggio con questo approccio è che ora devono sfruttare la federazione mesh, più difficili da amministrare rispetto a un singolo mesh. Il vantaggio è che nessuno dei team ha bisogno normalizzare gli spazi dei nomi e i servizi di cui è stato eseguito il deployment, limitando la possibilità sia possibile una comunicazione specificamente autorizzata.

Diagramma che illustra le due squadre risorse in parchi risorse separati
Due squadre risorse in parchi risorse separati