Registro delle decisioni architetturali: orchestrazione di container con Kubernetes
Enunciato del problema
Dobbiamo scegliere una piattaforma di orchestrazione di container per il nostro crescente portafoglio di applicazioni cloud-native. Il nostro attuale deployment sulla piattaforma legacy è troppo lento e non abbastanza agile per tenere il passo con le nostre esigenze crescenti. Cerchiamo un sistema che ci permetta di scalare i nostri servizi nel modo più efficiente possibile senza compromettere agilità o facilità d'uso.
Alternative considerate
Docker Swarm
Kubernetes
Apache Mesos
Decisione presa
Dopo aver condotto un'analisi approfondita di ciascuna piattaforma di orchestrazione di container, abbiamo deciso di adottare Kubernetes come opzione migliore per le nostre esigenze aziendali. Le nostre ragioni per scegliere Kubernetes sono le seguenti:
Scalabilità: Il design unico di Kubernetes è perfetto per scalare le applicazioni e, man mano che i nostri requisiti di scalabilità si evolvono nel tempo, Kubernetes ha la capacità integrata di soddisfare questi cambiamenti senza problemi.
Architettura decentralizzata: La topologia master-worker di Kubernetes garantisce un'architettura decentralizzata che assicura l'assenza di un singolo punto di guasto.
Supporto della comunità: Kubernetes ha la comunità open source più grande e attiva, il che significa che ha un gran numero di contributori, sviluppatori e fornitori, rendendo più facile per noi ottenere aiuto e trovare risorse.
Supporto dell'ecosistema: Kubernetes ha un ecosistema in crescita con una varietà di strumenti di terze parti, integrazioni con registri di container, pipeline CI/CD, archiviazione dati e altro ancora.
Pertanto, abbiamo deciso di adottare Kubernetes come nostra piattaforma di orchestrazione di container per il presente e per l'immediato futuro.