Open Source im professionellen Einsatz
Linux-Magazin 04/2009

Agile Methoden auch in der Systemadministration

Munteres Miteinander

Entwickler müssen sich organisieren, agiles Vorgehen ist dabei gerade en vogue. Da fragen sich Sysadmins, ob sich Iterationen, das Arbeiten in Paaren und kurze Meetings nicht übertragen lassen.

612

Immer mehr Unternehmen stellen vom klassischen Wasserfall auf iterative Software-Entwicklung wie Scrum [1] oder Extreme Programming (XP, [2]) um. In der Systemadministration hingegen hat sich der agile Gedanke bisher nicht durchgesetzt - und das, obwohl es sich hierbei genauso um einen iterativen Prozess handelt wie beim Programmieren. Denn nur durch ständige kleine Anpassungen bleibt das Gesamtsystem dauerhaft stabil. Grund genug, einmal über den Tellerrand zu schauen und zu überlegen, wie eine agile Systemadministration aussähe.

XP legt 13 Grundpraktiken fest, die Software-Entwickler ohne Ausnahme befolgen [3]. Wer sie auf die Arbeit eines Admin übertragen will, muss einige von ihnen anpassen. Damit entsteht agile Systemadministration (ASA).

Agile Praktiken

So könnte ein Grundsatz der ASA-Arbeitsweise zum Beispiel lauten, keinen Webserver zu betreiben, solange ihn kein Monitoring überwacht. Das Verfahren nennt die Fachwelt Continous Testing.

Um die Qualität auf einem hohen Niveau zu halten, sollten Entwickler Software testgetrieben entwickeln. Durch Test Driven Development (TDD) erreichen sie, möglichst viele Fehlerursachen bereits im Vorfeld auszuschließen. So lassen sich Systeme besser warten und erweitern. Einige Programmierer verlieben sich regelrecht in die Tests, wenn der grüne Balken des Werkzeugs anzeigt, dass der eigene Code Hunderte automatische Unit-Tests erfolgreich absolviert hat und somit noch funktioniert.

Das Vorgehen bietet dem Entwickler Gewissheit, seine Software im Griff zu haben, wenn er nach Hause geht. Auch Admins dürfen sich so fühlen, wenn sie Server oder ganze Netzwerke mit automatisierten Tests abdecken (siehe Praktik 1 in der Tabelle 1). Es ist für Admins ein schöner Anblick, wenn alle Anzeigen der Netzwerküberwachung von Nagios (siehe Abbildung 1) auf Grün stehen [4].

Abbildung 1: Sind alle Statusbalken grün, darf sich der Admin beruhigt zurücklegen. Das funktioniert besonders dann, wenn für jeden Dienst und jede Maschine mindestens ein zugehöriger Test den Betrieb überwacht.

So haben die Systemverwalter das Ergebnis ihrer Arbeit direkt vor Augen: Sie wissen auf einen Blick, wie viel freien Speicher der Server noch hat und wie schnell ihre Dienste gerade antworten. Webtests überprüfen zusätzlich dauerhaft und automatisiert, ob alle Applikationen noch verfügbar sind.

Diese Rückversicherung durch die Tests ermöglicht es, auch komplexere Umbauten an der Infrastruktur durchzuführen, ohne Gefahr zu laufen, Relevantes zu übersehen. Führt der Admin die bestehenden Tests auf neuen Servern aus, erhält er so automatisch eine Liste von Änderungen, die er noch vornehmen muss. Somit vereinfacht sich seine Arbeit.

XP-Entwickler programmieren paarweise. Abwechselnd sitzt einer von beiden an der Tastatur (Driver) und der andere daneben (Co-Driver). Auf diese Weise schulen sie sich gegenseitig. Sie befolgen Teamregeln wie Codingstyles und analysieren den Quelltext des jeweils anderen. Zudem darf jedes Paar die Quellen anderer Paare bearbeiten. Das erhöht die Qualität des Code und es entstehen keine Wissensmonopole bei Einzelnen.

Tabelle 1: Zehn agile Regeln
für die Systemadministration

Paare lernen schnell voneinander

Admins schreiben meist keinen Quellcode. Stattdessen pflegen sie eine gemeinsame Konfiguration der Server oder des Netzwerks. Zusätzlich vereinheitlichen sie die Wege, wie sie Systeme konfigurieren. Wenn Administratoren neu zu einem Projekt hinzukommen und einen Server aufsetzen, ist es sinnvoll, dies gemeinsam mit einem erfahrenen Kollegen am Bildschirm zu machen (siehe Praktik 2 in Tabelle 1). Auf diesem Weg lernen sie die Arbeitsweisen des Teams schnell kennen. Besonders bietet sich das Administrieren im Paar bei zeitkritischen Problemen an, etwa wenn es darum geht, Downtimes zu vermeiden oder Ausfälle zu beheben.

Dokumentieren ist mühsam, aber notwendig. Ändert sich die Technik, sollten Admins ihre Aufzeichnungen anpassen, sonst bleiben die Dokumente nutzlos oder werden gar gefährlich. Um Kosten zu sparen, verzichtet das agile Paradigma möglichst auf statische Dokumente (siehe Praktik 3 in Tabelle 1). Als Ersatz dienen Unit-Tests. Der Code selbst sollte dann allerdings für sich selbst sprechen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Agile Gemeinschaft

    Vor zehn Jahren formulierten ein paar Entwickler das Agile Manifesto, heute arbeiten viele Software-Entwickler in Unternehmen danach. Auch auf die verteilte Open-Source-Entwicklung lassen sich einige Aspekte agiler Verfahren aus Scrum & Co. anwenden.

  • Scrum und Kanban

    Wie organisieren moderne Firmen ihren IT-Betrieb? Das Linux-Magazin widmet dieser Frage seinen Schwerpunkt. Zu Beginn sieht sich die Redaktion in zwei Internet-Unternehmen in Berlin und München um und stieß auf die agilen Methoden Scrum und Kanban, die derzeit in Admin-Abteilungen einziehen.

  • Cebit: Agiles Dokumentenmanagement mit Agorum Core Pro

    Auch das freie Dokumentenmanagementsystem Agorum Core Pro 7.9.1 war auf der Cebit zu sehen, seine Macher zeigten, was es Neues kann.

  • Moderne Admins

    Wohin führt die schnell zunehmende Zahl zu betreuender Systeme bei gleichbleibender Zahl an Betreuern? Zu Überforderung und Chaos? Andernfalls zu Scrum, Kanban und anderen agilen Arbeits- und Organisationsformen? Das Linux-Magazin hat vier Profis zu ihrer Rolle inmitten eines Berufes im Wandel befragt.

  • Agiler Urahn

    Konfigurationsmanagement fängt bei jedem einzelnen Client an. Dort sind lokale Eigenheiten zu beachten, Bedingungen zu formulieren und dynamisch anzupassen. Der Altmeister der Zunft bringt eine Sprache mit, die intuitiv ist - das Linux-Magazin untersucht, ob sie heutigen Ansprüchen genügt.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.