Aus Kubernetes wird Container as a Service

Microservices

von - 08.01.2021
Treibende Faktoren der Container-Technologie
Auch erfolgskritische Anwendungen: Vor allem Datenbanken und Plattformen wandern immer häufiger in moderne Container.
(Quelle: Techconsult/Cronon -  Nennungen mit "sehr relevant"/"eher relevant", Mehrfachnennungen, Unternehmen in Deutschland )
Doch wie sehen Anwendungen in Containern eigentlich aus? Im Zusammenhang mit Containern ist häufig von Microservices die Rede. Darunter versteht man Dienste, die jeweils eine kleine Aufgabe erfüllen. Die Microservices lassen sich über Schnittstellen so miteinander verbinden, dass sich daraus eine beliebig komplexe Software ergibt. Darüber hinaus sind die einzelnen Funktionsblöcke je nach Nutzung und Auslastung unabhängig voneinander skalierbar. Die beiden Haupteigenschaften von Microservices sind dabei Spezialisierung und Eigenständigkeit. So beschränkt sich jeder Dienst auf die Lösung eines bestimmten Problems - und arbeitet dabei eigenständig: Jeder dieser kleinen Dienste lässt sich bereitstellen, betreiben und skalieren, ohne die Funktionsfähigkeit anderer Services zu beeinträchtigen.
Aus technischer Sicht besteht jedoch zwischen Microservices und Containern kein direkter Zusammenhang. So lassen sich auch komplette monolithische Applikationen mit Hilfe von Containern betreiben. Doch gerade in Anbetracht einer möglichen Skalierung beziehungsweise einer effizienten Nutzung der IT-Infrastruktur ist das manchmal nicht unbedingt sinnvoll.
Ähnlich sieht es Wolfgang Kurz, CEO beim IT-Dienstleister Indevis: „Natürlich kann man auch größere Blöcke in Container packen. Allerdings verfehlt man dann etwas den ursprünglichen Gedanken, für jeden Task einen Container zu haben, der dann im Idealfall ‚state­less‘ ist und im Bedarfsfall einfach häufiger gestartet wird.“ Wolle man beispielsweise eine große SQL-Datenbank in einem Container betreiben, dann stelle sich die Frage, warum sie in einem Container laufen sollte. „In klassischen Infrastrukturen hat man das Thema des persistenten hochverfügbaren Storage mit hohem I/O, funktionierendem Cluster und Backup-Konzept seit vielen Jahren im Einsatz.“ Wenn man so etwas in einem Container machen wolle, dann sei man schnell im experimentellen Bereich oder müsse sehr viel Know-how selbst aufbauen. Das sei nur für sehr große Firmen oder Cloud-Anbieter sinnvoll.
Simon Fleischer
Simon Fleischer
Teamleiter Software Engineering bei Consol
www.consol.de
Foto: Consol
„Man kann sagen, dass Container längst ‚angekommen‘ und reif für den Produktiveinsatz sind. Von einer flächendeckenden Durchdringung zu sprechen, wäre aber übertrieben.“
In einigen Fällen kann es dennoch ratsam sein, auch ganze Applikationen in Container zu packen. Laut Simon Fleischer von Consol hat es sich insbesondere während der Entwicklungsphase bewährt, lokale Dienste wie etwa Datenbanken oder Queue-Server in Containern zu starten, „da auf diese Weise sehr einfach identische Umgebungen für alle Kollegen im Entwicklungsteam erstellt werden können“.
Verwandte Themen