doITbetter Blog - Das i-doit-Blog

Effektive Prozesse mit i-doit und Ansible bei ScaleUp Technologies

Geschrieben von Pattrick Bluhm | 06. Juli 2023

ScaleUp Technologies ist ein führender Betreiber von Cloud- und Rechenzentrumsdiensten. Das Unternehmen setzt für das Asset Management auf i-doit pro. Die Automation bei der Konfiguration und dem Aufbau von Systemen wird mit Ansible realisiert. Wir zeigen wir Ihnen, welche Vorteile diese Lösungen bieten und wie auch Sie Ihre IT-Prozesse mit den frei verfügbaren Ansible Collections von ScaleUp Technologies automatisieren können.

Das Unternehmen ScaleUp Technologies hat seinen Sitz in Hamburg und Berlin. Die sieben Rechenzentrumsstandorte befinden sich in Hamburg, Berlin und Düsseldorf und bieten leistungsstarke IT-Infrastruktur- & Managed-Service-Kapazitäten für Unternehmen jeder Größe. Für das Management der Rechenzentren setzt das Unternehmen auf  i-doit pro. Für die Konfiguration und den Aufbau der Systeme kommt Ansible (Automatisierung) zur Anwendung.

 

 

Über ScaleUp Technologies

 

Als Managed Hosting Provider entwickeln wir hochverfügbare Cloud & Business Hosting Lösungen für unsere Kunden und unterstützen sie bei der Umsetzung ihrer Digitalisierungsstrategie. An unseren sieben Rechenzentrum-Standorten betreiben und vermieten wir Colocation-Flächen und Suiten, dedizierte Hardware und virtuelle Managed-Server-Infrastrukturen. Einzigartig ist dabei unser Fokus auf den Bereich Open Source Technologien, persönliche Kundenbetreuung und Nachhaltigkeit. Seit 2020 reduziert ScaleUp kontinuierlich seinen CO2-Fußabdruck und veröffentlicht erstmals eine CO2-Bilanz.

ScaleUp selbst und die ScaleUp Rechenzentren sind nach ISO 27001 Norm zertifiziert, erfüllen Tier 3 oder Tier 3+ Standards und ermöglichen bei Bedarf einen standortverteilten Serverbetrieb.

 

Wie kam es zu der Entscheidung i-doit
als zentrales Asset-Management Tool einzusetzen?

 

Scaleup hat sich nach langer Evaluierung für i-doit entschieden. Ausschlaggebend war, dass hier alle Abteilungen, also sowohl Finance als auch das Umweltmonitoring und Operations, gut zusammenarbeiten können.Einzelne Insellösungen, die vielleicht für einen Bereich etwas besser funktionieren, konnten wir so abschaffen. Über die API können wir vorhandene Software und Lösungen mit i-doit verknüpfen. Das ist bei uns ein konstanter Prozess, der immer wieder neue Möglichkeiten der automatisierten Datennutzung ermöglicht.

Der Vorschlag, Ansible einzusetzen, kam vor etwa 2,5 Jahren von einem neuen Mitarbeiter. Die vielen Vorteile haben uns schnell überzeugt: Man braucht keine Client-Software, SSH und Python gehört bei uns zum Standard und Konfigurationen können hier genauso vorgenommen werden, als würde es jemand manuell machen.

Zuvor hatten wir “Puppet” bei uns im Einsatz. Da gab es allerdings häufig Situationen, bei denen sich die Administratoren und die Automatisierung “gestritten” haben.

Ein weiterer großer Vorteil ist, dass es auf den Rechnern der Administratoren läuft und nicht zentral. Da der Fall, dass alle Notebooks der Mitarbeiter gleichzeitig einen Fehler aufweisen, sehr unwahrscheinlich ist, wird eine extrem hohe Verfügbarkeit erreicht.

Ebenso ist die Versionierung über einen eigenen Gitlab-Server ohne größeren Aufwand möglich. Dieser Server verfügt über die Continuous Integration und stellt eine sehr gute Lösung dar, um Aufgaben automatisch oder wiederkehrend zu starten. Ansible Tower bzw. die freie Alternative AWX ist bislang noch nicht zum Einsatz gekommen.

 

Was ist Ansible?

 

Ansible ist ein kostenloses Tool, das Automatisierungsaufgaben wie Konfigurationsverwaltung und Anwendungsbereitstellung vereinfacht. Es verwendet eine einfache Sprache (YAML-Syntax), um Aufgaben zu beschreiben, die auf vielen Servern ausgeführt werden können. Ansible ist besonders nützlich für Administratoren und Entwickler, die komplexe IT-Infrastrukturen verwalten müssen. Ansible benötigt keinen Agenten auf dem Zielserver und ist daher einfach zu installieren und zu verwenden.

 

Ansible Tower: Alle Daten im Blick (WebGUI)

 

Mit der kostenpflichtigen Erweiterung “Ansible-Tower” erhalten Sie eine WebGUI, mit der Sie Ihre Einstellungen im Browser vornehmen können. Ansible-Tower ist jedoch keine Voraussetzung für die Nutzung der Ansible ScaleUp Collection oder die Konfiguration von Playbooks.

 

Ansible-Tower Dashboard: Alle wichtigen Daten im Blick

 

Was sind Playbooks und Rollen in Ansible?

 

Ansible Playbooks sind eine Kernkomponente von Ansible, mit der Benutzer komplexe Konfigurations- und Bereitstellungsaufgaben ausführen können. Playbooks sind in einfachem YAML-Syntax geschriebene Dateien, die beschreiben, welche Aufgaben auf welchen Servern in welcher Reihenfolge ausgeführt werden sollen.

Ansible-Playbooks bestehen aus verschiedenen Rollen. Eine Rolle kann eine Aufgabe, wie z.B. die Installation eines Programms sein. Es kann sich bei einer Rolle auch um eine spezifizierte Aktion handeln, wie z.B. das Kopieren einer Datei oder die Vergabe einer neuen Berechtigung. Innerhalb eines Playbooks werden also verschiedene Aktionen nacheinander ausgeführt, um einen Host nach vordefinierten Vorgaben zu konfigurieren. Dadurch ist eine zentrale und automatisierte Konfiguration von Hosts sehr einfach und schnell möglich.

Durch die Verwendung von Playbooks können Benutzer Konfigurationen in einem zentralisierten, leicht verständlichen Format beschreiben, das vom gesamten Team verstanden und sofort nutzbar ist.

 

 

Eine einfache Verwaltung durch Playbooks und Rollen

 

Rollen und Playbooks sind somit zwei zentrale Konzepte in Ansible. Playbooks enthalten Aufgaben und Konfigurationen, die auf Zielhosts ausgeführt werden, während Rollen als wiederverwendbare Einheiten von Tasks und anderer Konfiguration organisiert sind. Rollen können hierarchisch angeordnet und voneinander abgeleitet werden, um komplexe Systeme effektiv und effizient zu verwalten. Zusammen ermöglichen Rollen und Playbooks eine automatisierte, modulare und skalierbare IT-Infrastruktur- und Anwendungsverwaltung.

 

Vorteile der gemeinsamen Verwendung von Ansible und i-doit

 

Ansible ist somit ein wirklich effizientes Tool, um die Infrastruktur mit schlanken Prozessen verwalten zu können. Die Kombination aus i-doit und Ansible bietet darüber hinaus noch viele weitere Vorteile für IT-Administratoren und -Teams:

  1. Automatisierung: Ansible ermöglicht die Automatisierung komplexer Aufgaben, während i-doit als zentrale Datenbank und Dokumentationsplattform die Übersicht und Kontrolle über die Infrastruktur verbessert. Sämtliche Änderungen werden chronologisch erfasst und dokumentiert. Die Automatisierung reduziert manuelle Arbeitsschritte und minimiert das Risiko menschlicher (Übertragungs-)Fehler.
  2. Effizienz: Durch die Kombination von i-doit und Ansible können Benutzer schneller auf Änderungen reagieren, da sie einen vollständigen Überblick über ihre Infrastruktur haben und automatisierte Prozesse zur Verfügung stehen.
  3. Transparenz: Mit i-doit als zentrale Dokumentationslösung können Administratoren, ihre gesamte IT-Infrastruktur an einem Ort verwalten und jederzeit darauf zugreifen. Durch das umfangreiche Berechtigungssystem kann der Zugriff auf Informationen zudem sehr granular gesteuert werden. Dies verbessert die Transparenz, den Schutz der Daten und erhöht das Verständnis zum Aufbau der IT-Infrastruktur im gesamten Team.
  4. Flexibilität: Ansible ist ein sehr flexibles Tool, das mit verschiedenen Technologien und Plattformen arbeiten kann. i-doit kann Daten aus vielen anderen Quellen importieren und exportieren. Dadurch kann es bei einer Vielzahl von Anwendungsfällen flexibel eingesetzt oder erweitert werden. Die Datenkommunikation findet dabei auf beiden Seiten über die jeweils kostenfrei enthaltene API statt.
  5. Skalierbarkeit: Die Kombination von i-doit und Ansible ermöglicht die Verwaltung und Skalierung von Infrastrukturen jeder Größe. Durch die Automatisierung und die zentrale Dokumentation können auch komplexe Umgebungen effektiv und effizient verwaltet werden.

 

Use-Case: i-doit und Ansible bei Scaleup Technologies

 

Automatisierte Inventarisierung von RZ-Komponenten

Für die zentrale Verwaltung von Assets verwendet ScaleUp i-doit pro. Dadurch können sämtliche Komponenten des Rechenzentrums in i-doit erfasst werden. Dies hat einerseits den Vorteil, dass jedes Gerät lokalisiert ist, alle Änderungen an Komponenten nachvollziehbar sind und somit ein sehr hohes Sicherheitsniveau erreicht wird. Es bedeutet aber auch einen enormen Dokumentationsaufwand, da jedes Rechenzentrum, jedes Rack, jedes System, jede Infrastrukturkomponente und jede Änderung daran erfasst werden muss.

Aus diesem Grund hat ScaleUp Technologies eine Anbindung an Ansible entwickelt. Wenn neue Systeme oder Komponenten über Ansible ausgerollt werden, sollen die Systeminformationen auch direkt an i-doit übergeben werden. Dadurch werden Informationen zu Hardware (CPU, Speicher, Festplatten), Software (OS, Applikationen) und verwendeten Schnittstellen vollständig automatisiert erfasst und dokumentiert.

Ein weiterer Vorteil ist, dass manuelle Übertragungsfehler ausgeschlossen werden können und ein einheitliches Format für z.B. die Benennung von Ports eingehalten wird.

Ein Anwendungsfallbeispiel bei Scaleup Technologies:
Bei der Installation einer neuen PDU (Steckdosenleiste) in einem Rack wird der Standort der PDU von einem Mitarbeiter erfasst. Dazu legt er in i-doit ein neues Objekt an und ordnet es dem Rack zu. Dieser Schritt muss noch manuell erfolgen, da der exakte Standort (der genaue Einbauort) nicht oder nur mit immensem Aufwand “ausgelesen” werden kann. Danach erfolgen aber alle weiteren Eingaben (Dokumentationen) automatisiert. Über Ansible wird nun unter Verwendung von Rollen und Playbooks die Konfiguration initialisiert.

Dabei werden in i-doit die ausgelesenen Ports und Zugangspunkte (Access) erfasst und über die API direkt übertragen. Hierbei werden auch Modelldaten, Seriennummer, Mac- und Host-Adresse ausgelesen, sowie die Stromanschlüsse (eingehend und ausgehend) entsprechend angelegt.

Innerhalb der Collection prüft Ansible dabei auch, ob es das Gerät bereits in i-doit gibt (Duplikatsprüfung) und meldet alle vorgenommenen Änderungen. So kann man das Playbook, auch später, immer noch erweitern. Denn die Philosophie von Ansible ist, dass man Playbooks beliebig oft aufrufen oder erweitern kann.

Hier ein Beispiel, wie der Aufruf eines Updates von einem Server auf der Kommandozeile aussieht:

 

 

Mittlerweile ist Ansible bei ScaleUp-Technologies sogar in der Lage, einen Teil der Playbooks direkt als Chat-Nachricht zu versenden. Dadurch werden wichtige Informationen sofort an die richtigen Stellen kommuniziert.

 

 

Zentrale Funktionen der kostenlosen
Ansible Collection von Scaleup Technologies für i-doit

 

Bringen Sie mehr Automation in Ihre Prozesse

Die Ansible Collection von Scaleup-Technologies für i-doit enthält eine Vielzahl von nützlichen Funktionen, die die Verwaltung von IT-Assets und die Konfigurationsverwaltung erleichtern.

Die wichtigsten Module im Überblick

 

Beispiel: CPU-Daten eintragen

 

Die Funktion idoit_cat_cpu ist ein Plugin in der Collection von Scaleup Technologies für i-doit, das die CPU-Informationen eines Hosts in i-doit einträgt.

In diesem Beispiel wird im ersten Schritt über die Funktion idoit.search der pc27.ham1.inter.scaleuptech.com gesucht.

 

- name: Suche nach einem Rechner
scaleuptechnologies.idoit.idoit_search:
 idoit:
  api_key: ""
  user: ""
  password: ""
  jrpc_url: "https://idoit.inter.scaleuptech.com/src/jsonrpc.php"
 search: "pc27.ham1.inter.scaleuptech.com"

 

Im nächsten Schritt werden die CPU-Informationen aus Ansible als neuer Eintrag in der Kategorie “CPU” eingetragen. Dazu wird die im Vorfeld ermittelte Objekt-ID für die Zuordnung zum System genutzt.

 

- name: CPUS an Rechner anhängen.
scaleuptechnologies.idoit.idoit_cat_cpu:
 idoit:
  api_key: ""
  user: ""
  password: ""
  jrpc_url: "https://idoit.inter.scaleuptech.com/src/jsonrpc.php"
 obj_id: ""
 cores: 8
 frequency: 2300
 frequency_unit: MHz
 manufacturer: Intel
 title: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
 type: Core I7

 

Dieses Beispiel zeigt, wie einfach es ist, mithilfe der Funktion idoit_cat_cpu CPU-Informationen von Ansible abzurufen und in i-doit zu übertragen.

 

Dokumentation der Collection von ScaleUp Technologies

 

Hier finden Sie die Dokumentation und die Module der Ansible Collection von ScaleUp Technologies.

 

Installation der Ansible Collection

 

Die Anforderungen für die Installation und Nutzung der Ansible Collection sind gering. Sie benötigen lediglich einen Server mit einer aktuellen Version von Python und Ansible.

Zuerst wird die ScaleUp i-doit Python Library benötigt. Dazu führt man auf der Kommandozeile folgenden Befehl aus:

pip install idoit-scaleup

Danach muss lediglich die Ansible Collection installiert werden:

ansible-galaxy collection install scaleuptechnologies.idoit

Damit ist die Installation abgeschlossen und es kann an die Erstellung der Playbooks und Rollen gehen.

 

Die Ansible Collection ist und bleibt OpenSource

 

Wir freuen uns über Ihre Mitarbeit!

Die gesamte Ansible Collection wird kostenlos und für jeden frei zugänglich zur Verfügung gestellt. Es handelt sich hierbei ausdrücklich um OpenSource, die von allen Anwendern vollständig eingesehen und auch gerne weiterentwickelt werden kann. Wir würden uns sehr freuen, wenn der OpenSource-Gedanke von anderen Anwendern mitverfolgt und die Weiterentwicklung der bestehenden Collection vorangetrieben wird.

Wir weisen an dieser Stelle noch einmal darauf hin, dass die Haftung grundsätzlich ausgeschlossen ist.
Die gesamte Collection steht unter MIT-Lizenz und ist bei Github verfügbar.

 

Ansible erleichtert die Nutzung von i-doit
durch Automatisierung der Pflege und Dokumentation

 

Egal, ob Sie schon Ansible oder i-doit im Einsatz haben. Beide OpenSource-Tools können ihr Potenzial gemeinsam noch erheblich steigern! Mit der kostenfreien Ansible Collection von ScaleUp können Sie Ihre Service-Prozesse optimal gestalten, Ihre Mitarbeiter entlasten und einen höheren Automatisierungsgrad erreichen. Dabei wird eine einheitliche Servicequalität sichergestellt, die Ihnen Wettbewerbsvorteile und zufriedene Kunden sichert.

Gerne können Sie sich auch aktiv an der Weiterentwicklung dieser Schnittstelle beteiligen. Jede Erweiterung bringt allen Beteiligten echten Mehrwert und unterstützt die Community.

Wir freuen uns auf Ihr Feedback!