Sponsored Post Was ist das?

Devops, Container, Kubernetes – eine Zusammenfassung

DevOps Container Softwarentwicklung IT-Betrieb

Devops: Lieber mit- als gegeneinander arbeiten. (Foto: puhhha/Shutterstock)

Anzeige

Devops, Container und Kubernetes werden oft in einem Atemzug genannt – wer selbst nicht direkt im Thema steckt, erkennt die Zusammenhänge allerdings nicht unbedingt auf Anhieb. Es wird also Zeit für eine kleine Erklärung.

Devops – Zusammenarbeit von Entwicklung und Betrieb verbessern

claranet
claranet

Claranet unterstützt Unternehmen mit innovativen Cloud-Hosting-Services bei ihrer Digitalisierung.

In IT- und sogar in Non-IT-Kreisen ist Devops ein beliebtes Buzzword. Was viele falsch verstehen: Devops ist keine konkrete Methode, sondern eher eine Arbeitskultur beziehungsweise -philosophie. Manche sprechen sogar von einer Bewegung. Im Zentrum dieser steht – okay, das ist jetzt keine Überraschung – vor allem die engere Verzahnung von Entwicklung und IT-Betrieb.

Die Zusammenarbeit der beiden Bereiche zu verbessern, dient vor allem dazu, den steigenden Anforderungen an fehlerfreie, sichere und stabil laufende Software, die rasch und zuverlässig ausgeliefert wird, gerecht zu werden.

Außerdem werden Prozesse durch die bessere Nutzung von Synergien effizienter. Ein weiterer Vorteil: Indem die traditionell etwas unterschiedlichen Zielsetzungen von Entwicklung und Betrieb angeglichen werden, wird das Konfliktpotenzial verringert: Statt das Blame-Game zu spielen und sich gegenseitig die Schuld für etwaige Fehler zuzuweisen, kann gemeinsam nach Lösungen gesucht werden. Das macht die Zusammenarbeit für die Mitarbeiter harmonischer und zufriedenstellender.

Aber was bedeutet es im Alltag, nach dem Devops-Prinzip zu arbeiten?

Die Umstellung auf den Devops-Ansatz ist für Organisationen mit einschneidenden Veränderungen verbunden. Das bedeutet unter anderem:

  • Personelle Settings werden neu gedacht – hin zu cross-funktionalen Teams, die projektbasiert arbeiten. Alle Projektbeteiligten sind dabei gemeinsam für den Erfolg verantwortlich. Dennoch muss jederzeit klar sein, wo der jeweilige Zuständigkeitsbereich beginnt und endet.
  • Prozessual ist Devops eng mit dem Continuous-Delivery-Ansatz verbunden. Neue Versionen beziehungsweise einzelne Features sollen also zu jedem Zeitpunkt ausgeliefert werden können. Änderungen werden deutlich öfter deployt, sind dafür dann aber häufig nicht sehr umfangreich. Das führt im Idealfall zu einer geringeren Fehlerquote. Damit das funktioniert, ist ein hoher Grad an Automatisierung, zum Beispiel von Test- und Deployment-Prozessen, notwendig.

Die Funktionsweise von Containern

Container sind Einheiten, die Software und dazugehörige Dateien, Konfigurationen oder auch Bibliotheken enthalten. Alle Abhängigkeiten, die zum erfolgreichen Betrieb notwendig sind, werden also innerhalb des Containers abgebildet. Jeder Container ist dabei in sich geschlossen und hat keinen Zugriff auf andere Behälter.

Das hat mehrere Vorteile:

  • Dadurch, dass sich die Anwendungen strikt voneinander getrennt in Containern befinden, beeinträchtigen Sicherheitsprobleme einer Anwendung nicht die Sicherheit der anderen Applikationen. Diese Isolation kann auch genutzt werden, um größere Projekte in kleinere Teilprojekte aufzusplitten. An diesen können dann mehrere Teams unabhängig voneinander arbeiten.
  • Die Anwendungen werden unabhängiger von ihrer Systemumgebung und können problemlos zwischen unterschiedlichen (Cloud-)Umgebungen hin- und hergeschoben werden – das ist sowohl im Test- als auch im Normalbetrieb praktisch.
  • Die in Containern liegenden Anwendungen können schnell und unkompliziert bereitgestellt werden.
  • Skalierbarkeit gehört zu den großen Vorteilen der Containernutzung – wodurch bestehende Systemressourcen effizient und flexibel genutzt werden können.

Der Zusammenhang zwischen Containern und Devops

Die Arbeit mit Containern erleichtert die eindeutige Zuweisung von Zuständigkeiten: Während die Entwickler für alles verantwortlich sind, was innerhalb des Containers passiert, kann sich Operations ganz darauf konzentrieren, was mit den Containern geschieht. Das erleichtert das Finden von Fehlerquellen und verhindert, dass die Verantwortung für nicht funktionierende Abläufe hin und her geschoben werden kann.

Und: Container verändern sich nicht. Sollen Aktualisierungen vorgenommen werden, muss ein neues Image erstellt werden. Denkt man dann noch den eben erwähnten Punkt hinzu, dass Container sich in der Regel auf allen Systemen gleich verhalten, sorgt das für eine konsistente, stabile Arbeitsumgebung, in der wenig Verwirrung  à la „Bei mir lief es eben noch, wieso bei dir nicht?“ entsteht und (Teil-)Projekte relativ nahtlos zwischen Teams oder einzelnen Personen weitergegeben werden können. Gerade an der Übergabestelle zwischen Entwicklung und Betrieb verhindert das Probleme – die Zusammenarbeit wird flüssiger, weniger fehleranfällig und damit konfliktfreier.

Kubernetes kurzgefasst

Für die Bereitstellung ist eine Container-Engine zuständig. Um aber Container über verschiedene Systeme hinweg zu managen, braucht es Orchestrierungswerkzeuge wie die Open-Source-Plattform Kubernetes . Kubernetes (K8S) ordnet einen oder mehrere Container in Pods an, die in Nodes zusammengefasst werden, die wiederum ein Cluster bilden. Jedes Cluster hat mindestens einen Master, der die Nodes steuert.

Kubernetes Container Devops Softwareentwicklung

Beim Naming bleibt auch Kubernetes der Seefahrt treu – lose übersetzt bedeutet Kubernetes Steuermann. (Foto: gennady/Shutterstock)

Das Management-Tool übernimmt etwa die Steuerung von Ressourcen, gewährleistet die Verfügbarkeit der Anwendungen (durch Neustarts oder Umverteilung von Lasten) und kann zahlreiche Prozesse automatisieren – etwa Rollouts und Rollbacks.

Kubernetes hilft also dabei, die Potenziale von Containern voll auszuschöpfen und immer mehr Prozesse zu automatisieren. Das zahlt wiederum auf die Etablierung von Continuous Delivery und eine effiziente, enge und möglichst reibungslose Zusammenarbeit ganz im Sinne des Devops-Ansatzes ein. Kubernetes eröffnet damit sehr viele Möglichkeiten – ist gleichzeitig aber auch relativ komplex, weshalb die Implementierung gut geplant und gegebenenfalls professionell begleitet werden sollte.

Du bist jetzt ein Stück schlauer, willst aber noch tiefer in die Materie eintauchen? Oder du hast die ganze Zeit ohnehin nur weitergelesen, weil du noch auf etwas detailliertere Informationen zu Kubernetes gehofft hast? In beiden Fällen findest du im Whitepaper: Kubernetes im Unternehmen von Claranet und Crisp Research Antworten. Dort erfährst du, warum, wofür und wie du Kubernetes nutzen und was du bei der Implementierung beachten solltest.

Jetzt Whitepaper anfordern!
Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung