Wie ein Startup von Docker-Compose zu Kubernetes kam

In diesem Artikel möchte ich darüber sprechen, wie wir den Orchestrierungsansatz unseres Startup-Projekts geändert haben, warum wir das getan haben und welche Probleme wir dabei gelöst haben. Dieser Artikel kann kaum den Anspruch erheben, einzigartig zu sein, aber ich denke dennoch, dass er für jemanden nützlich sein kann, da das Material im Prozess der Lösung des Problems von uns mit einem ordentlichen Knarren gesammelt wurde.  

Was hatten wir und worüber reden wir? Und wir hatten ein Start-up-Projekt mit einer etwa 2-jährigen Entwicklungsgeschichte aus dem Werbebereich. Das Projekt wurde ursprünglich als Microservice erstellt und sein Serverteil wurde in Symfony + ein wenig Laravel, Django und nativen NodeJs geschrieben. Bei den Diensten handelt es sich im Wesentlichen um eine API für mobile Clients (es gibt drei davon im Projekt) und unser eigenes SDK für IOS (integriert in die Anwendungen unserer Kunden) sowie Webschnittstellen und verschiedene Dashboards dieser Kunden. Alle Dienste wurden ursprünglich dockerisiert und von Docker-Compose ausgeführt.

Allerdings wurde Docker-Compose nicht überall verwendet, sondern nur in der lokalen Umgebung der Entwickler, auf dem Testserver und innerhalb der Pipeline beim Erstellen und Testen von Diensten. In der Produktionsumgebung kam jedoch die Google Kubernetes Engine (GKE) zum Einsatz. Darüber hinaus haben wir die GKE-Konfiguration zu Beginn des Projekts vollständig über die Weboberfläche vorgenommen, was recht schnell ging und, wie es uns damals erschien, bequem war. Hier wurde nur der Prozess der Erstellung von Docker-Images zum Ausführen von Diensten in GKE automatisiert.

weiter lesen