Sobald eine Firma wächst und immer mehr Menschen dazu stoßen, bleibt es nicht aus, dass sich die Firma organisiert, indem sie Abteilungen schafft und Kompetenzen verteilt. Dadurch kommt es zu Kapselungen und Spezialisierungen. Die Kommunikationswege werden länger und das Verständnis
für die Arbeiten in anderen Abteilungen schwindet. Bei Abteilungsübergreifenden Projekten, deren Devise ”release early and often” lautet, wirkt sich dies negativ aus. DevOps ist der Begriff für eine
Bewegung, mit Prinzipien, Methoden und Werkzeugen, welche die Kluft zwischen Entwicklung und Administration schließt, um so den Anforderungen an immer schnellere und flexiblere Änderungen gerecht werden zu können. Mit Hilfe von DevOps soll die Grundidee von agilen Methoden auch auf die Administration ausgeweitet werden, und damit ein nahtloser Prozess, von der Entwicklung,
bis hin zum Nutzer, entstehen. Durch die verstärkte Zusammenarbeit von Entwicklung und Administration wird die Produktivität und Qualität gesteigert.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation
1.2 Problemstellung
1.3 Zielsetzung
1.4 Gliederung der Arbeit
2 Grundlagen
2.1 DevOps
2.1.1 Der Begriff DevOps
2.1.2 Was DevOps nicht ist
2.1.3 Der Kern von DevOps
2.1.4 Unterschiedliche Ziele
2.1.5 Blame Game
2.1.6 Culture
2.1.7 Automation
2.1.8 Measurement
2.1.9 Sharing
2.2 Monitoring
2.2.1 Hardware
2.2.2 Betriebssystem
2.2.3 Laufzeitumgebung
2.2.4 Anwendung
2.3 Nagios
2.3.1 Hosts
2.3.2 Services
2.3.3 Contacts
2.3.4 Plugins
2.3.5 Eskalationsstufen
3 Stand der Technik
4 Analyse der aktuellen Situation im Wilken SmartBusiness Bereich
4.1 Grundlegendes
4.2 Culture
4.3 Automation
4.4 Sharing
4.5 Measurement
5 Monitoring-Lösung
5.1 Testumgebung
5.2 Testanwendung
5.3 Spring Web MVC
5.4 Test der Webanwendung
5.5 MBeans implementieren
5.6 Test der Remote Method Invocation (RMI)
5.7 Verbindung zu Nagios
5.8 Graphische Darstellung
5.9 Gesamtübersicht
6 Zusammenfassung und Ausblick
Zielsetzung & Themen
Die Arbeit analysiert das Vorgehensmodell der Abteilung SmartBusiness bei der Wilken GmbH im Hinblick auf DevOps-Prinzipien und konzipiert eine an die internen Abläufe angepasste, DevOps-konforme Monitoring-Lösung für Java-Anwendungen.
- Analyse des Ist-Zustands hinsichtlich DevOps-Kriterien (Culture, Automation, Measurement, Sharing).
- Grundlagenvermittlung zu DevOps, Monitoring-Konzepten und der Monitoring-Software Nagios.
- Konzeption einer Monitoring-Architektur für Java-Umgebungen mittels JMX und MBeans.
- Implementierung und Einbindung einer Monitoring-Lösung in Nagios inklusive graphischer Aufbereitung.
Auszug aus dem Buch
2.1.5 Blame Game
"In der Regel treffen Devs und Ops unter Zeitdruck aufeinander, zum Beispiel beim Deployment eines neuen Releases oder wenn es ein Problem, wie einen Systemausfall, gibt.", so Peschlow [Pes12]. Dann beginnt das typische Blame-Game, bei dem beide Lager (Entwicklung und Administration) sich gegenseitig die Schuld an der Situation geben.
Die Entwicklung tadelt die Administratoren, weil sie die Software nicht live stellen können oder wollen. Die Administration dagegen tadelt die Entwickler wegen ihrer Unfähigkeit produktionsreife Software zu entwickeln. Hüttermann [Hü12] geht davon aus, dass die Ursachen für die auftretenden Probleme divergierende Ziele, Prozesse und Werkzeuge der beiden Lager sind. Nehmen wir an, dass eine auf dem Entwicklungssystem funktionierende Software auf dem Produktivsystem nicht lauffähig gemacht werden kann. Weder die Entwickler, noch die Administratoren sind sich einer Schuld bewusst. Nun könnte es passieren, dass sich die beiden gegenseitig beschuldigen. Nach langwierigen Diskussionen fällt auf, dass das Entwicklungs- und das Produktivsystem sich voneinander in einer kleinen Einstellung unterscheiden. Anstatt sich gegenseitig die Schuld am Problem zu geben wäre es sinnvoller die Zeit zu nutzen und gemeinsam an der Lösung des Problems zu arbeiten.
Zusammenfassung der Kapitel
1 Einleitung: Beschreibt die Motivation hinter DevOps, definiert die Problemstellung in der Abteilung SmartBusiness und legt die Zielsetzung sowie den Aufbau der Arbeit fest.
2 Grundlagen: Erläutert die Kernprinzipien von DevOps, stellt grundlegende Monitoring-Konzepte vor und führt in die Funktionsweise der Monitoring-Software Nagios ein.
3 Stand der Technik: Analysiert den Bekanntheitsgrad und die praktische Anwendung von DevOps in Unternehmen anhand von Umfrageergebnissen.
4 Analyse der aktuellen Situation im Wilken SmartBusiness Bereich: Untersucht die realen Arbeitsprozesse in der Abteilung SmartBusiness und identifiziert Defizite im Vergleich zu DevOps-Ansätzen.
5 Monitoring-Lösung: Beschreibt detailliert den Aufbau und die Implementierung einer neuen Monitoring-Lösung für Java-Anwendungen inklusive Anbindung an Nagios und graphischer Auswertung.
6 Zusammenfassung und Ausblick: Reflektiert die entwickelte Monitoring-Lösung selbstkritisch und diskutiert mögliche Erweiterungen und Skalierbarkeitsaspekte.
Schlüsselwörter
DevOps, Monitoring, Nagios, Softwareentwicklung, IT-Betrieb, Java, JMX, MBeans, Automatisierung, Unternehmenskultur, Wissensaustausch, Systemstabilität, Feedback-Zyklen, Metriken, Testumgebung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Einführung von DevOps-Methoden, um die Zusammenarbeit zwischen Softwareentwicklung und IT-Betrieb zu verbessern und einen reibungsloseren Softwareentwicklungsprozess zu etablieren.
Was sind die zentralen Themenfelder der Publikation?
Die zentralen Felder sind die Analyse von Entwicklungsprozessen, DevOps-Prinzipien (Culture, Automation, Measurement, Sharing) sowie die technische Implementierung einer modernen Monitoring-Lösung.
Was ist das primäre Ziel der Bachelorarbeit?
Ziel ist es, Schwachstellen in der aktuellen Arbeitsweise der Abteilung SmartBusiness bei der Firma Wilken aufzudecken und eine DevOps-konforme Monitoring-Lösung zu konzipieren, die Schnittstellen zwischen Entwicklung und Betrieb optimiert.
Welche wissenschaftliche Methode wird zur Analyse verwendet?
Neben einer theoretischen Fundierung durch Literaturrecherche wird eine Ist-Analyse der Abteilungsstrukturen und Prozesse bei Wilken vorgenommen, ergänzt durch den praktischen Aufbau einer Testumgebung zur Validierung des Monitoring-Konzepts.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die theoretischen Grundlagen zu DevOps und Nagios, die Analyse der Situation bei Wilken und die detaillierte Beschreibung der Monitoring-Lösung, von der Konfiguration der Testumgebung bis zur Integration in Nagios.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird maßgeblich durch Begriffe wie DevOps, Monitoring, Nagios, Java, JMX und Unternehmenskultur geprägt.
Warum wird im Bereich Monitoring spezifisch auf Java-Anwendungen fokussiert?
Da die in der Abteilung SmartBusiness entwickelten Mehrwertanwendungen in Java verfasst sind, ist ein gezieltes Monitoring der Java-Laufzeitumgebung und der spezifischen Anwendungsparameter mittels JMX und MBeans für die Überwachung essenziell.
Welche Rolle spielt Nagios bei der in der Arbeit vorgestellten Lösung?
Nagios dient als zentrale Monitoring-Instanz, die durch spezifische Plugins und JMX-Anbindung so konfiguriert wurde, dass sie nicht nur Infrastrukturkomponenten, sondern auch applikationsspezifische Metriken erfasst und graphisch aufbereitet.
- Citation du texte
- Sebastian Strissel (Auteur), 2012, Analyse eines Softwareentwicklungsprozesses und Konzipierung einer Monitoring-Lösung unter den Gesichtspunkten von DevOps, Munich, GRIN Verlag, https://www.grin.com/document/269400