DEVOPS

Der ultimative Leitfaden für das Dasein als SysAdmin

SysAdminsJahrzehntelang haben SysAdmins weitgehend im Verborgenen gewirkt und von dort aus dafür gesorgt, dass eure wichtigsten IT-Services verfügbar und erreichbar bleiben. Seit DevOps und Cloud Computing gibt es zwar mehr Fach­leute, die ein hybrides DevOps-SysAdmin-Skillset mitbringen, aber die klassischen Kern­aufgaben werden wohl immer dieselben bleiben. SysAdmins von heute kennen sich sowohl mit Hardware als auch mit Software aus; sie konfigurieren resiliente, sichere Architekturen und ermöglichen damit den Erfolg des gesamten Unternehmens.

SysAdmins sind normalerweise mit der Installation, Instand­haltung, Konfiguration und Reparatur von Servern, Netzwerken und anderen Computer­systemen betraut. Sie befassen sich, wie gesagt, sowohl mit Hardware als auch mit Software, sie können etwas programmieren und skripten, damit sie Aufgaben und Aktionen in ihren Anwendungen und in ihrer Infrastruktur ausführen lassen können. In der heutigen DevOps-Welt werden die Entwicklungs­teams den SysAdmins immer ähnlicher, und die SysAdmins haben immer mehr mit der Software­entwicklung zu tun, was letztlich die Zusammen­arbeit verbessert und zu engeren team­übergreifenden Feedback-Schleifen führt.

Weil sich die SysAdmin-Rolle in den vergangenen Jahren so stark verändert hat, finden wir, dass es das Vernünftigste ist, endlich den ultimativen Leitfaden dazu vorzulegen. Was hiermit geschieht. Wir behandeln zunächst die grund­legenden Aufgaben und Zuständig­keiten, bevor wir uns mit praktischen Tipps und nützlichen Links der Frage nähern, wie aus einfachen SysAdmins hochgradig effektive SysAdmins werden.

Der Turbo für Ihr IT-Monitoring

Wofür SysAdmins zuständig sind und welche Skills sie brauchen

Als SysAdmins seid ihr in der Haupt­sache für die Instand­haltung des gesamten Technik- und IT-Stacks zuständig. In der Technologie­branche heißt das, dass ihr das System wartet, das euer gesamtes Unternehmen buch­stäblich am Laufen hält. Denn jede Sekunde, in der eure Website oder euer Server ausfällt, bedeutet Produktivitäts- und Umsatz­einbußen und hohe Kosten. SysAdmins müssen also vor allem effiziente Problem­löser sein. Angesichts der zahlreichen Betriebs­systeme, Netzwerk­konfigurationen und Sicherheits­aspekte, die es zu beachten gilt, bedeutet Effektivität für SysAdmins, dass sie ständig neue Dinge lernen und enge Feedback-Schleifen mit dem eigenen Entwicklungs­team unterhalten.

Sehen wir uns das genauer an. Wir wollen im Folgenden zwölf typische SysAdmin-Verantwortlich­keiten nacheinander durchgehen, damit ihr den Skills und Technologien begegnet, mit denen ihr als SysAdmins vertraut sein solltet.

Wofür SysAdmins zuständig sind

1) Monitoring und Benachrichtigungen

Je nach Toolchain und Tech-Stack sind SysAdmins für das komplette Monitoring und die Benachrichtigungen bei allen Anwendungen und der gesamten Infra­struktur zuständig. Das Monitoring der wichtigen Server- und Netzwerk­metriken (CPU, Festplatten­nutzung, DNS, Latenz, ETL etc.) leistet bei der Erkennung von Incidents gute Dienste: Anhand des Monitorings legen SysAdmins typischer­weise Schwellen­werte für schwerere Vorfälle fest, sodass bei Über­schreitung Warn­meldungen (Alerts) an den Bereitschafts­dienst ausgegeben werden. Es ist absolut wichtig, dass ihr als SysAdmins wisst, wie ihr externe System­ausgaben und Metriken nutzen könnt, um den Zustand eurer Systeme zu bestimmen – damit seid ihr bereits auf dem besten Weg zu echter Observability.

2) Benutzerrechte und Verwaltung

SysAdmins sind grund­sätzlich für die Verwaltung der Benutzer­rechte sowie aller Anwendungen und Services zuständig. Sie können Benutzer­rollen zuweisen und kontrollieren den gesamten IT-Stack des Unternehmens, sodass alle auf gesicherte Weise angemessenen Zugang zu Anwendungen und Services bekommen.

3) SSO und Passwort-Management

SysAdmins sind auch mit dem unternehmens­weiten Passwort-Management und den Login-Richtlinien und -Verfahren betraut. Sie können Passwörter zurücksetzen und sorgen dafür, dass die Sicherheits­anforderungen überall erfüllt werden. In Szenarien mit SSO (Single Sign-on) und/oder Zwei-Faktor-Authentifizierung sind SysAdmins auch für diese Tools zuständig und helfen den Beschäftigten, damit diese zeit­gerecht Zugang zu den Systemen zu erhalten, die sie brauchen.

4) Dateiorganisation und -verwaltung

Damit Datenkonsistenz und -austausch geordnet gewährleistet bleiben, legen SysAdmins in der Regel mit Richt­linien und Verfahren fest, wie Dateien innerhalb des Unternehmens gemeinsam abgelegt, ausgetauscht und genutzt werden. Wie die meisten anderen SysAdmin-Verantwortungs­bereiche geht es auch bei diesen Pflichten darum, das Unternehmen vor Angriffen von außen zu bewahren und den Beschäftigten einen angemessenen, einfachen Zugriff auf die benötigten Dateien zu geben.

5) Richtlinien und Verfahren zur Systemnutzung

Auf einer ganz grundsätzlichen Ebene müssen SysAdmins Best Practices für die Arbeit mit den Systemen des Unternehmens definieren. Hierzu gehört letztlich alles, von eigener, selbst entwickelter Software bis hin zu den einzelnen IT-Anwendungen und Services von Dritt­anbietern. Insofern zeigen SysAdmins den Beschäftigten, wie diese die Systeme sicher und produktiv nutzen können – und das bedeutet, dass ihr als SysAdmins praktisch in der Lage seid, komplett neu zu definieren, wie die Arbeit in eurem Unternehmen vonstattengeht.

6) Software installieren, updaten und warten

Ebenso ist es Aufgabe der SysAdmins, Richtlinien und Verfahren einzuführen, damit die Installation und Aktualisierung von Software rechtzeitig geschieht. Falls bei Updates oder Abhängigkeiten zwischen aktualisierten System­versionen Fehler auftreten, sollten SysAdmins in der Lage sein, diese Probleme zu erkennen und zu beheben.

7) Redundanzen, Rollover und Recovery-Pläne

SysAdmins sollten Pläne für Redundanzen, Rollover und die Wieder­herstellung bei Incidents aktiviert haben, und diese Pläne sollten stets auf dem aktuellen Stand sein. Durch effektives Monitoring, Benachrichtigungen und funktions­übergreifende Kommunikation sollten sie in der Lage sein, Ausfälle schnell zu erkennen und IT-Störungen zu beheben.

8) Sicherheit

Den Aspekt Sicherheit müssen SysAdmins bei sämtlichen Aufgaben an erster Stelle berücksichtigen. Ob es um Benutzer­rechte oder darum geht, wie das Team die Dokumentation pflegt – SysAdmins müssen alle Aktionen so durchführen, dass sie sicher sind. Bei der Einrichtung von Netzwerken, Richtlinien und Servern müssen SysAdmins wissen, wie sie ihre Arbeiten technisch solide und sicher erledigen.

9) Dokumentation und Runbooks

SysAdmins fällt vielfach die Aufgabe zu, die Dokumentation zu pflegen und die Runbooks auf dem neuesten Stand zu halten. In CI/CD-Welten kann dies eine echte Heraus­forderung sein. SysAdmins sollten daher wissen, wie sie Automatisierungs­funktionen nutzen können, damit sie Runbooks und Dokumentation korrekt und aktuell halten, ohne den Entwicklungs­zyklus auszubremsen.

10) Incident-Erkennung, Reaktion und Problembehebung

SysAdmins können ihre IT- und Sicherheits­umgebung nicht einfach nach Gutdünken zusammen­schustern, sondern müssen sie mit Blick auf Transparenz und Geschwindigkeit aufbauen. Wie lässt sich ein System einrichten, bei dem man Incidents rasch erkennen, darauf reagieren und Abhilfe­maßnahmen ergreifen kann, falls ein Problem auftritt? Welche Art von Monitoring wird benötigt und welche Benachrichtigungen müssen eingerichtet werden? Wie sieht die Kommunikations­strategie im Falle eines Ausfalls aus? Mit allen diesen Fragen müssen sich SysAdmins befassen, wenn das Indicent Management etwas taugen soll.

11) Post-Incident Reviews

Oft sind SysAdmins auch für die Überprüfung der betroffenen Systeme nach einem Vorfall zuständig. Wie lange hat es gedauert, das Problem zu erkennen? Wie lange hat es gedauert, den Vorfall tatsächlich zu beheben? Post-Incident Reviews, der Austausch mit anderen betroffenen Teams und die Anfertigung detaillierter Notizen können sich positiv auf die Beziehung zwischen IT-Abteilung und Software­entwicklung auswirken, was letztlich zu besseren Feedback-Schleifen und verlässlicheren Implementierungen führt. Post-Incident Reviews solltet ihr als Chance sehen, aus den Fehlern der Vergangenheit zu lernen, damit Menschen, Prozesse und Technologien in der Zukunft besser funktionieren.

12) Vorbereitung und Problemlösung

Im Wesentlichen sind gute SysAdmins vor allem exzellente Problem­löser, die immer einen Weg finden und sich auch von Unbekanntem nicht überraschen lassen. In der Welt von CI/CD und DevOps stellen die Teams mit immer höherer Schlag­zahl immer komplexere Architekturen bereit – und das macht die Arbeit von SysAdmins komplizierter denn je. Wenn es euch also gelingt, die Engstellen im Bereitstellungs­zyklus aufzubohren und zugleich die Risiken in der IT- und Sicherheits­infrastruktur zu minimieren, dann macht ihr euch damit das Leben als SysAdmin von vornherein leichter.

Skills und Technologien für SysAdmins

SysAdmins, die im modernen Digital­zeitalter effektiv sein wollen, müssen sich besser mit Programmierung, Automatisierung und Cloud Computing auskennen als früher. Ihr startet nicht einfach nur Server neu und mustert alte Geräte aus, sondern sorgt dafür, dass eure gesamte Software und Hardware zuverlässig läuft und verfügbar bleibt. Darum möchten wir euch noch einige Skills und Technologien ans Herz legen, mit denen SysAdmins heutzutage vertraut sein sollten.

1) Konfigurationsmanagement und Automatisierung

Der souveräne Umgang mit Tools wie Puppet, Chef, Ansible und Jenkins ist für den SysAdmin-Erfolg unabdingbar. Mit diesen Werkzeugen könnt ihr eine ganze Reihe von Aufgaben und Konfigurations­arbeiten über den gesamten Release-Zyklus automatisieren – das macht die Bereit­stellung schneller und ist weniger fehler­anfällig. Dann haben die Dev-Teams mehr Zeit für die Entwicklung neuer Anwendungen und Services übrig, weil sie nicht ständig Projekte in der aktuellen Pipeline überarbeiten oder sich um Support-Eskalationen kümmern müssen.

2) Cloud-Infrastruktur

Weil IT zu einem immer größeren Teil auf AWS, Azure und Google Cloud Platform stattfindet, müssen SysAdmins in jedem Winkel der Welt wissen, wie man Systeme in der Cloud orchestriert. Welche Arten von Monitoring- und Benachrichtigungs­tools sind dafür am besten geeignet? Wie lassen sich Server und Netzwerke am besten verwalten, wenn die Infrastruktur auf einmal Cloud-basiert ist? SysAdmins beschäftigen sich ständig mit Fragen wie diesen, bauen Redundanzen im gesamten System ein und treffen Sicherheits­vorkehrungen. Weil mittlerweile fast alle Anwendungen und Services in die Cloud migriert werden, ist dies weltweit eine der wichtigsten SysAdmin-Kompetenzen geworden.

3) Git und andere Versionsverwaltungen

Git ist die am weitesten verbreitete Option der Versions­verwaltung. Versions­verwaltungen sind eine gute Möglichkeit, Code-Änderungen und unterschiedliche Versionen einer Anwendung oder eines Services nachzuverfolgen. Falls irgendwann ein Problem mit der aktuellen Version auftritt, könnt ihr damit Bereit­stellungen oder Aktualisierungen problemlos rückgängig machen und so das Problem beheben. Zur Aufrecht­erhaltung einer zuverlässigen CI/CD-Pipeline und mit Blick auf die Transparenz der Projekte von IT und Technik sind Versions­verwaltungen von entscheidender Bedeutung. SysAdmins sollten also fit in Versions­verwaltung sein, damit sie sehen können, was die Entwicklungs­teams treiben, und Probleme schnell erkennen und beheben können – oftmals noch bevor diese beim Kunden überhaupt auftreten.

4) Server- und Netzwerkwartung

Wie gesagt müssen SysAdmins mit der Instand­haltung von Servern und Netzwerken bestens vertraut sein. Diese Server und Netzwerke sind die Grund­lage, auf der euer gesamtes Unternehmen arbeitet und Wert für die Kunden generiert. Darum müssen SysAdmins ihre Prozesse kontinuierlich verbessern und immer noch zuverlässigere Systeme schaffen, Ausfälle so weit wie möglich verhindern und die Vorfall­reaktion für den Ernstfall optimieren.

5) Scripting und Programmierung

Immer öfter schreiben SysAdmins selbst Skripts und Code, um die gewünschten Ergebnisse zu erzielen. Dieser Bedarf an SysAdmins, die routiniert programmieren können, ist eng mit Site Reliability Engineering (SRE) verbunden. Früher war die Arbeit von SysAdmins stark reaktiv ausgerichtet, weil sie ja den Code aus der Entwicklung bekamen und erst bei Incidents in der Produktion eingriffen. Doch je mehr SysAdmins und SRE-Teams selbst programmieren und früher im Bereitstellungs­zyklus mit den Dev-Teams zusammen­arbeiten, desto öfter können sie Probleme proaktiv erkennen und selbst beheben. SysAdmins, die gut im Skript­schreiben und Programmieren sind, sind auf dem Markt heutzutage heiß begehrt, weil sie aktiv zur System­zuverlässigkeit beitragen – und damit direkt einen Wert­beitrag zum Unternehmen leisten.

Hut ab vor den SysAdmins!

SysAdmins ernten selten die Anerkennung, den sie eigentlich verdienen. Sie reagieren im Bereitschafts­dienst um 4 Uhr morgens auf Vorfälle, die sonst zu Umsatz­einbußen in Millionen­höhe und zu verärgerten Kunden geführt hätten. Jedes gute IT- bzw. Technikteam muss das Gleich­gewicht zwischen Geschwindigkeit und Zuverlässigkeit laufend neu finden. Die Entwicklungs­teams gehen meist in Richtung Geschwindigkeit ans Limit, während euch als SysAdmins die schwierige Aufgabe zufällt, zu bremsen, bevor sie zu weit gehen – damit Anwendungen und Services zuverlässiger und sicherer laufen.

Splunk Observability Cloud bietet durchgängiges End-to-End-Monitoring und Benachrichtigungen für DevOps, IT- und Engineering-Teams. Überzeugt euch selbst mit unserer 14-tägigen kostenlosen Testversion. Kreditkarte braucht ihr dazu keine.

*Dieser Artikel wurde aus dem Englischen übersetzt und editiert. Den Originalblogpost findet ihr hier.