© Liashko/Shutterstock.com
Entwickler Magazin
DevOps-Aufgaben mit Rex automatisieren

Königsklasse

Automatisierung ist die nobelste Disziplin für Teams, die den DevOps-Gedanken umsetzen. Wo skalierbare Architekten auf Pragmatismus treffen, muss ein Kompromiss für die notwendigen Schritte zwischen Build, Konfiguration und Deployment gefunden werden. Hier positioniert sich das Werkzeug Rex, um die oftmals verschlungenen Wege vom Quelltext zur laufenden Anwendung nachvollziehbar zu kodifizieren.

Nils Magnus


Moderne Softwareentwicklung gestaltet sich bei genauerem Hinsehen als überraschend komplexer Ablauf. Die idealisierte Vorstellung vom Coden, Übersetzen und Ablaufen stimmt jenseits eines Proof of Concepts der Hallo-Welt-Klasse kaum noch in einem Entwicklungsprojekt. Tatsächlich sind Tests durchzuführen, Code zu übersetzen, Bibliotheken müssen in passenden Versionen gelinkt werden, Pakete geschnürt, Artefakte auf die Zielplattform transferiert und dort in die Ablaufumgebung eingebracht werden. Oft kommen dazu noch individuelle Review- und Freigabeprozesse.

Partnerschaftliche Zusammenarbeit erfordert passende Werkzeuge

Vor längerer Zeit erledigten Operateure diese Aufgaben; in jüngerer Vergangenheit nannte man diese „Kaste“ dann Administratoren oder Systemverwalter. Egal unter welchem Namen, Entwickler beäugten sie skeptisch, gerade wenn der Code auf dem Zielsystem nicht genauso wie auf dem eigenen Testrechner lief. Aber auch umgekehrt gab es bisweilen Bedenken, ob Programmierer und Architekten die besonderen Anforderungen einer Produktionsumgebung einschätzen und damit umgehen könnten.

Die DevOps-Bewegung will mit diesem Gegeneinander Schluss machen und es durch eine partnerschaftliche, transparente Zusammenarbeit ersetzen. Damit das gelingt, sind aber Werkzeuge nötig, die die Bedürfnisse aller am Softwareentwicklungsprozess Beteiligter abdecken. Hier setzt Rex an, ein als Open-Source-Projekt entwickeltes Framework, das ein gutes Dutzend Entwickler rund um Projektleiter Jan Gehring entworfen hat. Die Software ist unter der Apache License 2.0 verfügbar. Der moderne DevOps-Engineer hat mit Rex eine Umgebung, mit der er anwendungsbezogen an zentraler Stelle die Schritte ablegt, die zu seiner Konfiguration und Verwaltung notwendig sind.

Das Tool ist in Perl implementiert und damit sowohl in Unix-Umgebungen wie auf Mac OS und Windows benutzbar. Der Kern der Konfigurations- und Deployment-Sprache sattelt zwar auf Perl auf, erfordert aber für die reine Anwendung kaum Kenntnisse in der Skriptsprache. Wer hingegen damit bereits vertraut ist, dem fallen später Erweiterungen aufgrund des riesigen Umfangs der Perl-Modulbibliothek CPAN umso leichter. Die Installation ist sehr detailliert auf der Website [1] beschrieben und gelingt in wenigen Schritten.

Vom Ansatz her arbeitet Rex ähnlich wie die Mutter aller Build-Systeme – nämlich das Tool Make. Es baut auf dem lokalen Host nach in einem Makefile festgehaltenen Regeln eine ausführbare Anwendung aus ihren Bestandteilen zu...

Entwickler Magazin
DevOps-Aufgaben mit Rex automatisieren

Königsklasse

Automatisierung ist die nobelste Disziplin für Teams, die den DevOps-Gedanken umsetzen. Wo skalierbare Architekten auf Pragmatismus treffen, muss ein Kompromiss für die notwendigen Schritte zwischen Build, Konfiguration und Deployment gefunden werden. Hier positioniert sich das Werkzeug Rex, um die oftmals verschlungenen Wege vom Quelltext zur laufenden Anwendung nachvollziehbar zu kodifizieren.

Nils Magnus


Moderne Softwareentwicklung gestaltet sich bei genauerem Hinsehen als überraschend komplexer Ablauf. Die idealisierte Vorstellung vom Coden, Übersetzen und Ablaufen stimmt jenseits eines Proof of Concepts der Hallo-Welt-Klasse kaum noch in einem Entwicklungsprojekt. Tatsächlich sind Tests durchzuführen, Code zu übersetzen, Bibliotheken müssen in passenden Versionen gelinkt werden, Pakete geschnürt, Artefakte auf die Zielplattform transferiert und dort in die Ablaufumgebung eingebracht werden. Oft kommen dazu noch individuelle Review- und Freigabeprozesse.

Partnerschaftliche Zusammenarbeit erfordert passende Werkzeuge

Vor längerer Zeit erledigten Operateure diese Aufgaben; in jüngerer Vergangenheit nannte man diese „Kaste“ dann Administratoren oder Systemverwalter. Egal unter welchem Namen, Entwickler beäugten sie skeptisch, gerade wenn der Code auf dem Zielsystem nicht genauso wie auf dem eigenen Testrechner lief. Aber auch umgekehrt gab es bisweilen Bedenken, ob Programmierer und Architekten die besonderen Anforderungen einer Produktionsumgebung einschätzen und damit umgehen könnten.

Die DevOps-Bewegung will mit diesem Gegeneinander Schluss machen und es durch eine partnerschaftliche, transparente Zusammenarbeit ersetzen. Damit das gelingt, sind aber Werkzeuge nötig, die die Bedürfnisse aller am Softwareentwicklungsprozess Beteiligter abdecken. Hier setzt Rex an, ein als Open-Source-Projekt entwickeltes Framework, das ein gutes Dutzend Entwickler rund um Projektleiter Jan Gehring entworfen hat. Die Software ist unter der Apache License 2.0 verfügbar. Der moderne DevOps-Engineer hat mit Rex eine Umgebung, mit der er anwendungsbezogen an zentraler Stelle die Schritte ablegt, die zu seiner Konfiguration und Verwaltung notwendig sind.

Das Tool ist in Perl implementiert und damit sowohl in Unix-Umgebungen wie auf Mac OS und Windows benutzbar. Der Kern der Konfigurations- und Deployment-Sprache sattelt zwar auf Perl auf, erfordert aber für die reine Anwendung kaum Kenntnisse in der Skriptsprache. Wer hingegen damit bereits vertraut ist, dem fallen später Erweiterungen aufgrund des riesigen Umfangs der Perl-Modulbibliothek CPAN umso leichter. Die Installation ist sehr detailliert auf der Website [1] beschrieben und gelingt in wenigen Schritten.

Vom Ansatz her arbeitet Rex ähnlich wie die Mutter aller Build-Systeme – nämlich das Tool Make. Es baut auf dem lokalen Host nach in einem Makefile festgehaltenen Regeln eine ausführbare Anwendung aus ihren Bestandteilen zu...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang