Mit DevOps die Zusammenarbeit von Entwicklung und IT-Betrieb besser verzahnen

DevOps erleichtert die Kommunikation und Zusammenarbeit von Entwicklungs- und IT-Betriebsteams. Das erfordert aber die passende Unternehmenskultur.

Dieser Artikel behandelt

Data-Center-Jobs

ÄHNLICHE THEMEN

Die Unternehmens-IT wird heute massiv durch das Zusammenspiel mehrerer technologischer Veränderungen beeinflusst:...

Virtualisierung, Cloud Computing, Software-defined X, Big Data und Everything as a Service. All diese Entwicklungen zwingen die IT, sich zu ändern und DevOps genauer zu betrachten.

Ein Großteil der Änderungen in der IT-Landschaft lässt sich auf Geschwindigkeit zurückführen: Die Reaktionsgeschwindigkeit von Enduser-Anwendungen beispielsweise. Oder die Geschwindigkeit, in der Funktionen, Anwendungen und Prozesse geändert werden müssen, um besser auf die Bedürfnisse eines Unternehmens zu reagieren.

Mit dieser Entwicklung ändert sich auch die Vorgehensweiese, den IT-Job zu erledigen. Ein herkömmlicher IT-Projektplan folgt einer langen Zeitskala: Von der Entwicklung solider, benutzerdefinierter Projekt-Management-Kriterien über Projektpläne, Bewertungen, Change Management Prozesse bis zum Rollout. Dieser Vorgang dauert in der Regel bis zu 18 Monate.

Allerdings löst eine 18 Monate dauernde Problembehandlung nicht das tatsächliche Problem. Das ist bis dahin möglicherweise verschwunden und durch ein halbes Dutzend neuer ersetzt worden.

DevOps als eine Lösung

Hier kommt DevOps ins Spiel. Der Begriff setzt sich zusammen aus „Dev“, was die Softwareentwickler (Developers) repräsentiert, und „Ops“, was für den IT-Betrieb (Operations) steht. DevOps sollten im Wesentlichen die Entwicklungs- und IT-Betriebsteams durch Automatisierung näher zusammenbringen. Ziel ist es, die Geschwindigkeit, in der vom Business Änderungen verlangt werden, zu beschleunigen.

Mit DevOps sollen Aufgaben von Entwicklungsteams und die Aufgaben des operativen Teams besser verbunden beziehungsweise besser aufeinander abgestimmt werden. Neuere IT-Trends wie Software-defined-Infrastructure und Cloud Computing verlangen praktisch danach, die Schranken zwischen Entwicklungs- und Betriebsteams niederzureißen.

DevOps soll die Entwicklungs- und IT-Betriebsteams durch Automatisierung näher zusammenbringen.

Historisch gesehen arbeitete das Entwicklungsteam seit jeher eher als abgeschlossene Einheit. Die vom Business in Auftrag gegebenen IT-Projekte wurden auf Basis verschiedener Definitionsdokumente abgearbeitet bis eine in den Augen der Entwickler vollständige und funktionierende Applikation fertiggestellt war. Diese wurde zunächst getestet - in der Regel noch unter der Kontrolle der Entwicklungsabteilung. Anschließend aber übernahm das Operating-Team die Kontrolle der Anwendung und stellte sie den Anwendern zur Verfügung.

Wenn, wie es oft passiert, die neue Anwendung ein paar „Kinderkrankheiten“ hat, bekommen die Entwickler eine Fehlerliste vom Helpdesk zur Verfügung gestellt. Die Developer priorisieren aus ihrer Sicht die Fehler und führen dann die Änderungen aus, von denen sie denken, dass sie notwendig sind. Anschließend geht es weiter mit dem nächsten Iterationsschritt Testen und Rollout.

Doch was passiert, wenn es nicht bei einigen wenigen Fehlern bleibt? Anwendungen, die große Probleme im operativen IT-Betrieb verursachen, müssen zurückgezogen und die zugrunde liegenden Daten mit der alten Applikation neu synchronisiert werden, so dass Mitarbeiter, Partner und Kunden wieder arbeiten können. Das Entwicklerteam wird mit den Problemen konfrontiert, doch die können das Problem nicht nachvollziehen, da in ihrer Umgebung alles funktionierte.

Arbeit in Isolation führt zu Frustration

Es mutet wie eine psychologische Binsenweisheit an, aber es stimmt: Arbeiten in Isolation führt zu Frustration und Ineffizienz, weil jedes Team die Beschränkungen und Herausforderungen des anderen nicht versteht. Und noch entscheidender: IT und Business sind beide durch die strikte Trennung stark benachteiligt.

Technologieorientierte Unternehmen wie Facebook, Yahoo, Yammer, Amazon, Google und VMware haben deshalb alle DevOps bereitwillig angenommen.

Wie DevOps das Problem löst

Das eben beschriebene deutet es bereits an: Mitarbeiter der Entwicklungsteams müssen enger mit Mitarbeitern des operativen Teams zusammenarbeiten – aber nicht nur mit dem Team, sondern mit der gesamten operativen Umgebung eines Unternehmens. Und wann immer möglich sollte die Entwicklung mit realen Datensätzen ausgeführt werden, so dass alle Probleme zum frühestmöglichen Zeitpunkt gefunden werden.

Der Schlüssel zu DevOps ist Automatisierung. Es sollte so viel wie möglich automatisert werden. Sowohl der Fortgang eines Entwicklungsprojekts durch sämtliche Tests bis hin zum praktischen Einsatz, als auch die Behandlung von Betriebsproblemen.

Um dies zu ermöglichen, müssen Projekte in kleinere Einheiten unterteilt und erforderliche Funktionen streng priorisiert werden. Damit das Thema mit der höchsten Priorität zuerst umgesetzt wird, muss das Entwicklungsteam möglichst schnell ein funktionsfähiges System in die operative Umgebung einbringen. Der Fortschritt sollte gemessen und das erste Rollout innerhalb von 12 bis 18 Wochen realisiert werden.

Mitarbeiter der Entwicklungs- teams müssen enger mit Mitarbeitern des operativen Teams zusammen-arbeiten.

Dieses Vorgehen erhöht den Druck, sich von monolithischen Anwendungen zu lösen und Applikationen durch das Zusammenlegen von Funktionalitäten aus verschiedenen Quellen zu entwickeln. Bestehende Funktionalität innerhalb des Rechenzentrums sollte mit Cloud-Anwendungen und Services kombiniert werden, so dass das Rad nicht ständig neu erfunden werden muss. Um Anwendungen entsprechend entwickeln zu können, sollte man Fachwissen und die nötigen Daten heranziehen.

Die Tests sollten entweder als parallele Implementierung in der Laufzeitumgebung ausgeführt werden, so dass sich Performance-Probleme zum frühestmöglichen Zeitpunkt identifizieren lassen. Oder in einer Test-Umgebung mit einer Reihe von "harmlosen" Testern, die aus dem späteren Anwenderkreis kommen.

Das parallele Testen ist mit Virtualisierungstechnologien relativ einfach möglich. Kopien von vorhandenen Datenbanken können in virtuelle Maschinen (VM) verlegt und mit dem DevOps-Ansatz getestet werden. Die Tests können dann auf der Grundlage der bestehenden Netzwerklast ausgeführt werden, so dass die Leistung zur selben Zeit wie die Effizienz des Code überprüft wird.

Stellen Sie dabei sicher, dass Fehler schnell und effektiv beseitigt werden. In der Testphase zählt das Wort der Anwender. So lassen sich Probleme und Nutzungsmuster erkennen, wie Anwender die Applikation verwenden - viel effektiver als Computer dies können. Testen Sie dabei mit möglichst vielen Nutzer und überwachen und messen Sie alles, was Sie können. Nach der Testphase sollte das Umschalten sowohl der Anwendung auf die Live-Datenbank als auch der Benutzer auf den neuen Code, einfach möglich sein.

Beachten Sie, dass DevOps ein iterativer Prozess ist. Erhalten Sie lediglich eine 80-prozentige Lösung, fehlen immer noch 20 Prozent zu einer perfekten Lösung. Ziel ist es, vor allem die größten Probleme und alle neuen Komplikationen zu lösen, die seit den letzten Änderungen am Code aufgetaucht sind.

Wie Sie Ihre DevOps-Strategie optimieren

Oberstes Prinzip bei DevOps ist es, so viel wie möglich zu automatisieren – das Fertigstellen und Integrieren der Code-Elemente durch das Entwicklungsteam ebenso wie das Prüfen der Funktionalitäten. Das Durchschleusen dieser Elemente von der Entwicklung zum Test und dann in die Laufzeitumgebung trägt dazu bei, sicherzustellen, dass sich die inkrementellen Änderungen und Verbesserungen wirklich ausführen lassen.

Das Rollback kann ebenfalls automatisiert werden. Obgleich bei einem gut laufenden DevOps-Programm kein Rollback erforderlich sein sollte, muss es immer als Plan B verfügbar sein. Die Möglichkeit, zurück zu einer bekannten Position zu kommen -  vergleichbar einem Backup sowie Recovery Time Objective (RTO) und Recovery Point Objective (RPO) - sollte Teil jedes DevOps-Setups sein.

Auch das Feedback sollte automatisiert werden. Beim Warten auf Rückmeldungen vom Helpdesk gibt es keinen Punkt, an dem Kommentare und Feedbacks aggregiert und an das DevOps Teams berichtet werden. Verstehen Sie Feedback deshalb als Teil der Anwendung und bitten Sie um regelmäßiges Feedback als Teil des Prozesses. Berücksichtigen Sie auf jeden Fall das Feedback und überlegen Sie, wie sich die Rückmeldung auf das Geschäft auswirken wird - und nicht, wie interessant das Problem auf technischer Ebene klingt.

Insgesamt betrachtet ist DevOps ein ausgezeichneter Ansatz, der garantiert, dass die IT-Abteilung die Bedürfnisse des Business schnell und genau erfüllt. Allerdings führt ein schlecht umgesetzter DevOps- Ansatz zu mehr Fehlern, so dass Anwender ein negatives Nutzererlebnis erfahren.

Das Implementieren einer DevOps-Strategie ist zudem nicht einfach, da es eine neue Unternehmenskultur erfordert. DevOps setzt sich aus einer Mischung aus Kultur, Prozess, Technologie und Anwendern zusammen.

DevOps erfordert tiefe kulturelle und organisatorische Veränderungen und das beinhaltet auch ein verändertes Verhalten der Mitarbeiter. Es bedeutet, seit Jahrzehnten angewandte explizite und implizite IT-Verfahren über Bord zu werfen.

Zwingt man Entwicklungs- und Operations-Team lediglich zur Zusammenarbeit, wird das zu keinem Erfolg führen. In der Ära von Cloud Computing und Software-Defined-X muss jedes Team die Bedeutung der Zusammenarbeit verstehen und schätzen.

Automatisieren, das Setzen von Anreizen für eine Kooperation von Entwicklungs- und IT-Betriebs-Teams, Zeit für die Schulung der Mitarbeiter, die Entwicklung neuer Architektur-Standards und die konsequente Ausrichtung der IT an den Geschäftszielen – das alles sind Schritte, die sicherstellen, dass eine DevOps Strategie nicht ausgehöhlt wird.

Wenn Sie sich vergewissern, dass die wichtigsten Bereiche abgedeckt sind, wird dies dazu beitragen, dass DevOps funktioniert.

Folgen Sie SearchDataCenter.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Dezember 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Data Center: Jobs und Personal

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close