Cloud-basierte agile Entwicklung

DevOps, und alle ziehen an einem Strang

Seite: 2/3

Anbieter zum Thema

Gemeinsame Verantwortung und Automatisierung

Um die Abläufe in Entwicklung und Betrieb mit dem DevOps-Konzept zu dynamisieren, können Unternehmen vier Grundelemente einsetzen. Zunächst einmal benötigen sie Arbeitsgruppen aus Entwicklern und Betriebspersonal. Die Teams planen frühzeitig Entwicklung, Test und Rollout, wodurch sie eine gemeinsame Verantwortung für einen IT-Service oder ein Produkt besitzen. Das zweite Element ist „Continuous Integration and Delivery“. Agile Entwicklung erfordert zunächst „Continuous Integration“: Fertige Releases müssen kurz hintereinander getestet und rasch in die IT-Infrastruktur eingebunden werden. Die Konsequenz daraus ist „Continuous Delivery“, Anwendungspakete erreichen in kurzer Abfolge die Produktionsumgebung. Dabei darf es nicht zu einem Rückstau kommen.

Agile Methoden beschleunigen Test, Integration und Bereitstellung eines Release. Deshalb ist ein drittes Element der Abbau von Handarbeit bei der Provisionierung. Die aktuelle DevOps-Werkzeugpalette kennt viele Automatisierungs-Tools für diesen Zweck, zum Beispiel für das automatisierte Bereitstellen von Umgebungen und deren Integration in die vorhandene IT-Infrastruktur (Puppet, Chef) oder das Verwalten von Softwarekomponenten (Nexus).

Das vierte Element ist die Cloud, genauer gesagt: Infrastructure as a Service (IaaS). Sie ist ideal für die Entwicklung, den Test und die Integration von neuen Releases nach dem agilen Paradigma. Ganze Entwicklungsplattformen samt Tutorials, Experten-Communities und Support helfen bei der Bewältigung der Arbeit. Außerdem sind in der Wolke virtuelle Umgebungen konfigurierbar, in denen die Software unter realen Bedingungen getestet und optimiert werden kann. Storage, Server und Netzwerkkomponenten werden mit nur wenigen Mausklicks vorbereitet. Die eigene Infrastruktur bleibt vom Entwicklungsprozess weitgehend unberührt – mit bedeutenden Vorteilen für den Betrieb und die Kosten.

Agilität und Kommunikation

Doch was heißt das nun in der Praxis? Werden die Admins durch automatische, vom Entwickler gestartete Routinen abgeschafft? Mit Sicherheit nicht, denn so leicht wird den IT-Organisationen die Arbeit nicht ausgehen. Immer mehr Releases und stetig wachsende Anforderungen in anderen Bereichen sorgen für eine hohe Auslastung. Die agilen Methoden erlauben den Entwicklerteams eine höhere Produktivität und kurze, schnell aufeinanderfolgende Arbeitszyklen. Cloud Computing (IaaS) und die verschiedenen Automatisierungs-Tools sind die Voraussetzung für diese Beschleunigung. Die Konsequenz ist allerdings nicht, dass Entwicklung und Rollout einer neuen Software-Version einfacher geworden sind.

Im Gegenteil. Die Teams, die Software herstellen und betreiben, arbeiten jetzt in einer deutlich komplexeren Umgebung als dies noch vor wenigen Jahren der Fall war. Ab einer gewissen Unternehmensgröße und Schwierigkeit der Business-Anforderungen sind jederzeit mehrere Releases in Vorbereitung. Mehr noch: Sie befinden sich in unterschiedlichen Phasen von Entwicklung, Test, Integration und Deployment. Hinzu kommt eine Eigenheit von DevOps, die häufig übersehen wird. Das Konzept ist keine Sammlung von Best Practices und kein einfach einzusetzender Blueprint für erfolgreiche Software-Projekte. Es fordert eine Vorgehensweise, die auf Agilität und Kommunikation beruht, gibt aber keinerlei Prozesse vor.

Artikelfiles und Artikellinks

(ID:43546451)