Architectuurbeslissingsdocument: containerorkestratie met Kubernetes
Probleemstelling
We moeten een containerorkestratieplatform kiezen voor ons groeiende portfolio van cloud-native applicaties. Onze huidige legacyplatform-deployment is te traag en niet agile genoeg om onze groeiende behoeften bij te houden. We zoeken een systeem waarmee we onze services zo efficiënt mogelijk kunnen schalen zonder in te leveren op agility of gebruiksgemak.
Overwogen alternatieven
Docker Swarm
Kubernetes
Apache Mesos
Genomen beslissing
Na een grondige analyse van elk containerorkestratieplatform hebben we besloten Kubernetes in te voeren als de beste optie voor onze bedrijfsbehoeften. Onze redenen om voor Kubernetes te kiezen zijn de volgende:
Schaalbaarheid: Het unieke ontwerp van Kubernetes is perfect voor het schalen van applicaties, en naarmate onze schaalbaarheidseisen in de loop van de tijd veranderen, heeft Kubernetes de ingebouwde mogelijkheid om aan deze veranderingen te voldoen zonder problemen.
Gedecentraliseerde architectuur: De master-worker-topologie van Kubernetes zorgt voor een gedecentraliseerde architectuur waarin geen enkel single point of failure bestaat.
Ondersteuning door de gemeenschap: Kubernetes heeft de grootste en actiefste open-sourcegemeenschap, wat betekent dat er veel bijdragers, ontwikkelaars en leveranciers zijn, waardoor het gemakkelijker is hulp te krijgen en middelen te vinden.
Ondersteuning door het ecosysteem: Kubernetes heeft een groeiend ecosysteem met diverse tools van derden, integraties met containerregisters, CI/CD-pijplijnen, dataopslag en meer.
Daarom hebben we besloten Kubernetes in te voeren als ons containerorkestratieplatform voor het heden en de nabije toekomst.