Google Cloud Run – Serverless für Docker Container

Gepostet von Patrick am 18.05.2021

Docker

Lösungen für serverloses Computing liegen aktuell sehr im Trend. Der Grund dafür ist, dass diese meist kleineren Services sehr schnell erstellt und in Betrieb genommen werden können. Der Hauptvorteil liegt darin, dass man sich weder um die Infrastruktur noch um Server kümmern muss, da man dem Cloudanbieter lediglich den Code der einzelnen Funktionen übermittelt.

Der wichtigste Nutzen dieser Vorgangsweise: Man erhält damit einerseits unlimitierte Skalierbarkeit und bezahlt üblicherweise mit den Pay-Per-Use-Modellen genau das, was man verwendet. Hat man keinen Traffic, liegen die Kosten nahe bei Null. Der Hauptnachteil von Serverless-Lösungen liegt jedoch im Anbieter Lock-in und darin, dass bestehende Applikationen meistens umgeschrieben werden müssen, damit diese ins Serverless-Modell passen. Hier kommt Google Cloud Run ins Spiel. Dieser Dienst erlaubt es, das Konzept von Serverless per Docker-Container zu nutzen. Dadurch können bestehende Weblösungen als Docker verpackt und bei Google Cloud Run ohne Anpassungen betrieben werden. Diese Weblösung skaliert wie Serverless-Lösungen automatisch und beinahe unbegrenzt – hat die Webseite keine Besucher, so wird sie komplett heruntergefahren. Wie bereits erwähnt ist neben der Containerisierung kein Anbieter spezifischer Codes nötig. Somit kann man den Container jederzeit anderswo betreiben und umgeht damit den Vendor Lock-in.

Cloud Run lässt sich zudem optimal in bestehende Continous Deployment-Pipelines integrieren und ist auch offen für Deployments von GitHub oder Azure DevOps.

Ein weiterer Vorteil ist die komplette Versionierung innerhalb von Cloud Run. Jede neue Version bzw. jede Anpassung der Einstellungen wird versioniert. Somit ist jederzeit das Rollback auf eine ältere Version möglich und dies lediglich mit einem einfachen Mausklick.