Torsten Laser - IT Service Management

Artikel und Berichte für einen sicheren und stabilen IT Betrieb

Kategorie: Allgemein (Seite 1 von 3)

DevOps-Glossar

Was versteht man unter DevOps?

Die Bezeichnung DevOps ist ein Kunstwort aus „Development“ (Entwicklung, insbes. Softwareentwicklung) und „Operations“ (Betrieb). DevOps ist ein Sammelbegriff für eine  Reihe von Prozessen, Werkzeugen und kulturellen Besonderheiten innerhalb eines Unternehmens, die die Zusammenarbeit zwischen der Entwicklung, insbes. der Softwareentwicklung, und des IT-Betriebs, der von Systemadministratoren, Systemarchitekten und der Security verantwortet wird, fördern und verbessern soll.

Kennzeichnend für DevOps sind die oft sehr kurzen Release-Zyklen und der Einsatz  gemeinsamer Tools für das Management, das Testen und Verteilen neuen Quellcodes.

DevOpskann man sich als eine Werkzeugkiste vorstellen, die viele Methoden und Vorgehensweisen anbietet, die jedoch nicht in ihrer Gesatmheiteingesetzt werden müssen. Um kürzere Release-Zyklen zu erreichen, sollte jedoch der gesamte Softwarentwicklungsprozess untersucht werden und mit DevOps-Praktiken bestmöglich unterstützt werden. Insbesondere die Schnittstelle zwischen Entwicklung 

Ziel ist es, die Produktivität der IT durch eine bessere Kommunikation zu steigern und die Probleme zu beseitigen, die oftmals zwischen traditionell getrennten Silos auftreten.

Die folgende Liste umfasst das wichtigste DevOps-Vokabular. Zu jedem Begriff wird eine kurze Erläuterung gegeben, die jedoch keinen Anspruch auf Vollständigkeit erhebt.

Acceptance Testing

Überprüfung eines Systems in Hinblick auf die Umsetzung der vereinbarten Anforderungen. Die Anforderungen können vom Business, von Kunden oder Anwendern stammen. Zu den geprüften Bereichen können Usability, Datenintegrität, Skalierbarkeit und natürlich Funktionalitäten gehören.

Agile

Die Agile Vorgehensweise wird i.A. mit DevOps in Verbindung gebracht. Agile Softwareentwicklung zeichnet sich durch kurze Releasezyklen aus („release early, release often“).

Artifacts

Artifacte sind die entstehenden Nebenprodukte des Softwareentwicklungszyklus. Darunter subsummiert man den kompilierten Code, Skripte und Testfälle, Dokumentationen, User Stories  und Klassendiagramme.

Build  Automation

Unter Build Automation versteht man die automatisierten Aufgaben, die während des Softwareentwicklungszyklus durchlaufen werden. Dazu zählen Aufgaben wie das Ein- und Auschecken des Quellcodes in ein Versionskontrollsystem, das Kompilieren von Code, das Starten und Prüfen von Testabläufen sowie das Paketieren der Ergebnisse. Die bekanntesten Werkzeuge der Build-Automatisierung sind Jenkins, Atlassian’sBamboo, CircleCI.

Client-Server/Client-Only Infrastructure

Eine Client-Server-Architektur umfasst einen oder mehrere primäre Server, die die für den Client erforderlichen Ressourcen verwalten. Ein Beispiel hierfür ist die Kommunikationsbeziehung zwischen einem Puppet Master oder Chef Server und den Puppet Chef-Knoten. Der „Master“-Server teilt dem Client mit, was zu installieren ist, welche S ervice laufen müssen und wie der Client aufgesetzt sein muss.

Im Gegensatz dazu gibt es bei einer Client-onlyInfrastructure keinen „Master“-Server, der die Installationen orchestriert. Stattdessen werden Skripte und Services des Cloudanbieters genutzt, um eine Infrastruktur zu installieren.

Configuration  Drift

Wenn sich Server innerhalb der Infrastruktur von der festgelegten Konfiguration durch manuelle Updates oder  durch allgemeine Nutzung ändern, so spricht man von „Configuration Drift“. Wenn dieser Configuration Drift nicht erkannt und korrigiert  wird, kann dies zu Ausfällen oder anderen Problemen innerhalb des System führen.

Tools wie Chef, Puppet, Ansibleund Saltsollen helfen, Konfigurationsveränderungen zu erkennen und zu verhindern, indem sie regelmäßig auf den Servern „einchecken“, die sie verwalten. So wird geprüft, ob die Client-Konfigurationen den definierten Infrastrukturen entsprechen.

Configuration Management

Configuration Management (CM) beschreibt den Prozess der Schaffung und Aufrechterhaltung einer einheitlichen Infrastruktur. Dies kann eine Kombination von Werkzeugen und Praktiken sein, die sicherstellen, dass ein System oder Produkt innerhalb der erforderlichen Einstellungen bleibt und sich leicht ändern und weiterentwickeln kann, wenn sich diese Anforderungen ändern.

Zu den Werkzeugen des Konfigurationsmanagements gehören Ansible, Chef, Puppet und Salt.

Container

Ein Werkzeug zur Isolierung von Anwendungen und zugehörigen Frameworks und Bibliotheken auf einem System. Container verwenden das Betriebssystem und den Kernel des Hostsystems, um Ressourcen bereitzustellen, während die Anwendung in einer geschlossenen Umgebung läuft und nicht auf das zugrundeliegende System oder andere auf dem System befindliche Container zugreifen kann. 

Das bekannteste Werkzeug ist Docker.

Continuous Delivery

Dies ist eine Erweiterung des Prozesses „Continuous Integration“(siehe unten) und „Deploy early, deploy often“-Philosphie, die DevOps und die Agile Softwareentwicklung auszeichnet. Wenn in einer Versionsverwaltung regelmäßige Änderungen vorgenommen werden, dann soll Continous Delivery dafür sorgen, dass diese Änderungen automatisch geprüft werden und dann in den letzten Softwarestand aufgenommen und veröffentlicht werden können. 

Werkzeuge wie Jenkins, Bamboo, Circle CI helfen bei der Implementierung von Continous Delivery.

Fortsetzung folgt…

Der Wert von Dokumentation

Dokumentation ist wichtig und Dokumentation ist (eigentlich) Pflicht – darüber herrscht zumindest theoretisch Einigkeit. Die Realität sieht jedoch oft anders aus. Dokumentation ist lästig und überhaupt nur was für Feiglinge, oder?

Weiterlesen

Migration in die Cloud – Was Sie beachten sollten

Mittlerweile haben die meisten deutschen Firmen verstanden, dass die digitale Transformation in vollem Gange ist und jede Organisation einen Plan braucht, um sich auf die digitale Reise vorzubereiten. Agile Vorgehensmodelle wie Scrum oder DevOps sind  en vogue und verstärken den Veränderungsdruck auf den CIO. Cloud ist ein möglicher Ansatz, um die „Digital Journey“ zu starten.

Unter dem Buzzword „Cloud-Services“ verstehen viele IT-Manager das Allheilmittel, um Geschäftsprozesse zu digitalisieren, verbesserten und einfacheren Service zu bieten bei gleichzeitiger Senkung der IT-Kosten. Die Platzhirsche unter den Cloud-Anbietern wie Amazon Web Service, Microsoft Azure oder Rackspace werben mit kinderleicht einzurichtenden Services, deren Nutzung stundengenau abgerechnet werden kann. Auch das Argument „Datenschutz“ wird zunehmend durch eigene Standorte in Deutschland entschärft. Auch neuartige Technologien wie „Code as a Service“ oder NoSQL-Datenbanken werden angepriesen. Es gibt der Möglichkeiten also viele. Doch eine Migration von On-Premise-Services zu Cloud-Services ist alles andere als trivial. Um Fallstricke zu vermeiden, sollten Sie die folgenden Aspekte im Hinterkopf behalten.

Weiterlesen

Erfolgskriterien für Level-0-Support

Im vorigen Artikel (hier) habe ich die verschiedenen Möglichkeiten betrachtet, einen sog. Level-0-Support aufzubauen, um die Anwenderzufriedenheit zu verbessern und das eigene Support-Team von den immer gleichen Fragen der Anwender zu entlasten. Falls Sie in Ihrem Unternehmen bereits ein ITSM-Tool nutzen, so bietet dieses sehr wahrscheinlich auch die Funktionalitäten eines Service-Portals. Die Platzhirsche auf dem Tool-Markt, BMC und ServiceNow, bieten entsprechende Module in ihren ITSM-Lösungen an (siehe hier und hier).

support-1699891_1920

Mit der Einführung eines Service-Portals ist es jedoch meist nicht getan. Es gibt viele Stolperfallen, die das Projekt „Self Help Portal“ zum Rohrkrepierer werden lassen können. Die wichtigsten Erfolgskriterien finden Sie im Folgenden.

Weiterlesen

Was versteht man unter Level-0-Support ?

Bei der Einführung einer Supportstruktur kommt man ziemlich schnell zu der Fragestellung, welche Unterstützung von welcher Organisationseinheit geleistet werden soll. Unter dem Level-1-Support wird gemeinhin der Service Desk verstanden, der einfache Hilfestellungen wie z.B. Passwort-Rücksetzungen anbietet. Level-2-Support wird oft durch die Administratoren der IT-Systeme geleistet. Beim Level-3-Support wird in aller Regel der Applikationshersteller oder Betriebssystemlieferant befragt. Als Anwender muss man bei Problemen eine Hotline anrufen oder eine E-Mail an den IT-Support senden. Telefonische Anfragen landen oftmals in einer Warteschlange, bei Anfragen per E-Mail ist ungewiss, ob und wann man eine Antwort zu seinem Problem erhält. In allen Fällen werden Ressourcen der Organisation gebunden, das Vorhalten eines Support-Teams ist teuer. Hier kommt nun der sog. Level-0-Support ins Spiel. Bevor der Anwender den Support kontaktiert, wird er bei Google nach einer Lösung für sein Problem zu suchen – und meistens wird er fündig. Das gesamte Internet bildet somit die Plattform des Level-0-Supports.

Da jedoch nicht jeder Nutzer gewillt ist, komplexe Suchaufträge in die Google-Suchleiste zu tippen, sollten IT-Organisationen die folgenden, oft kostengünstigen, Möglichkeiten einsetzen, um Anwender zu unterstützen.

Weiterlesen

« Ältere Beiträge