Suche
Non-invasives Konfigurationsmanagement für Java-Applikationen

Einstellungen zentral verwalten

Jens Saade
© iFotolia/Nmedia

Wir kennen das Prinzip der Trennung von wiederverwendbaren oder spezifischen Informationen. Wir wenden es in der Softwarearchitektur, im Softwaredesign oder auch beim Paketieren von Applikationen an. Auch im Konfigurationsmanagement spielt dieser Grundsatz eine entscheidende Rolle. Wie eine flexible Konfiguration von Applikationen mit Continuous Delivery mit dem Central Configuration Repository gelingen kann.

Konfigurationen sind häufig umgebungsspezifisch, die konfigurierten Artefakte meist jedoch nicht. Auch die Installationen von Applikationen laufen eigentlich immer nach dem gleichen Muster ab: Bezug des Artefakts, Entpacken oder Deployen, Konfigurieren und dann starten. Lediglich bei der Konfiguration des Artefakts greifen wir fast immer ein: den ein oder anderen Port einstellen, Tokens für externe Zugänge speichern oder Passwörter für den Administrator ändern. Also gleicht doch eine Installation der anderen, oder etwa nicht? In diesem Artikel wollen wir den Aspekt Automatisierung im Konfigurationsmanagement beleuchten und einen alternativen Ansatz zu den gängigen Vorgehensweisen näher bringen. Wir beginnen dazu mit der Vorstellung des non-invasiven Konfigurationsmanagements und zeigen im weiteren Verlauf die Möglichkeiten anhand eines Praxisbeispiels auf: dem Rollout von Konfigurationen in einer Continuous Delivery.

Non-invasives Konfigurationsmanagement

Die Automatisierung von Installationen ist heute schlichtweg der Standardfall. Tools wie Puppet und Chef sorgen für den nahezu reibungsfreien Ablauf bei Erstinstallationen und Updates. Wir können ganze Verzeichnisse mit benötigten Einstellungen ausrollen oder Datenbanken vorab bestücken – oder wir checken unsere umgebungsspezifischen Property-Dateien direkt aus dem SCM aus. Wie auch immer wir vorgehen, wir tun mindestens zwei Dinge: Wir liefern benötigte Informationen direkt auf das Zielsystem aus und wir verändern damit die lokale Umgebung. Wenn wir nun unseren Blick heben und eine Applikationslandschaft aus der Vogelperspektive betrachten, fällt uns zudem auf: Wir konfigurieren Applikationen vielleicht projektspezifisch oder im Verbund, jedoch selten applikationsübergreifend auf dieselbe Art und Weise. Für operative Pflegeprozesse bedeutet dies vielleicht sogar eine differenzierte Behandlungsweise der einzelnen Installationen. Wie können wir eine einheitliche Herangehensweise erreichen und vielleicht sogar ein wenig mehr Flexibilität gewinnen? Der nachfolgende Artikel zeigt exemplarisch einen alternativen Weg auf: Wir drehen den Spieß um und belassen die Konfigurationen in einer zentral administrierbaren Instanz, aus der sich die Applikationen selbstständig bedienen: dem Central Configuration Repository (CCR).

(Lesen Sie den kompletten Artikel im Java Magazin 2.15)

Geschrieben von
Jens Saade
Jens Saade
Jens Saade arbeitet als Solution Architect E-Commerce/Hybris bei der youngculture AG in Zürich und blickt auf eine langjährige Erfahrung im Bereich PIM und Retail zurück. Er ist zertifizierter Scrum Master und treibt die technischen Initiativen – wie z. B. Continuous Delivery – im Unternehmen voran. Twitter: @jenssaade E-Mail: j.saade@youngculture.com
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.