Container machen die Entwicklung und Bereitstellung von Software in der Cloud agil und effizient. Mit «Container-as-a-Service» – kurz CaaS – vereinfachen Unternehmen das Management der Infrastruktur und verkürzen ihre Reaktionszeit.
Text: Urs Binder, Andreas Heer Bild: Unsplash, erstmals publiziert am 22. Oktober 2018,
Time-to-Market, Agilität, Digitalisierung: Das Geschäft entwickelt sich rasant und oft in unerwartete Richtungen. Die Anforderungen des Marktes – also der Kunden – und neue Geschäftsmodelle müssen rasch konzipiert und umgesetzt werden. Das erfordert eine insgesamt agile Organisation, ganz besonders aber auch eine IT, die unmittelbar auf die Bedürfnisse des Business reagiert. Es bleibt keine Zeit, Software von Drittanbietern in monatelangen Projekten zu testen und mit viel Aufwand die IT-Infrastruktur entsprechend anzupassen. Das gleiche gilt für in-House entwickelte Anwendungen.
Viele Unternehmen haben deshalb bereits einen Teil ihrer Applikationen in die Cloud verlagert. Doch den maximalen Nutzen in Sachen Skalierbarkeit und Flexibilität bringen erst Cloud-Native-Anwendungen. Sie sind oft webbasiert und modular aufgebaut mittels Microservices. Als Betriebsumgebung dienen Container-Cluster, Anpassung und Weiterentwicklung erfolgen nach DevOps/DevSecOps-Ansätzen. Automatisierte CI/CD-Prozesse (Continuous Integration and Deployment) beschleunigen Anpassungen und damit die Reaktionsfähigkeit des Unternehmens. Dies unter Einhaltung der Qualität der Applikationen und der Sicherheitsvorgaben. Sehr zur Zufriedenheit des Business.
Doch was zeichnet die Container-Technologie überhaupt aus? Technisch gesehen sind Container zwischen IaaS (Infrastructure as a Service) und PaaS (Platform as a Service) angesiedelt. Gegenüber IaaS bieten sie einen höheren Abstraktionsgrad und eine stärkere Standardisierung und gleichzeitig mehr Flexibilität im Betrieb. Und im Vergleich zum hochstandardisierten PaaS-Ansatz überwinden Container Einschränkungen wie etwa Datenbank-spezifische Schnittstellen. Das sorgt für mehr Freiheiten bei der Software-Entwicklung, weil die Wahl der Bibliotheken und Komponenten nicht eingeschränkt ist.
Hierzu wird die gesamte Anwendung inklusive aller benötigter Komponenten in einem so genannten «Container» eingekapselt. Es bestehen keine externen Abhängigkeiten, die Applikation läuft innerhalb des Containers autonom. Dadurch lassen sich Applikationen über unterschiedliche Systeme hinwegbewegen. Das erhöht die Flexibilität beim Ressourcenverbrauch und die Verfügbarkeit bei Hardware-Ausfällen.
Orchestrierungslösungen wie Kubernetes automatisieren die Bereitstellung und Verwaltung der Container-Cluster und -Applikationen und ermöglichen die eingangs erwähnten CI/CD-Prozesse.
Damit ist das Business also glücklich. Und die IT? Sie sieht sich gewissermassen mit der Kehrseite von Container-Architekturen konfrontiert: der Verwaltung von vielleicht Hunderten von Containern, verteilt über verschiedene Cluster. Und einem entsprechenden Monitoring und der Verwaltung nicht nur der Container, sondern auch der zugrundeliegenden Systeme. Was das Business glücklich macht, sorgt aufgrund der gestiegenen Komplexität für ein Seufzen bei den IT-Verantwortlichen. Und der Suche nach der nötigen Expertise für den Betrieb der doch recht neuen Container-Infrastruktur.
Doch glücklicherweise hat die Cloud-Evolution vor dem Servicegedanken nicht halt gemacht. Genau wie bei Virtualisierung und PaaS können Unternehmen den Betrieb der Container-Plattform entsprechenden Providern überlassen. Bei diesem Container-as-a-Service-Ansatz (CaaS) muss sich das Unternehmen nur um die Verwaltung der Container kümmern, während der Betrieb der zugrundeliegenden Infrastruktur vom CaaS-Provider übernommen wird. Dieser kümmert sich um die gesamte Ressourcenverwaltung und übernimmt diejenigen «Commodity»-Aufgaben, mit denen sich ein Unternehmen am Markt ohnehin nicht differenzieren kann. Dieses handhabt die Ressourcen wie Kubernetes-Cluster und Worker bequem über ein Web-Portal oder wahlweise über standardisierte API.
Damit können sich Unternehmen auf die Vorteile der Container-Technologie fokussieren: Eigene Entwickler und Software-Anbieter liefern neue Applikationen und Updates sehr rasch als Container aus. Unternehmen erreichen eine bessere Time-to-Market ihrer Lösungen und können schnell auf Kundenbedürfnisse reagieren. Und sie sparen Kosten, da die Produktivität der Entwickler steigt und der Aufwand der IT fürs System-Management sinkt. CaaS erleichtert zudem den Umstieg von On-Premises- oder «klassischen» Cloud-Umgebungen. Unternehmen können sich auf Design und Betrieb der Applikationslandschaft konzentrieren, ohne sich mit dem aufwändigen Betrieb der Infrastruktur zu beschäftigen.
Im Service inbegriffen sind zudem die komplexen Themen Sicherheit und Verfügbarkeit. Diese stellt der Provider sicher, der genaue Umfang der Massnahmen wird in einem SLA festgehalten. Unternehmen profitieren hierbei von der Expertise des Anbieters, ohne vertieftes eigenes Know-how aufbauen zu müssen.
Damit stellen Container Services alle zufrieden: Das Business, weil es dank zeitgemässer Infrastruktur und agilen, automatisierten Betriebsmodellen wie DevOps/DevSecOps neue Funktionen und Updates in Applikationen schnell ausrollen kann – entsprechend den Bedürfnissen des Marktes. Und die IT, weil sie sich nicht um den Betrieb der Cloud-Grundinfrastruktur kümmern muss.
Swisscom offeriert Unternehmenskunden flexible Orchestrierungsservices für containerisierte Anwendungen und bietet persönliche Beratung für die Planung und den effizienten Einsatz von Containern.
Newsletter
Möchten Sie regelmässig spannende Artikel und Whitepaper zu aktuellen ICT-Themen erhalten?