«Innovation, Stabilität, Kontinuität und Vertrauen: Dafür stehe ich - und dafür steht mein Team und die ganze UMB.»

Marco Reichmuth, Leiter Enterprise Services

Transformation-Trends: DevOps, Container und Microservices.

16.05.2017

Wichtige Trends in der IT-Branche werden oft durch das plötzliche Auftauchen von Fachbegriffen angezeigt, deren Bedeutung für die meisten von uns oft für längere Zeit unklar bleibt. Das ist auch mit Docker-Container, Microservices und DevOps nicht anders, die dann auch noch Continuous Integration und Continuous  Delivery mit sich bringen.

(Von Marco Reichmuth, Leiter Enterprise Services, UMB)

UMB Containers
Container und Microservices für portable Applikationen.

DevOps zur Transformation der Unternehmenskultur

Nicht alle IT-Fachbegriffe umschreiben Software, Hardware oder Programmiervorgänge. DevOps zum Beispiel steht für die Verschmelzung von Softwareentwicklung und IT-Betrieb. Dabei geht es weniger um spezifische Tools als um eine angewandte Philosophie  zur Verbesserung der internen Geschäftsprozesse und spezifisch, zur Vermeidung von Bruchstellen zwischen Entwicklung (Dev) und Betrieb (Ops). Das Ziel: Eine Unternehmenskultur, die eine effizientere Zusammenarbeit zwischen Entwicklern und Administratoren ermöglicht und die prompte Implementierung von qualitativ hochwertiger Software garantiert – von der Konzeption bis zur Auslieferung an Anwender oder Kunden. Dafür werden Prinzipien zugrunde gelegt, welche die Mitarbeiter in den Mittelpunkt stellen.

Docker[i]-Direktor und DevOps-Veteran John Willis hat die Grundsätze, die der Transformation eines Unternehmens mittels DevOps zugrunde liegen, mit der Abkürzung CAMS zusammengefasst: Culture, Automation, Measurement, Sharing.[ii] Kultur: Problemlösungen werden gemeinsam angegangen; Informationsaustausch und Lernbereitschaft sind unabdingbar. Automatisierung:  gehört dazu, wenn es um DevOps geht, weil dadurch Ressourcen freigemacht werden, die für Innovatives eingesetzt werden können. Messen: Die ständige Bewertung der geleisteten Arbeit durch das Ansetzen von Massstäben und einheitlichen Bewertungskriterien auf allen Ebenen in der Entwicklung und im Betrieb von Software. Teilen: Hier geht es um das Teilen von Wissen und Informationen innerhalb und zwischen den Arbeitsgruppen – proaktiv und grosszügig.

Von Continuous Delivery zu Continuous Integration

Mit DevOps oft in einem Atemzug genannt wird Continuous Delivery (CD)[iii]. Dabei handelt es sich um einen Software-Engineering-Ansatz, der den Software-Auslieferungsprozess verbessern und effizienter machen soll,  indem ermöglicht wird, Software jederzeit auszuliefern – sicher und schnell. CD sollte nicht mit DevOps verwechselt werden, welches einen grösseren Anwendungsbereich hat und sich weniger auf die Automatisierung der Software-Auslieferung konzentriert, sondern eben auf die interne Kultur. CD ist ein naher Verwandter von Continuous Integration[iv]. Dabei geht es, wie der Name sagt, um die permanente Integration von neuen oder geänderten Software-Komponenten in eine Applikation. Durch sofortiges Feedback soll die Qualität der Programme entscheidend verbessert werden.

Container und Microservices für portable Applikationen

Container werden nicht zufällig so genannt: Wie in der Transportindustrie geht es dabei um einen Behälter, der auf einfache Weise transportiert werden kann. Ein derartiger Behälter enthält nicht nur eine Anwendung, sondern auch alle notwendigen Prozesse und Dateien, die zu deren Ausführung benötigt werden. Durch die Bereitstellung einer Abbildung, die alle Abhängigkeiten einer Anwendung aufzeigt, wird ein Container portabel, bleibt konsistent und lässt sich so nach der Entwicklung einfacher in die Produktion überführen. Container sind dafür konzipiert, dass sie überall laufen: In der Cloud, lokal oder in gemischten Infrastrukturen. Im Gegensatz zu virtuellen Maschinen (VM) laufen Container ohne eingebautes Betriebssystem – OS-Ressourcen werden über eine Programmschnittstelle (API) abgerufen. Während Virtualisierung es möglich macht, mehrere Betriebssysteme gleichzeitig auf einem einzelnen System laufen zu lassen, teilen sich Container den gleichen Betriebssystem-Kernel und trennen die Anwendung vom übrigen System. So bleiben sie schlank und schnell.

Container und Microservices hängen eng zusammen, sind aber nicht dasselbe. Microservices sind Applikationen, die nur eine bestimmte Geschäftsfunktion ausüben – zum Beispiel Zahlungen ausführen oder eine Telefonzentrale betreiben. Zwar laufen Microservices hervorragend in Containern, diese können aber selbstverständlich auch für andere Applikationen eingesetzt werden. Container sind aber ausgezeichnet dazu geeignet, Microservices zu entwickeln und einzusetzen.[v]

Container sind schon seit Jahren ein wichtiger Bestandteil von Unix und Linux, und die  Open-Source-Technologie Docker ist heute die populärste Bereitstellungsmethode für Linux-Container, die gemäss Docker von Millionen Entwicklern eingesetzt wird. Es gibt zahlreiche Unternehmen, die im Containergeschäft mitmachen – zum Beispiel Microsoft, mit Windows Server Containers und Azure Container Service für die Cloud, aber auch Google, mit seiner Container Engine für Docker Container. Auch IBM, Amazon und VMware bieten Plattformen an.

Sind Sie bereit für die Transformation mit DevOps, Container oder Microservices?
UMB kann Ihnen Expertise und Unterstützung anbieten:

  • bei der konzeptionellen Erarbeitung von Lösungen rund um DevOps und Container;
  • bei den Prozessanpassungen, die für die Einführung von DevOps nötig werden;
  • beim Engineering, der Installation und der Konfiguration einer Containerplattform für eine Private PaaS;
  • bei der Anbindung Ihres Unternehmens an die UMB PaaS oder eine andere PaaS (wie z.B. Azure);
  • bei der Erstellung von Basis-Images, die für die Entwicklung nötig sind (Middleware);
  • bei der Beratung für eine Cloud-Strategie Ihres Unternehmens und Ihre Business Transformation.

Wir freuen uns, wenn Sie mit uns Kontakt aufnehmen.

DER AUTOR

Marco Reichmuth verantwortet als Leiter Team Enterprise Services bei UMB Kernthemen wie Mainframe, Storage und Unix/Linux. Marco Reichmuth hat einen Engineering- und Consulting-Background, ist Mitglied des Führungs-Boards und seit über 10 Jahren bei UMB.