Start Software und Technologie Container lassen DevOps-Prozesse rund laufen

Container lassen DevOps-Prozesse rund laufen

Um Software schneller und in einer höheren Qualität zu entwickeln, verbessert die DevOps-Methode die Zusammenarbeit der beteiligten Akteure. Die Container-Technologie schafft dabei einen gemeinsamen Nenner, argumentiert der IT-Serviceprovider ConSol.

Container lassen DevOps-Prozesse rund laufen
© SerrNovik | istockphoto.com

Ein Wundermittel gegen Grabenkämpfe zwischen Dev (Development) und Ops (Operations) sind Container keinesfalls. Wer seiner IT-Abteilung eine Kubernetes-Plattform vor die Nase setzt, Legacy-Software lieblos in Container verpackt und dann auf der Plattform auf die Reise schickt, der kann nicht erwarten, dass der DevOps-Segen magisch auf ihn herabregnet. Gute Technologie ist wichtig, keine Frage. Am Ende ist sie aber maximal das Mittel zum Zweck. Um die Zusammenarbeit der Abteilungen zu verbessern, muss man in erster Linie die Mitarbeiter abholen.

Respekt und Fehlerkultur als Grundpfeiler für Teamarbeit

Projekte, die trotz „nicht optimaler“ technischer Rahmenbedingungen ihren Zweck fest im Blick haben und das Ziel erreichen, beweisen das eindrucksvoll. Es gibt durchaus Teams, die DevOps seit Jahr und Tag ohne Container leben. Der Erfolg dieser Projekte hat an erster Stelle mit Menschen zu tun: Die Grundvoraussetzung ist meist ein starkes, abteilungsübergreifendes Vertrauen, das im Zweifel erst einmal gewonnen werden muss. Für erfolgreiches DevOps sind ein respektvoller Umgang miteinander sowie eine lösungsorientierte Fehlerkultur wichtig. Ein bereichsübergreifendes Fachwissen bei Entwicklern wie Admins und das daraus entstehende Verständnis runden das Grundlagenpaket ab.

Solide Schutzmaßnahmen für die Produktionsumgebung, die Entwicklern einen limitierten Zugang ermöglichen, gehören ebenfalls dazu: Nur so ist sichergestellt, dass sie alles sehen, was sie für ihren Job brauchen. Der Weg dahin ist nicht immer komfortabel. Es dreht sich alles ums Lernen, Verstehen und um konstruktive Arbeit. Aber schließlich kommt das Team an einem Ort an, an dem es effektiver, effizienter und einfach besser arbeiten kann.

Container schaffen ein gemeinsames Vokabular

Container können auf dieser Reise helfen. Sie sind der gemeinsame Nenner in der Arbeit beider Abteilungen, sozusagen das gemeinsame Vokabular. Sie garantieren, dass sich die Test- und Betriebsumgebungen möglichst wenig unterscheiden – eine Grundvoraussetzung für effektives Testing. Für diese Umgebungen forcieren sie ein Code-getriebenes Arbeitsmodell plus Versionierung. Tritt ein Problem auf, lässt sich eine erratische Umgebungsversion schnell durch eine alte ersetzen. Das eröffnet Spielraum für den Zugriff durch Entwickler zwecks Problemanalyse. Gerade für dieses Vorhaben bieten Container-Plattformen wie Kubernetes und darauf aufbauende Observability-Systeme sehr gute Möglichkeiten.

Das alles ist machbar, sofern sich die Software für den Container-Betrieb eignet. So manche Legacy-Anwendung muss dafür einige Refactorings durchlaufen. Das reflexhafte Umwandeln von Monolithen in Microservices greift an dieser Stelle meistens zu kurz. Der Ressourcenhunger einer Anwendung ist nur ein Kriterium unter vielen. Bisweilen sind es eher unscheinbare Verhaltensweisen, mit denen eine Containerisierung nicht gelingen kann, etwa Cluster-unfähige Prozesse. Manchmal sind Container auch toleranter als gedacht und der Monolith passt mit ein paar Anpassungen doch hinein. Die passende Entscheidung erfordert in jedem Fall Augenmaß.

DevOps soll den Software-Lifecycle beschleunigen und gleichzeitig die Qualität der Software erhöhen. Dazu müssen sich in erster Linie die involvierten Abteilungen vertragen. Ihnen muss bewusst sein, dass sie in einem gemeinsamen Prozess arbeiten, den sie auch gemeinsam gestalten. Das geht auch ohne Container, aber mit ihnen eben besser. So wie sich das IT-Business entwickelt, kommen Unternehmen auch aus anderen Gründen bald nicht mehr um Container herum. Es gibt also keinen Grund auf diese Technologie zu verzichten. jf


Der Autor

Oliver Weise, ConsolOliver Weise ist Principal Software Engineer bei ConSol.