DevOps Grundlagen Teil 3: Tools für mehr Effizienz

Von Florian Zierer , 18.10.2018, 09:15
DevOps tools

Sowohl bei Entwicklern als auch IT-Verantwortlichen ruft der Begriff DevOps immer noch einige Fragezeichen hervor. Es führt aber auf lange Sicht nichts an dem Thema vorbei, denn der DevOps-Ansatz wird aller Voraussicht nach in den nächsten Jahren zum Industriestandard werden und ist in manchen Sparten bereits gängige Praxis. Damit DevOps zum Standard werden kann, müssen Entwickler umlernen und sich stärker mit Fragen des Betriebs der Software beschäftigen. Dabei helfen die in DevOps etablierten Rollen sowie Tools und spezifische Skills.

Eine technologische Entwicklung, die DevOps erheblich erleichtert, ist Virtualisierung. Der von Kief Morris geprägte Begriff „Infrastructure as Code“ steht für die neuen Möglichkeiten, die sich Entwicklern im Cloud-Zeitalter bieten. Dank einer virtualisierten Infrastruktur muss kein direkter Zugriff mehr auf die Hardware erfolgen. Ganze Server können per Programmierzeile ausgeführt, dupliziert oder gelöscht werden. Zudem möglich wird eine zentrale Verwaltung des Quellcodes mit Versionierung sowie automatisiertes Testen der Konfiguration von virtuellen Maschinen und den entsprechenden Deployments. Besonders die Automatisierung hilft, den Zeitaufwand bei Entwicklern und Betreibern zu senken.

Für DevOps sind vor allem die folgenden Tools bei der Verknüpfung von Entwicklung und Betrieb hilfreich:

  • Virtualisierungslösungen wie VirtualBox sind das A und O gelungener DevOps. Sie helfen den Entwicklern dabei, ihren Code auf lokalen virtuellen Maschinen zu testen. Damit lässt sich bereits in der Entwicklung testen, wie die Serverumgebung auf die Software reagiert.
  • Automatisierungslösungen wie Puppet, Vagrant oder Ansible unterstützen Entwickler und Betreiber dabei, sich auf die wesentlichen Aspekte ihrer Aufgaben zu konzentrieren, indem sie routinemäßige Prozesse selbst übernehmen. Dies lässt sich fürs Untersuchen, Testen und Ausführen sowohl auf Software- als auch auf Infrastrukturseite anwenden.
  • Container-Plattformen wie Docker helfen bei der Bereitstellung von Containern, d.h. lauffähiger virtueller Zusammenfassungen einzelner Anwendungen – mitsamt allen Bibliotheken, Hilfsprogrammen und sonstigen Daten, jedoch ohne ein Betriebssystem. Container können im Umfeld eines Host-Betriebssystems gestartet werden und sind daher ressourcenschonender als eine komplett virtualisierte Anwendungsumgebung. In Verbindung mit der eingebauten Standardisierung in Skalierung, Service Discovery oder Load Balancing (z.B. bei Docker Swarm) ist das Arbeiten mit Containern für DevOps-Entwickler mittlerweile essentiell.

 

Sicherlich handelt es sich bei DevOps um eine technologiegetriebene Innovation der IT. Wichtig ist allerdings, dass sich das Thema keineswegs im Einsatz bestimmter Tools erschöpft. In den ersten beiden Artikeln der Serie auf diesem Blog wurden daher das richtige Mindset sowie die Skills beschrieben, die es für eine erfolgreiche Einführung von DevOps braucht. Diese zwei „Zutaten“ sollten auf keinen Fall vernachlässigt werden.

Neuen Kommentar schreiben

Ich habe die Datenschutzhinweise zur Kenntnis genommen. Ich stimme zu, dass meine Angaben und Daten zur Beantwortung meiner Anfrage elektronisch erhoben und gespeichert werden.