ner zu verwalten und zu orchestrieren, um sie beispielsweise zu einer komplexen, funktionsreichen Anwendung zu verknüpfen. „OpenShift Enterprise“ nutzt dazu das Tool „Kubernetes 1.0“, das sich rasch zum Standard für verteilte Infrastrukturen entwickelt hat. Es wird unterstützt von der kürzlich gegründeten Cloud Native Computing Foundation.
Kubernetes bezeichnet Docker-Container-Instanzen als Pods und weist diese physikalischen Nodes zu. Der Zugriff auf Pods wird über Service-Controller ermöglicht. Dieses Konzept bietet eine Abstraktion der physikalischen Infrastruktur und erlaubt eine einfache Skalierung. Openshift baut an der Stelle auf Kubernetes und Docker auf und ermöglicht die Entwicklerproduktivität, die interdisziplinäre Teams benötigen.
Perfekt für Microservices
Da Container Anwendungen vollständig von der jeweiligen Umgebung trennen, eignen sie sich sehr gut, um lose gekoppelte Microservices zu betreiben, die nur eine einzige, einfache Funktion ausführen. Beispiele sind etwa das Auslesen von Sensoren, das Sammeln von Daten oder der Versand von Nachrichten.
Microservices vermeiden viele der Fallstricke von monolithischen und komplexen Anwendungen, da sich die Services unabhängig voneinander ändern lassen. Jeder Service stellt aus Sicht der anderen Services eine Art Blackbox dar. Solange sich ihre Schnittstellen nicht ändern und sie den angeforderten Prozess umsetzen, kann der Entwickler die jeweiligen Services anpassen.
Der Microservices-Ansatz erleichtert kleinen Teams die Entwicklung und den Test individueller Dienste sowie die schnelle Bereitstellung neuer Versionen. Dies wiederum vereinfacht auch die Implementierung von DevOps, einem Konzept, das auf Prozessen und Tools für die enge Verzahnung von Applikationsentwicklung und Betrieb basiert, um die bekannten Bruchstellen zwischen beiden zu überwinden. Wichtige Elemente von DevOps sind eine Kultur der Zusammenarbeit von Entwicklern und IT-Betrieb, automatisierte Prozesse und Technologien wie Container.
Agile Entwicklung dank PaaS
Mit einer PaaS-Lösung arbeiten Entwickler produktiver, da sie sich auf das Programmieren und Erstellen von APIs oder verteilten Anwendungs-Architekturen konzentrieren können. Darüber hinaus profitieren sie von folgenden PaaS-Funktionen:
Container haben sich in der Linux-Welt zu einer zentralen Methode für die Paketierung und Bereitstellung von Applikationen herauskristallisiert. Über PaaS-Lösungen können Unternehmen Container-basierte Anwendungen effizienter entwickeln, automatisiert bereitstellen, betreiben, verteilen und verwalten. Anwendungen lassen sich damit auch leichter an Veränderungen der Infrastruktur und Geschäftsprozesse anpassen. Zudem vereinfacht sich damit der Aufbau neuer Anwendungs-Architekturen, die auf Microservices basieren.