Der Blog

Überwachung in der DevOps-Welt

von Twain Taylor 15. November 2016 | 8 Minuten Lesezeit

Was ist DevOps-Monitoring?

DevOps hat die Zusammenarbeit von Entwicklungs- und IT-Betriebsteams grundlegend verändert. Mit klar definierten Rollen und geteilter Verantwortung für die bereitgestellten Produkte und Services trug DevOps dazu bei, traditionell isolierte Arbeitsumgebungen aufzubrechen und optimierte Arbeitsabläufe zu schaffen, die schnellere Produktions- und Lieferzeiten gewährleisten. Ziel von DevOps war es, die Bedeutung von Arbeitsabläufen in den Mittelpunkt zu rücken und, wo möglich, Automatisierung zu integrieren, um die Effizienz zu steigern und die Produktivität zu verbessern.

Um mit den durch DevOps hervorgerufenen Veränderungen Schritt zu halten, waren schnellere und agilere Überwachungssysteme erforderlich. DevOps-Monitoring ist eine Form des proaktiven Monitorings, bei dem der Fokus auf Qualität in der frühen Produktionsphase liegt, anstatt auf einem reaktiven Ansatz. DevOps-Monitoring legt den Schwerpunkt auf die schnelle Bereitstellung zuverlässiger Dienste und neuer Funktionen oder Updates durch frühzeitige Tests, oft in einer Produktionsumgebung. Dadurch konnten Teams Updates und neue Funktionen häufiger, in verbesserter Qualität und zu geringeren Kosten veröffentlichen. Es simuliert reale Benutzerinteraktionen mit Ihrem Dienst – egal ob Anwendung, Website, API usw.

DevOps-Überwachungstools

DevOps-Überwachungstools sind für die Verfolgung der spezifischen Daten und Informationen, die für Ihr Unternehmen wichtig sind, unerlässlich.

Zu unseren beliebtesten DevOps-Überwachungstools gehören:

  • Für eine umfassende DevOps-Überwachungsstrategie: Nagios
  • Für die Anwendungsüberwachung: New Relic, DynaTrace, AppDynamic
  • Zur Infrastrukturüberwachung: DataDog, LogicMonitor, SignalFX, Zenoss
  • Zur Überwachung von Protokollen: Splunk, LogEntries, Loggly

Durch die Auswahl des richtigen Toolset erhalten Sie den besten Überblick über Ihr DevOps-System, um wichtige Kennzahlen wie Verfügbarkeit, CPU- und Festplattennutzung, Reaktionszeiten und mehr zu verfolgen.

Im Mittelpunkt der Idee von DevOps ist die Zusammenarbeit aller an IT-Anwendungen und -Infrastruktur beteiligten Teams. Entwickler, Betrieb, Qualitätssicherung, Sicherheit und weitere sind an der Bereitstellung eines Produkts oder einer Dienstleistung beteiligt. Was bedeutet Zusammenarbeit also im Hinblick auf das Monitoring in der DevOps-Welt?

Wie DevOps das Spiel verändert

In der Vergangenheit haben die verschiedenen Teams, die an der Erstellung oder Wartung einer Anwendung beteiligt waren, zunächst ihren Teil vollständig fertiggestellt, bevor sie ihn an das nächste Team weitergaben. Beispielsweise schrieb das Entwicklungsteam zunächst Code für die gesamte App oder bestimmte Funktionen der App, bevor es diesen an das Qualitätssicherungsteam (QA) weitergab. Das QA-Team führte dann seine Tests und Analysen durch, bevor es den Code an die Betriebsabteilung weiterleitete, und so weiter.

Dies ist vergleichbar mit einer olympischen Staffel, bei der jeder Läufer 100 Meter läuft, bevor er den Staffelstab an den nächsten weitergibt. Stellen Sie sich nun ein Team vor, das DevOps-Ideen nutzt, als würden alle Läufer gleichzeitig laufen – in vier 100-Meter-Sprints statt einem 400-Meter-Sprint. Anstatt darauf zu warten, dass ein Team die Arbeit an das nächste übergibt, arbeitet jeder parallel an der Anwendung in seinem eigenen Schwerpunktbereich. Die DevOps-Läufer haben mehr Möglichkeiten, die Strategie anzupassen und schrittweise zu verbessern.

Plattformübergreifende und Cloud-basierte Agilität

DevOps-Konzepte werden häufig im Zusammenhang mit anderen Softwareentwicklungspraktiken wie Agile verwendet. Die Ideen hinter Agile und DevOps sind ähnlich: Arbeit in kleinere Schritte unterteilen, in jedem Schritt iterativ verbessern, mühsame Arbeit dort vermeiden, wo es sinnvoll ist, und Erkenntnisse im gesamten Unternehmen teilen.

Natürlich können zu viele Meinungen zu eigenen Problemen führen. Gut konzipierte Anwendungen bestehen in der Regel aus mehreren Komponenten und klar definierten Problembereichen. Hier kommen oft verteilte Architekturen wie Microservices ins Spiel. Aus diesem Grund übernehmen Teams, die die DevOps-Methodik Sie erstellen viel mehr Releases, da sie Probleme schneller beheben können.

waterfall-devops

Die Bedeutung von Workflows

Zwei Köpfe sind besser als einer, und ein Dutzend Köpfe sind noch besser. Transparenz und durchgängige Transparenz sind Schlüsselfaktoren für eine gute Kommunikation innerhalb von DevOps. Durchgängige Transparenz bedeutet, dass alle während des gesamten Entwicklungsprozesses auf dem gleichen Stand sind. Wenn alle auf dem gleichen Stand sind, läuft der Entwicklungsprozess deutlich reibungsloser ab, und es besteht weniger die Gefahr, dass Dinge wiederholt werden müssen.

Schnellere Iterationen sorgen für zufriedenere Benutzer

Bei all dem Chaos, das mit der Anwendungsentwicklung einhergeht, ist es wichtig, sich vor Augen zu führen, dass das ultimative Ziel darin besteht, das Endbenutzererlebnis zu verfeinern und zu verbessern. Da die meisten Cloud-basierten Anwendungen schnell auf sich ändernde Benutzeranforderungen und Marktveränderungen reagieren müssen, ist es manchmal notwendig, Updates für diese Anwendungen schnell zu veröffentlichen. Softwareentwickler, die DevOps-Konzepte nutzen, können diese Anforderung leichter erfüllen, da es weniger Engpässe im teamübergreifenden Workflow gibt.

Dies sorgt nicht nur für zufriedene Kunden, sondern auch für zufriedene Entwickler, die sich aufgrund von Bugs, Abstürzen oder Pannen deutlich weniger Sorgen machen müssen. Da gute Kommunikation ein wesentlicher Unterschied zwischen dem traditionellen Wasserfall-Entwicklungsstil und DevOps-Methoden ist, beeinflusst dies auch die Anforderungen an die Tools.

Der DevOps-Monitoring-Stil ist also keineswegs einfacher als die traditionelle Wasserfallmethode, bei der Teams oft nur wenige Tools für den gesamten Prozess und viele Mitarbeiter benötigten, um den Unterschied auszugleichen. Wenn ein einzelnes Team in vielen verschiedenen Bereichen (Entwicklung, Qualitätssicherung, Betrieb usw.) arbeitet, sind zahlreiche Tools erforderlich, die reibungslos zusammenarbeiten müssen. Die Suche nach einer Gruppe kompatibler Tools kann eine Herausforderung sein, aber die Ergebnisse sind es wert.

Eine Möglichkeit, diese Tools zu betrachten, besteht darin, sie in vier Softwaregruppen aufzuteilen: Anwendungsleistungsüberwachung, Infrastrukturüberwachung, Protokollanalyse und nicht zuletzt Vorfallmanagement.

monitoring Überwachen Ihrer Anwendungen

Die Überwachung von Anwendungen ist ein Schlüsselfaktor, um Probleme (Leistung, Regression oder andere) zu identifizieren und im Rahmen der Iteration eines Teams schnell zu beheben. Drei der beliebtesten Tools zur Anwendungsleistungsüberwachung (APM) sind Neues Relikt , Dynatrace , Und AppDynamics . Sie ermöglichen den Teams nicht nur die Überwachung und Verwaltung ihrer Software, sondern auch die Überwachung der Endbenutzer, was entscheidend ist, um sicherzustellen, dass eine Anwendung das beste Erlebnis bietet.

Überwachung Ihrer Infrastruktur

Die andere Seite der Medaille zur Überwachung der Anwendungsleistung ist die Überwachung der Infrastruktur. Dafür gibt es unzählige Tools, darunter auch SaaS-Lösungen wie DataDog , Logikmonitor , Und SignalFx sowie Hybridlösungen wie Zenoss. Obwohl es bei Teams, die von alten Entwicklungsprozessen umsteigen, beliebt ist, Nagios allein reicht nicht für Ihre DevOps-Überwachungsstrategie.

Überwachen Ihrer Protokolle

Die Analyse von Protokollen ist ein wichtiger Bestandteil des iterativen Verbesserungszyklus und ein wichtiger Bestandteil der Systemfehlerbehebung, des Debuggens und der Reaktion auf Sicherheitsvorfälle. Zu den gängigen Protokollanalysetools gehören Splunk , LogEinträge , Und Loggly Sie ermöglichen die Untersuchung des Nutzerverhaltens anhand von Protokolldateianalysen. Außerdem können Sie schnell Daten aus verschiedenen Quellen in einem zentralen Protokollstream sammeln. Dies ist eine komfortable Möglichkeit, Protokolldateien zu verwalten und zu analysieren. Neben der Fehlerbehebung spielt die Protokollanalyse eine wichtige Rolle bei der Einhaltung von Sicherheitsrichtlinien und -vorschriften und ist für Audit- und Inspektionsprozesse unerlässlich.

Schnelles und effizientes Vorfallmanagement

DevOps übertrifft den traditionellen Wasserfall-Ansatz im Bereich des Incident Managements deutlich. Mit Hilfe von Incident Management-Plattformen wie PagerDuty dass Cloud-basierte Anwendungen nun Benutzer dazu ermutigen können, die meisten ihrer Probleme selbst zu lösen. PagerDuty ist in seinen Fähigkeiten einzigartig, da es nicht nur ermöglicht Ihnen die Integration Mit nahezu jedem erdenklichen Tool können Sie Ihre Incident-Management-Workflows an verschiedene Teams anpassen. Dieser Ansatz vermeidet Engpässe und trägt dazu bei, das ultimative Ziel zu erreichen: die optimale Benutzererfahrung.

Verbesserung der Endbenutzererfahrung

Die Einhaltung von DevOps-Praktiken macht Anwendungen widerstandsfähiger, da Implementierungsprobleme und Mängel leichter aufgedeckt werden können. Mit Infrastrukturüberwachungstools lässt sich ein plötzlicher Zustrom von Benutzern, der normalerweise ein System zum Absturz bringen würde, leicht erkennen. Mit Anwendungsüberwachungstools können Ingenieure die Auswirkungen auf die Leistung genau analysieren. Probleme, die durch die verschiedenen Qualitäts- und Überwachungsebenen entgangen sind, erfordern häufig eine genauere Untersuchung durch Protokollanalysetools. Diese Tools sind alle mit einer Incident-Management-Plattform wie PagerDuty , um Ingenieuren eine schnelle Triage und Zusammenarbeit bei Vorfällen zu ermöglichen

Was die Verbesserung der Benutzerfreundlichkeit angeht, ist DevOps der traditionellen Wasserfallmethode um Lichtjahre voraus. Wer mit der technologischen Entwicklung Schritt halten will, muss zumindest einige Aspekte dieses Ansatzes übernehmen. Nutzer von Anwendungen, die von Teams mit DevOps-Methoden entwickelt und überwacht werden, sind es gewohnt, dass ihre Probleme schnell und effizient gelöst werden. Lange Wartezeiten zur Behebung von Fehlern und Katastrophen wie Systemabstürzen werden diese Nutzer jedoch selten tolerieren. Wer in diesem Markt erfolgreich sein will, muss sich steigern, sonst bleibt er auf der Strecke.