Experten-Interview: Über Automatisierung und NCAE

28.03.24 | Solutions

Automatisierung erleichtert den IT-Alltag enorm. Was sich genau automatisieren lässt, welche Voraussetzungen dafür erfüllt sein müssen und wo es überhaupt sinnvoll ist, weiss unser Software Automation Engineer Pascal Mathis.

Pascal, eine Grundsatzfrage: Warum sollten Unternehmen automatisieren?

Der vermutlich bekannteste Vorteil der Automatisierung ist die Zeitersparnis bei der Durchführung von repetitiven und aufwändigen Geschäftsprozessen sowie bei der Konfiguration von dazugehöriger Infrastruktur. Dies ist jedoch bei weitem nicht der einzige Vorteil. Der Einsatz von vollständig automatisierten Abläufen führt oft auch direkt zu einer Vereinheitlichung und Standardisierung der eingesetzten Konfigurationen.

Insbesondere bei Systemumgebungen mit mehreren Geräten, welche einen ähnlichen Zweck erfüllen, ist solch eine Harmonisierung äusserst sinnvoll. Bei manueller Konfiguration über einen längeren Zeitraum entstehen oft kleine Abweichungen. Dieser Configuration Drift birgt viele Gefahren. Troubleshooting wird erschwert, Reproduzierbarkeit der Infrastruktur ist nicht mehr genau gegeben, flächendeckende Konfigurationsänderungen tragen ein grösseres Risiko mit sich.

Setzt ein Unternehmen konsequent bestimmte Prozesse automatisiert um, lassen sich solche Probleme vermeiden. Die Logik zur Konfiguration wird einmal gebaut und kann anschliessend einheitlich über eine beliebige Anzahl von Geräten repliziert werden.

Und die logische Folgefrage: Was lässt sich alles automatisieren?

In der Theorie lässt sich fast jeder Prozess, welcher auf Software basiert, in der IT automatisieren. Eine viel wichtigere Frage ist, welche manuellen Vorgänge sich zur Automatisierung eignen, um für das Unternehmen einen grösstmöglichen Gewinn zu bieten.

Es lohnt sich hierbei, möglichst breitflächig die aktuelle Situation zu betrachten und zu eruieren, welche manuellen Abläufe die meisten Risiken und Probleme verursachen. Ein Vorgang, welcher nur einmal im Jahr stattfindet und einen halben Tag benötigt, führt zum Beispiel zu keiner spürbaren Erleichterung für das Unternehmen.

Sobald es jedoch um Aufgaben geht, welche viel Zeit in Anspruch nehmen oder fehleranfällig sind, bietet der Einsatz von Automatisierung eine hervorragende Möglichkeit, das Unternehmen in verschiedenen Aspekten zu stärken.

Wie automatisierst du genau? Womit arbeitest du tagtäglich?

Wie auch in anderen Bereichen der Informatik gibt es bei der Automatisierung nicht nur eine richtige Lösung, um ein adäquates Problem zu lösen. Bestimmte Muster, welche bei mehreren Unternehmen angewendet werden können, existieren definitiv. Oft ist es jedoch erforderlich, diese an das entsprechende Unternehmen und dessen Standards, Prozesse und Umsysteme anzupassen.

Ein wichtiger Punkt beim Einsatz von Software-Lösungen zur Automatisierung ist also eine gewisse Flexibilität, so dass sich das Produkt optimal an die jeweiligen Bedürfnisse anpassen lässt. Um diese Kriterien abzudecken, bietet Netcloud die Eigenentwicklung Netcloud Automation Engine (NCAE) als Software-Produkt an.

Es handelt sich hierbei um eine modulare und erweiterbare Plattform zur Umsetzung jeglicher Art von Infrastruktur-Automatisierung. Das Herzstück stellt hierbei der sogenannte NCAE Core dar, welcher als zentrale Benutzeroberfläche agiert und einen einheitlichen Approach zur Automatisierung ermöglicht. NCAE Core besitzt selbst keine Automatisierungslogik, sondern stellt das zentrale und einheitliche Framework zur Umsetzung von Automatisierung dar.

Das Framework stellt hierbei Funktionalitäten wie Lifecycle-Management (Aufbauen/ Editieren/ Abbauen von Konfigurationen), Auditing, Reporting, Inventar von Geräten und Gruppen und vieles mehr zur Verfügung, so dass die eigentlichen Automatisierungs-Module sich vollständig auf die effektive Kernlogik fokussieren können.

Wir bieten schlüsselfertige Module für NCAE Core an, die auf den Best Practices von Netcloud basieren und verschiedene Use Cases für Geräte wie ACI, ISE oder IOS XE abdecken können. Es ist auch möglich, massgeschneiderte Module zu entwickeln. Dank dem modularen Aufbau können auch bestehende Skripts in die Plattform integriert werden.

Wir verwenden hauptsächlich Ansible, um standardisierte Bausteine für Produkte vieler verschiedener Hersteller bereitzustellen sowie Python für komplexere Automatisierungslösungen. Die Verwendung dieser Technologien seitens NCAE ist jedoch nicht zwingend erforderlich. Wir können auch andere Frameworks oder Programmiersprachen einbinden. 

Sind dir Grenzen gesetzt? Oder ist Automatisierung quasi grenzenlos?

Sofern sich der Prozess grundsätzlich zur Automatisierung eignet und nicht beispielsweise individuelle Entscheidungen benötigt, welche keinem bestimmten Muster folgen, sind die Möglichkeiten nahezu grenzenlos.

Es ist jedoch noch entscheidend, welche Umsysteme mit der Automatisierungslösung angesprochen werden müssen. Idealerweise bieten diese bereits eine entsprechende API mit sauberer Dokumentation, so dass sich das Vorhaben leicht umsetzen lässt.

Bietet ein Produkt beispielsweise nur eine Weboberfläche an, aber keine API, so ist es durchaus möglich, quasi die Interaktion von einem Menschen mit dem Produkt in der Software nachzubauen. Dies benötigt jedoch mehr Zeit und birgt mehr Risiken, dass zum Beispiel nach einem Software-Update eine Anpassung notwendig wird, da keine Stabilität wie bei den meisten APIs gewährleistet ist.

Hast du persönliche Best Practices oder Tipps aus deinem Alltag?

Aus technischer Sicht gibt es natürlich ein paar Best Practices, welche allgemein in der Welt der Software-Entwicklung bekannt sind, wie zum Beispiel die Verwendung einer einheitlichen Struktur im Code, der Einsatz von automatisierten Tests, die denkbare Versionierung vom Quellcode und vieles mehr. Das Befolgen der hierbei üblichen Praktiken erleichtert die Pflege der Software und ermöglicht es auch anderen Leuten, diese besser zu verstehen.

Da es bei Automatisierung jedoch immer noch Überschneidungen mit anderen Umsystemen gibt, finde ich es besonders wichtig, vor dem Beginn der technischen Umsetzung das Problem genau zu verstehen. Hierbei gehört für mich auch dazu, sich mit den Stakeholdern auszutauschen und bei den betroffenen Anwendern den manuellen Prozess mitzuverfolgen. Nur so bildet sich ein viel besseres Verständnis über potenzielle Pain Points, so dass bei der Automatisierung diese Stolpersteine vermieden werden.

Als letzten Tipp möchte ich noch mitgeben, sich nicht vom Thema der Automatisierung abschrecken zu lassen. Es ist nicht erforderlich, die ganzen Prozesse von heute auf morgen umzustellen. Das Ziel sollte sein, die aktuelle Situation genau zu betrachten, die einzelnen Prozesse zu priorisieren und eine schrittweise Umsetzung anzugehen.

Sie haben Fragen zur Automatisierung oder haben Interesse an NCAE?

Kontaktieren Sie Pascal Mathis gleich direkt via mathis@netcloud.ch, er freut sich auf Ihre Anfragen.