Anzeige
Anzeige
Software & Entwicklung

Die besten Tools für die Automatisierung der IT-Infrastruktur

IT-Infrastrukturen und Softwareanwendungen lassen sich einfacher als je zuvor bereitstellen, betreiben und skalieren. Doch mit jedem neu hinzugefügten Server steigt der Konfigurations- und Verwaltungsaufwand erheblich. Irgendwann kommt man um IT-Automation-Tools nicht mehr herum. Wir stellen die besten Lösungen vor.

7 Min.
Artikel merken
Anzeige
Anzeige

Grafik: kirill µ / Fotolia

Über 100 EC2-Instanzen auf Amazon AWS, darunter rund 25 Anwendungs- und zwölf hochperformante Datenbankserver, etwa 30 Millionen User und über 150 Millionen geteilte Bilder. Das war Instagram, als Facebook den Photo-Sharing-Dienst vor rund drei Jahren für eine Milliarde US-Dollar übernommen hat. Noch erstaunlicher als diese Zahlen ist jedoch die Zahl der Mitarbeiter, die für diese massive Infrastruktur damals zuständig waren: Nur drei. Und sie hatten auch noch genügend Zeit, um im eigenen Instagram-Engineering-Blog ausführlich über ihre Erfahrungen zu berichten.

Anzeige
Anzeige

Wie war das zu schaffen? Entscheidend für den Erfolg ist eine enge, reibungslose Zusammenarbeit zwischen den Systemadministratoren, die für Hardware, Netzwerke und Server zuständig sind, und den Anwendungsentwicklern, die die Software implementieren. Das ist allerdings leichter gesagt als getan. Denn die Beziehung zwischen Sysadmins und Programmierern war immer schon schwierig. Während Entwickler auf Agilität ausgerichtet sind und dafür bezahlt werden, das System ständig zu verändern – etwa durch neue Features, Fehlerbehebungen und Refactoring – müssen Systemadministratoren die Stabilität, Sicherheit und Verfügbarkeit des Systems garantieren. Jede Veränderung stellt für sie per se ein potenzielles Risiko dar. Wenn in der Praxis dann Probleme auftauchen, führt dieser Interessenkonflikt häufig zu Diskussionen und wechselseitigen Schuldzuweisungen.

DevOps verändert die IT

Hier kommt das Thema DevOps ins Spiel. Dieser Begriff setzt sich zusammen aus „Development“ und „Operations“ und beschreibt einen nicht nur technischen, sondern vor allem auch organisatorischen Ansatz, bei dem es darum geht, die Bruchstellen zwischen Anwendungsentwicklung und IT-Betrieb dauerhaft zu überwinden. Beide Seiten sollen, so die Theorie, eng zusammenarbeiten und an einem Strang ziehen. Das gemeinsame Ziel: IT-Systeme – egal ob im eigenen Rechenzentrum oder in der Public Cloud – schneller, effizienter und in besserer Qualität bereitzustellen.

Anzeige
Anzeige

Ein zentraler Gedanke der DevOps-Bewegung ist die Automatisierung von Vorgängen, die sonst manuell durchgeführt werden und daher in der Regel zeitaufwendig, wenig transparent und für eine professionelle Qualitätskontrolle kaum geeignet sind. Vor diesem Hintergrund haben sich in den letzten Jahren IT-Automation-Lösungen immer weiter etabliert – allen voran Puppet, Chef, SaltStack und Ansible. Unternehmen, die DevOps-Ansätze in der Praxis umsetzen wollen, versprechen sie die Bereitstellung und Instandhaltung von Infrastruktur und Software durch innovative Automatisierungstechnologien drastisch zu vereinfachen.

Anzeige
Anzeige
Infrastrukturen werden nicht länger konfiguriert, sondern programmiert. Dabei kommen bei jedem Tool verschiedene DSL-Sprachen zum Einsatz.

Infrastrukturen werden nicht länger konfiguriert, sondern programmiert. Dabei kommen bei jedem Tool verschiedene DSL-Sprachen zum Einsatz.

Infrastructure as Code

Hier spielt das neue Paradigma „Infrastructure as Code“ eine zentrale Rolle. Dabei handelt es sich um einen modernen Lösungsansatz, bei dem sämtliche benötigten Vorgänge zum Aufsetzen von Serverinfrastruktur und zum Durchführen von Software-Deployments im Quellcode hinterlegt werden. Das Motto lautet: „Infrastruktur programmieren statt konfigurieren“. Konfigurationsänderungen an Infrastruktur-Komponenten wie Servern, Betriebssystemen und Netzwerkdiensten werden nicht mehr direkt auf den jeweiligen Maschinen, sondern über spezielle Automation-Tools vorgenommen. Der entscheidende Vorteil liegt darin, dass sich so Systemkonfigurationen testen, versionieren und automatisiert replizieren lassen.

Automatisiertes Konfigurationsmanagement mit Puppet

Puppet gilt heute als der Platzhirsch unter den modernen IT-Automation-Tools. Die erste Version der Software kam bereits 2005 auf den Markt und präsentierte sich als eine leistungsfähigere und vor allem einfachere Alternative zu CFEngine, dem damaligen Marktführer. Seitdem hat sich Puppet kontinuierlich weiterentwickelt. Inzwischen umfasst es das gesamte Spektrum der Automatisierung, mit einer engen Systemintegration für die wichtigsten Betriebssysteme. Zudem bietet es eine umfassende Auswahl an Modulen, GUI-Oberflächen und Plugins, welche die Bedienung der Lösung erleichtern und deren Möglichkeiten erweitern.

Anzeige
Anzeige
Neben CLI-Tools (Command Line Interface) bietet die Enterprise-Version von Puppet eine Web-Konsole, die das Konfigurationsmanagement vereinfacht.

Neben CLI-Tools (Command Line Interface) bietet die Enterprise-Version von Puppet eine Web-Konsole, die das Konfigurationsmanagement vereinfacht.

Puppet basiert auf Ruby und arbeitet nach dem Client-Server-Prinzip. Auf dem Master-Server verwaltet ein zentraler Daemon sämtliche Konfigurationen der Infrastruktur-Komponenten. Auf den Clients läuft jeweils ein spezieller Puppet-Agent, der sich die Konfiguration vom Puppet-Master durch eine API holt und die entsprechenden Änderungen automatisch vornimmt. Konfigurationen werden in so genannten „Puppet-Manifesten“ deklariert. Dabei verwendet Puppet eine eigene domänenspezifische Sprache (DSL), die man zunächst erlernen muss.

Wie in diesem Marktsegment üblich, ist Puppet in zwei Versionen erhältlich. Die Community-Edition ist als Open-Source kostenlos erhältlich. Mit der kostenpflichtigen Enterprise-Edition bietet der Anbieter Puppet Labs weiterführende Features und Apps sowie professionellen Support für größere Organisationen.

Chef

Mit Chef präsentiert sich eine professionelle Puppet-Alternative, die ebenso in der Praxis weit verbreitet ist, vor allem im Enterprise-Sektor. Zwischen den beiden Lösungen gibt es einige Gemeinsamkeiten. So basiert auch Chef auf Ruby (und Erlang auf Serverseite) und steht in einer Community- und in einer Enterprise-Variante zur Verfügung. Letztere lässt sich bei Chef im Gegensatz zu Puppet nicht nur On-Premise, sondern auch On-Demand nutzen, was den Einstieg erleichtern soll. Chefs Web-Konsole ist allerdings nicht so umfangreich und fokussiert sich in erster Linie aufs Reporting und Monitoring. Die wichtigsten Features aus dem Bereich Konfigurationsmanagement sind nur in der Konsole verfügbar.

Anzeige
Anzeige

Zwischen den beiden Frameworks gibt es auch einige Unterschiede in der Art und Weise, wie sie ihre Dienste bereitstellen. So erfordert eine Chef-Installation für das Verwalten des Chef-Masters und der Clients zusätzlich zum Master-Server eine Workstation (Linux, Windows, Mac OS X). Zu diesem Zweck müssen Admins hier zunächst das Chef-Development-Kit einrichten, bevor sie die Chef-Agenten via SSH auf den Nodes installieren können. Die Chef-Agenten melden sich dann in regelmäßigen Zeitintervallen beim Master, um Aktualisierungen der Konfiguration „abzuholen“.

Konfigurationen heißen in diesem Fall „Recipes“, die sich in „Cookbooks“ gruppieren lassen. Dabei wird Ruby als DSL verwendet, sodass hier im Gegensatz zu Puppet keine zusätzliche Formatierungssprache auf dem Lehrplan steht.

Im „Chef Supermarket“ finden Chef-User unzählige Konfigurationsdateien, „Cookbooks“ genannt, mit denen sie zum Beispiel einen MySQL-Server automatisch installieren und konfigurieren können.

Im „Chef Supermarket“ finden Chef-User unzählige Konfigurationsdateien, „Cookbooks“ genannt, mit denen sie zum Beispiel einen MySQL-Server automatisch installieren und konfigurieren können.

Ein weiterer Pluspunkt: Im Chef-Supermarket befinden sich tausende „Kochbücher“, die von der Community beigesteuert wurden und die Installation und Konfiguration von populären Technologien wie MySQL, Java, Apache Web Server oder Nagios automatisieren.

Anzeige
Anzeige

SaltStack und Ansible

Neben Puppet und Chef zählen SaltStack und Ansible zu den weiteren führenden Automatisierungs- und Orchestrierungslösungen, die der Markt derzeit zu bieten hat. So wie die bereits beschriebenen Lösungen eignen sich diese beiden Tools dazu, sowohl lokale IT-Infrastrukturen als auch Private- und Public-Cloud-Umgebungen automatisiert zu verwalten. Sie sind in erster Linie als Kommandozeilen-Tools implementiert, basieren jedoch nicht auf Ruby, sondern auf Python. Beide Frameworks stellen eine ganze Reihe nützlicher Kommandos und Module zur Verfügung, um Software-Pakete zu installieren und zu konfigurieren, sowie beliebige Konfigurationsbefehle von einem zentralen Rechner aus auf einer Vielzahl verwalteter Server ausführen zu können. SaltStack setzt auf eine ähnliche Master-Client-Kommunikation wie Puppet und Chef. Um die Konfiguration der verwalteten Rechner festzulegen, kommen bei SaltStack SLS-Dateien („SaLt State”) zum Einsatz, die im YAML-Format (Yet Another Markup Language) verfasst werden.

Auch Ansible bietet mit „Ansible Tower“ eine vollwertige Management-Konsole, die im Browser arbeitet und an Enterprise-Kunden adressiert ist.

Auch Ansible bietet mit „Ansible Tower“ eine vollwertige Management-Konsole, die im Browser arbeitet und an Enterprise-Kunden adressiert ist.

Auch Ansible setzt zur Formulierung wiederverwendbarer Systembeschreibungen auf YAML, die hier „Playbooks“ genannt werden. Eine Besonderheit der im Jahr 2012 erschienenen Lösung besteht darin, dass sie auf das sonst übliche Client-Master-Modell verzichtet und Netzwerkcomputer über SSH verwaltet. Aus diesem Grund sind auf den zu verwaltenden Maschinen keine Clients zu installieren. Hier werden lediglich ein SSH-Server und eine Python-Installation benötigt. Das kann den Roll-Out der Software im Vergleich zu Puppet, Chef und SaltStack vereinfachen.

Generell will sich Ansible als eine leichtgewichtigere und einfachere Alternative zur Konkurrenz positionieren. Diese Strategie scheint zu funktionieren. So konnte es bereits namhafte Internet-Firmen wie Twitter, Spotify und Evernote als Kunde gewinnen. Für Enterprise-Kunden, die das volle Potenzial der Software ausschöpfen möchten, bietet das Unternehmen mit Ansible Tower [5] eine moderne Web-App für das bequeme Konfigurationsmanagement, die in puncto Funktionalität kaum Wünsche offen lässt.

Anzeige
Anzeige

Weiterführende Tools für Profis

Mit dem Siegeszug von Cloud Computing sind neben diesen „klassischen“ IT-Automation-Tools in den letzten Jahren zahlreiche Lösungen für DevOps auf dem Markt erschienen, welche die beschriebenen Produkte gut ergänzen und sie in einigen Fällen beziehungsweise Anwendungsszenarien sogar ersetzen können. Hierzu zählt zum Beispiel Vagrant, ein quelloffenes CLI-Tool (Command Line Interface) zum Erstellen und Verwalten von virtuellen Maschinen, das als eine Art Wrapper zwischen Virtualisierungssoftware wie VirtualBox und den in diesem Artikel aufgeführten Konfigurationsmanagement-Lösungen dient.

Ein weiteres interessantes Tool für Profis bietet sich mit dem SaaS-Dienst GuardRail der Softwareschmiede ScriptRock aus Mountain View. Mit dem Schwerpunkt auf „Configuration Monitoring“ versetzt er DevOps-Teams in die Lage, beliebige Systemkonfigurationen zentral zu monitoren und zu verwalten. GuardRail bietet nahtlose Integrationsmöglichkeiten mit Ansible, Puppet und der innovativen Container-Lösung Docker (Seite 130).

Fazit

Der Einstieg in die Welt der IT-Automatisierung ist sicherlich nicht leicht. Ganz im Gegenteil. Zum einen sind die in diesem Artikel aufgeführten Tools naturgemäß ziemlich komplex. Zum anderen müssen neue Technologien, Konzepte und Systeme erlernt werden, die Lernkurve ist steil. Der DevOps-Ansatz erfordert zudem ein grundlegendes Umdenken, was das Ganze noch schwieriger macht.

Anzeige
Anzeige

Doch der Aufwand lohnt sich. Denn moderne Lösungen zur Automatisierung von IT-Infrastrukturen und Anwendungen bringen enorme Potenziale mit sich und spielen im Cloud-Zeitalter eine immer wichtigere Rolle. Im Enterprise-Sektor sind Puppet, Chef, Ansible und Co. längst unverzichtbar. Von stabileren IT-Systemen, einfacheren Software-Deployments und automatisierten IT-Prozessen kann jedoch im Prinzip jedes noch so kleine Unternehmen profitieren. Je früher man sich mit diesen innovativen Lösungen auseinandersetzt, desto besser.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Kommentare (2)

Community-Richtlinien

J

Danke für den Hinweis auf Ansible. Ich denke, dass wird meine Wahl werden.

Danrog

Guter Artikel (wenn auch schon etwas in die Jahre gekommen). Wir in unserem Unternehmen verwenden „admins-buddy“ (admins-buddy.de) und automatisieren damit. Damit triggern wir auch zum Beispiel AWX an. Die Erstellung von virtuellen Maschinen macht admins-buddy direkt mit VMware PowerCli (VMware PowerShell SDK). Also euer Artikel trifft den Automatisierungsgrundsatz ganz gut.
Das Tool wurde ist in diesem Artikel noch nicht genannt.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Kommentar abgeben

Melde dich an, um Kommentare schreiben und mit anderen Leser:innen und unseren Autor:innen diskutieren zu können.

Anmelden und kommentieren

Du hast noch keinen t3n-Account? Hier registrieren

Anzeige
Anzeige