Der Begriff DevOps wurde durch die Kombination von Entwicklung “Development” und Betrieb “Operations” gebildet, was einen Ausgangspunkt für das Verständnis dessen bietet, was Menschen typischerweise meinen, wenn sie “DevOps” sagen. DevOps ist weder ein Prozess noch eine Technologie oder ein Standard. Viele Anhänger bezeichnen DevOps als eine “Kultur”. Oft wird auch der Begriff “DevOps-Bewegung” verwendet, wenn über Themen wie Adoptionsraten und Trends für die Zukunft gesprochen wird.
Die Bedeutung von DevOps ist zu einem Oberbegriff für die Prozesse, die Kultur und die Denkweise geworden, die verwendet werden, um den Lebenszyklus der Softwareentwicklung zu verkürzen, indem schnelle Feedbackschleifen verwendet werden, um Funktionen, Korrekturen und Updates häufiger zu liefern. Man merkt hieran auch die Nähe zu der generellen “Agilen” Bewegung im Softwareumfeld.
DevOps ist eine Art und Weise, wie Entwicklungsorganisationen mit funktionsübergreifenden Teams zusammenarbeiten, so beginnt DevOps mit der Kultur und geht in Richtung des Toolings und der Automatisierung.
Für DevOps lassen sich 6 Säulen definieren:
Anstatt mit dem Finger aufeinander zu zeigen, arbeiten Entwicklung und IT-Betrieb zusammen.
DevOps setzt stark auf Automatisierung und das bedeutet, dass Sie Tools benötigen. Tools, die Sie bauen. Werkzeuge, die Sie kaufen. Open-Source-Tools. Proprietäre Tools. DevOps stützt sich auf Toolchains, um große Teile des Softwareentwicklungs- und -bereitstellungsprozesses zu automatisieren.
Das Prinzip der Continous Integration der agilen Entwicklung hat eine kulturelle Auswirkung auf die Entwicklungsgruppe. Entwickler sind gezwungen, ihre Arbeit häufig mit der Arbeit anderer Entwickler zu integrieren, wodurch Integrationsprobleme und Konflikte viel früher aufgedeckt werden als bei einer Wasserfall Entwicklung.
Während Continuous Integration und Delivery den Löwenanteil der Berichterstattung erhalten, findet Continuous Testing langsam seinen Platz als kritischer Teil von DevOps. CI kann nur schwer ohne CT existieren, vor allem je größer das Unternehmen, welches es einsetzt.
Code-Änderungen werden automatisch gebaut, getestet und für ein Release an die Produktions-Umgebung vorbereitet. Es erweitert die Continuous Integration, indem alle Codeänderungen in einer Testumgebung bereitgestellt werden.
In einer DevOps-Umgebung müssen Fehler in Echtzeit gefunden und behoben werden. Bei der ganzen Menge an automatisierten Builds und Deployments muss auch das Monitoring dieser Komponenten ständig statt finden und im besten Fall automatisiert sein. Wie das Testen beginnt auch die Überwachung in der Entwicklung. Die gleichen Tools, die die Produktionsumgebung überwachen, können auch in der Entwicklung eingesetzt werden, um Leistungsprobleme zu erkennen, bevor sie in der Produktion auftreten. Für DevOps werden zwei Arten von Monitoring benötigt: Server-Monitoring und Application Performance Monitoring.
In der Praxis reicht natürlich das alleinige Einsetzen von Monitoring Tools nicht aus, im Falle einer Meldung muss diese Information auch den richtigen Teil des Entwicklungsteams informieren, damit Fehler behoben und Downtimes vermieden werden. Genau an dieser Stelle hilft iLert’s Uptime Plattform mit bequemer Dienstplan Verwaltung und unzähligen Benachrichtigungsmöglichkeiten für kritische Alarmierung.