Pakete schnüren für schnelleres und nachhaltiges Entwickeln

Habitat: Ein Framework mit neuem Ansatz für die Softwareentwicklung

Dominik Mohilo

©Shutterstock / cybrain

Bei der Entwicklung von Anwendungen konzentriert man sich viel zu sehr auf die Umgebung, auf der das fertige Programm schließlich laufen soll. Zudem werden die Strukturen in der modernen Softwareentwicklung immer undurchsichtiger, komplizierter und vielschichtiger. Um diesen Trends entgegenzuwirken, hat Chef Software das Open-Source-Tool Habitat entwickelt. Habitat soll den negativen Auswirkungen bei der Entwicklung moderner Anwendungen entgegenwirken und Prozesse sowie Verwaltung vereinfachen.

Das System, das Chef mit seiner Application Automation anstrebt, klingt eigentlich recht simpel: Eine Anwendung wird mit sämtlichen benötigten Komponenten in ein Paket gepackt. Dieses Paket soll dann durch Habitat auf allen Plattformen, egal ob es sich dabei um Container oder physische Rechner handelt, ausgeführt und gebaut werden können.

Das Habitat genannte Tool ist eine komplette Laufzeitumgebung mit eingebauter Deployment-Koordination. Sie besteht aus einem eigenen Packaging-Format und einem sogenannten Supervisor. Pakete, die mit Habitat geschnürt werden, enthalten etwa Deployment-Strategien sowie Build- und Laufzeit-Abhängigkeiten. Externe Dependencies gibt es nicht.

Die Pakete zeichnen zudem auf, was mit ihnen gemacht wird, wo es geschieht, wer es getan hat und wie und wann es passiert ist. Jedes Paket ist dabei konstant und unveränderbar: Ändert sich etwas, wird ein neues Paket erstellt. Habitat verwendet zur Schnürung der Pakete eine Build-Beschreibung, die Plan genannt wird. Diese definiert die Anwendung, ihre Abhängigkeiten und die Konfigurationsoptionen.

Der Supervisor beinhaltet die Informationen, wie Pakete auszuführen sind und welche Beziehungen es innerhalb einer Paketgruppe hat, die Sicherheitseinstellungen sowie die Upgrade-Strategie. Der gesamte Erstellungsprozess kann so koordiniert und überwacht werden. Auch Service-Gruppen können erstellt werden, indem man verschiedene Supervisors zu einem Ring zusammenfasst. Jeder Supervisor sorgt dann dafür, dass die Anwendung die korrekte Konfiguration, Topologie, usw. besitzt.

Habitat bietet durch den eingebauten Build-Service außerdem die Möglichkeit, den Code für bestimmte Pakete aus einem Depot zu ziehen und sie anschließend zu erstellen. Diese  Habitat-Depots entsprechen ungefähr in ihrer Funktionsweise Docker Hub oder dem Ubuntu apt Service.

Die Webseite von Habitat beinhaltet eine sehr umfangreiche Beschreibung und Hintergrundgeschichte der Laufzeitumgebung. In der ebenfalls detaillierten Dokumentation finden interessierte Leser weitere Informationen zu den einzelnen Komponenten von Habitat und Anwendungsbeispiele, sowie Tutorials. Am 29. Juni findet zudem ein Webinar statt, bei dem George Miranda, Product Marketing Manager von Chef, Habitat und die Funktionsweisen des Frameworks vorstellt. Habitat ist derzeit für die Benutzung unter Mac OS X (inklusive Docker) und Linux verfügbar, eine Unterstützung von Windows ist in Arbeit.

Aufmacherbild: Distribution warehouse, package shipment, freight transportation and delivery concept von Shutterstock.com
Urheberrecht: cybrain

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: