DevOps

devops

Copyright ┬ę Shutterstock / Ashalatha

Was bedeutet DevOps?

Definition

DevOps bezeichnet einen noch relativ jungen Ansatz bei der Entwicklung von Anwendungssoftware. DevOps ist ein Akronym, das aus den Begriffen für Development (engl. für Entwicklung) und IT Operations (engl. für IT-Betrieb) gebildet wird. 

Bei diesem Entwicklungsmodell arbeiten die beiden sonst getrennt voneinander agierenden Bereiche Softwareentwicklung und IT eng zusammen. Dadurch soll sichergestellt werden, dass neu entwickelte Software mit einem Minimum an Problemen lauff├Ąhig ist.

Viele Unternehmen sehen sich heute durch das vermehrte Aufkommen von Cloud-basierten Webanwendungen in einer herausfordernden Situation, die schnelle Releases als Reaktion auf Probleme oder Anfragen von den Benutzern erm├Âglichen muss.

Die schnelle Reaktion ist zwar im Grunde das Ziel eines jeden Software-Entwicklungsteams, kann aber die Organisation in ihrer Gesamtheit belasten. Diese Belastung f├╝hrt oft zu mehr Fehlern und damit zu einer St├Ârung des Teams. DevOps versucht dieses Problem zu l├Âsen, indem es eine Partnerschaft zwischen Software-Entwicklung und IT Betrieb entwickelt. In dieser Struktur unterst├╝tzt das Entwicklungsteam betriebliche Anforderungen wie das Bereitstellen von Skripts, Diagnose sowie Last- und Leistungstests zu Beginn des Zyklus und das IT Team bietet sachkundigen Support und Feedback vor, w├Ąhrend und nach der Bereitstellung.

DevOps als neue Philosophie der Softwareentwicklung

Die Zusammenarbeit von Entwicklung und IT ist die Richtung, in die immer mehr Software-Entwicklungsteams gehen. Sie m├╝ssen angesichts des Drucks, unter dem die Unternehmen stehen, Codes mit h├Âherer Qualit├Ąt schneller und mit weniger Zeit f├╝r die Qualit├Ątssicherung produzieren. Dies ist eine neue Anforderungsqualit├Ąt. Viele Entwickler werden sich anpassen m├╝ssen, wenn sie weiterhin Erfolg haben wollen. Bei eng gesetzten Zeitlinien ist die Trennung zwischen Entwicklung, Qualit├Ątssicherung und Produktion ein Hemmnis f├╝r die Agilit├Ąt der Entwicklungsteams.

DevOps versucht, diese Trennung aufzuheben. Hierbei sind Team-Player F├Ąhigkeiten genauso gefragt und wichtig, wie die technischen F├Ąhigkeiten der Entwickler. Ein besonderer Fokus liegt auf der User-Experience und darauf, wie sich diese auf das Unternehmen auswirkt. DevOps ist keine neue Gruppe von Tools oder Organisationen, sondern eine neue Kultur und ein neuer Prozess. Entwicklung, Qualit├Ątssicherung und IT arbeiten eng zusammen, um neue Entwicklungen und Probleml├Âsungen zu beschleunigen.

Warum Softwareentwickler DevOps bevorzugen

Der neue Ansatz bietet den involvierten Mitarbeitern verschiedene Vorteile. Es gibt drei Hauptgr├╝nde, warum Softwareentwickler zunehmend in einer DevOps orientierten Organisation arbeiten m├Âchten.

DevOps erm├Âglicht ein weniger stressbelastetes Arbeiten und eine bessere Work-Live-Balance f├╝r alle Beteiligten. Untersuchungen in den USA haben gezeigt, dass Entwickler, die in einer DevOps orientierten Organisation arbeiten, nach Feierabend, mitten in der Nacht oder am Wochenende weniger gest├Ârt werden, um zum Beispiel Produktionsprobleme zu l├Âsen. Der Grund daf├╝r ist, dass durch die enge Zusammenarbeit von Entwicklung und IT kleine Probleme erkannt werden, bevor sie zu katastrophalen Problemen werden. DevOps ist auf eine proaktive ├ťberwachung und weniger auf reaktive Aktionen ausgerichtet.
In einem traditionellen Software-Prozess wird Software, sobald sie einmal entwickelt ist, weitergereicht und landet schlie├člich in der Produktion. Was der Endanwender dann sieht, kann sich dabei von dem unterscheiden, was der Entwickler geschrieben hat. Aber im Rahmen des neuen Entwicklungsmodells wird das, was die Entwickler programmieren, live geschaltet, sodass sie weiterhin Zugriff auf den Code haben, selbst nach der QA und der Produktion. Mit anderen Worten:┬áEntwickler begleiten ihren Code von der Erstellung bis zur Implementierung. Dadurch wird eine wesentlich h├Âhere Identifikation des Entwicklers mit seiner Software erreicht. Die Zufriedenheit mit seiner eigenen Arbeit w├Ąchst. Und zufriedene Mitarbeiter leisten mehr als unzufriedene.
Softwareentwicklern geht es nicht anders als anderen Menschen. Eine Arbeit, die in der realen Welt von Bedeutung ist, ├änderungen hervorruft, bringt in der Regel eine gr├Â├čere Befriedigung bei der Arbeit. Da Entwickler in einer traditionellen Organisation isoliert sind, arbeiten sie oft, an simulierten Problemen in erfundenen Szenarien – und sie sehen m├Âgliche ├änderungen durch ihr Eingreifen nur in diesen digitalen Szenarien.

In einem DevOps-Modell sind Szenarien real. Die Umgebungen werden zum Beispiel – bevor sie in Produktion gehen – einem Belastungstest unterzogen, um zu sehen, ob sie korrekt funktionieren. Ein anderes Beispiel ist, dass Testskripts selbst auf Realismus getestet werden, indem sie in der Produktionsumgebung eingesetzt werden, nicht nur in Testlabors. Wenn die Testergebnisse an die Entwickler weitergeben werden, k├Ânnen Sie sehen, wie ihr Code unter realen Bedingungen funktioniert.

Was bedeutet DevOps f├╝r ein Unternehmen?

W├Ąhrend bei DevOps mehr Wert auf Kultur und Prozess als auf Organisation gelegt wird, k├Ânnen Tools dazu beitragen, Best Practices durchzusetzen – insbesondere die gemeinsame Nutzung von Informationen zur Fehlerbehebung. Das erfordert mehr Kontrollinstrumente f├╝r die Software, um zu ├╝berpr├╝fen, wie die Software in der Qualit├Ątssicherung und Produktion funktioniert, nicht nur in der Entwicklung. Fehler m├╝ssen protokolliert, Systemparameter ├╝berpr├╝ft, Funktionszeit├╝berschreitungen registriert und w├Ąhrend der Programmausf├╝hrung andere Werte zur├╝ckgegeben werden, die dann in Protokolldateien festgehalten werden.

In einer isolierten Umgebung sehen Entwickler diese Protokolldateien nach der Ver├Âffentlichung des Codes in der Produktion h├Ąufig nicht mehr. In einer DevOps-Welt haben Entwickler Zugriff auf diese Dateien, unabh├Ąngig davon, wo die Software ausgef├╝hrt wird – in der Entwicklung, in der Qualit├Ątssicherung oder in der Produktion. Fehler k├Ânnen so nicht nur schneller behoben werden. Es ist auch weniger wahrscheinlich, dass dieselben Fehler in zuk├╝nftigen Versionen wieder auftauchen. Die Entwicklung selbst wird schneller und kann besser auf sich ├Ąndernde Anforderungen reagieren.

DevOps – alter Wein in neuen Schl├Ąuchen?

Bei DevOps geht es auch darum, mit alten Gewohnheiten zu brechen. Die Korrektur eines einzelnen Fehlers wird nicht viel dazu beitragen k├Ânnen, mit dem neuen Entwicklungsansatz fehlerfreie Software schneller zu erstellen. Eine bessere Kenngr├Â├če ist die Anzahl der Prozessfehler. Mit anderen Worten: wo sind die Prozesse, die zum Fehler gef├╝hrt haben? Ist der Code, den Entwickler auf ihren lokalen Maschinen programmieren, anders als der Code, der f├╝r die Qualit├Ątssicherung oder die Produktion bereitgestellt wird? Oder verh├Ąlt sich der Code in einer Umgebung anders, weil dort etwas vorhanden ist, das in den anderen Umgebungen nicht vorhanden ist?

Sofern Codeversionen nicht eng ├╝ber Umgebungen hinweg synchronisiert sind und die Umgebungen selbst nicht eng synchronisiert sind, ist es schwierig zu sagen, ob ein Problem ein logisches Problem, ein Datenproblem, ein Umgebungsproblem oder etwas anderes ist. Dies ist ein weiterer Ansatzpunkt, um mit geeigneten Tools die Konsistenz zu erzwingen.

Die wahrscheinlich wichtigste Anpassung wird bei den Entwicklern selbst und ihrer t├Ąglichen Interaktion mit anderen Teammitgliedern erfolgen m├╝ssen. Suchen und beheben Entwickler Software-Probleme proaktiv zum Beispiel durch die t├Ągliche Auswertung von Betriebsprotokollen oder warten sie auf Probleme? Und wenn es ein Problem gibt, wie wird es gel├Âst? Sind die Mitglieder im Team wirkliche Partner oder zeigt jeder mit dem Finger auf andere? Viel h├Ąngt bei DevOps von der F├╝hrung ab. Das Management muss mit gutem Beispiel vorangehen, die notwendigen Schulungen, jede erforderliche Unterst├╝tzung bereitstellen und die Entwickler f├╝r Teambeitr├Ąge belohnen – nicht nur f├╝r die technischen F├Ąhigkeiten.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte