The Doppler Quarterly (DEUTSCHE) Sommer 2018 | Page 26

Container Orchestration – Diese Plattformen – beispielsweise Kubernetes, Swarm und Mesos – zeichnen sich durch eine Leistungsfähigkeit aus, von der Entwickler auf einer PaaS-Plattform oder ande- ren konventionellen Entwicklungsplattformen nur träumen konnten. Sie können portierbare Anwen- dungen entwickeln und implementieren und überall ausführen, ohne sie für unterschiedliche Umgebun- gen neu konfigurieren und bereitstellen zu müssen. Diese Fähigkeit verleiht Entwicklern eine enorme Flexibilität und Kontrolle darüber, welche spezifi- schen Imageversionen sie wo bereitstellen möchten. Sie überblicken praktisch die gesamte Infrastruktur und entscheiden letztendlich über Laufzeiten, die Wiederverwendbarkeit von Images und die Umlage- rung containerisierter Anwendungen in die Cloud. Nachteile der Container Orchestration Der Prozess wird komplexer. Der Aufbau eines hochverfügbaren Kubernetes-Clusters ist keine leichte Aufgabe. Je höher die Zahl der Container-Orchestratoren, umso besser müssen Entwickler Dinge wie Serviceerken- nung, Lastenausgleich, Kapazitätsmanagement, Über- wachung, Protokollierung, Versionsupgrades und andere allgemeine Services im Blick behalten. So müs- sen Entwickler entweder eine schwierige Aufgabe meistern oder auf verwaltete Kubernetes-Orchestra- toren wie EKS, Fargate, AKS oder GKE zurückgreifen, die eine gewisse Anbieterabhängigkeit mit sich brin- gen und nicht immer auf dem neuesten Stand sind. Serverless – Serverless-Plattformen verursachen einen geringeren Arbeitsaufwand als Container-Or- chestratoren. Dank Tools wie AWS Lambda, Azure Functions oder IBM Openwhisk können Entwick- lungsteams Logik in Codefragmente einbetten, um auf spezifische Ereignisse zu reagieren. Bei Server- less handelt es sich im Wesentlichen um einen Mana- ged Service. Entwickler können sich auf Anwendun- gen konzentrieren, die auf Auslöser reagieren, und der Plattform den Rest überlassen – automatische Skalierung, Patching, flexibler Lastenausgleich usw. Eine hervorragende Voraussetzung für Entwickler, die ein Pay-as-you-Go-Modell nutzen möchten, da nur Gebühren entstehen, während der Code tatsäch- lich ausgeführt wird. Die Lösung eignet sich gut für ereignisgesteuerte, unvorhersagbare Workloads wie IoT, Big Data und Messaging. Im Laufe der Zeit kön- nen Middleware-Schichten optimiert werden, um die Anwendungsleistung zu verbessern. Außerdem ermöglicht das Serverless-Modell die einfache Integ- ration in APIs und Plug-Ins von Drittanbietern. 24 | THE DOPPLER | SOMMER 2018 Aber es gibt auch Nachteile. Da Serverless ein weni- ger ausgereiftes Computing-Modell ist, gibt es nicht genügend umfassende Beispiele und Dokumentatio- nen sowie zuverlässige Tools und Best Practices. Auch das Debuggen gestaltet sich bei dieser Platt- form schwieriger als bei anderen. Aufgrund der On-Demand-Struktur können „Kaltstarts“ bei einem inaktiven System Probleme verursachen. Darüber hinaus sind Laufzeiten von Serverless-Workloads auf fünf Minuten begrenzt. Alle längeren Vorgänge erfor- dern eine zusätzliche Orchestrierung oder ein Refac- toring in mehrere Mikroservices. Wahl der richtigen Plattform Für welche Plattform entscheiden Sie sich? Auf diese Frage gibt es keine allgemeingültige Antwort, weil es keine universelle Lösung gibt. Für bestimmte Workloads sind Container besser geeigne