Thema

DevOps verstehen

Das DevOps-Konzept integriert die Aspekte Unternehmenskultur, Automatisierung und Plattformdesign mit dem Ziel, den geschäftlichen Mehrwert und die Reaktionsfähigkeit mithilfe einer hochwertigen beschleunigten Servicebereitstellung zu steigern. Ermöglicht wird all dies durch eine schnelle, iterative Bereitstellung von IT-Services. Beim DevOps-Ansatz werden Legacy-Apps mit neueren cloudnativen Anwendungen und Infrastrukturen verknüpft.

Was ist DevOps eigentlich?

DevOps ist eine Kombination aus „Development“ und „Operations“, steht allerdings für eine ganze Reihe an Ideen und Praktiken, die über diese beiden Begriffe, egal ob einzeln oder zusammen, weit hinausgehen. So integriert der Ansatz unter anderem auch Sicherheit, kollaborative Zusammenarbeit, Datenanalyse und viele andere Aspekte. Was aber bedeutet es genau?

DevOps beschreibt Ansätze zur Beschleunigung der Prozesse zur Handhabung von Ideen (wie neue Software-Features, Verbesserungsanfragen oder Bug Fixes) von der Entwicklungsphase bis hin zur Implementierung in einer Produktionsumgebung, wo sie zur Wertschöpfung beitragen. Diese Ansätze erfordern eine regelmäßige Kommunikation zwischen Entwicklungs- und Betriebs-Teams sowie eine auf gegenseitiger Empathie basierten Zusammenarbeit. Ebenfalls notwendig sind dazu Skalierbarkeit und eine flexible Bereitstellung. Mit DevOps sind Ressourcen dort verfügbar, wo sie am dringendsten benötigt werden, und zwar per Self-Service und Automatisierung. Die enge Zusammenarbeit der Entwickler mit dem restlichen IT-Betriebsteam beschleunigt Software-Builds, Tests und die Veröffentlichung neuer Versionen – ohne dass dies auf Kosten der Zuverlässigkeit geht.

Das bedeutet natürlich auch häufigere Code-Änderungen und eine dynamischere Nutzung der Infrastruktur. Traditionelle Verwaltungsstrategien sind für diese Anforderungen nicht geeignet. Deshalb müssen Sie, um wettbewerbsfähig zu bleiben, einige Änderungen vornehmen.

Unternehmenskultur, -prozesse und -plattformen

DevOps basiert auf einer Kultur der Kollaboration, in der Offenheit und Transparenz geschätzt werden. Die Implementierung von DevOps ist gleichbedeutend mit der Anwendung von Open Source-Prinzipien und -Praktiken, denn die kulturellen Werte von DevOps sind eng mit den Werten der Open Source Communities und agilen Arbeitsmethoden verknüpft.

Die Kultur der Open Source-Softwareprojekte kann als Vorlage für den Aufbau einer DevOps-Kultur dienen. Der freie Austausch von Informationen ist bei Open Source Communities der grundlegende Ansatz zur Kollaboration. Er kann bei der Implementierung kultureller Änderungen wie der Förderung von Transparenz bei der Entscheidungsfindung, Unterstützung von Experimenten durch Eliminierung von Versagensangst oder Implementierung eines Prämiensystems helfen, das gegenseitiges Vertrauen und Kollaboration fördert.

Mit der richtigen Führung sowie Anreizprogrammen können Ihre Entwicklungs- und Betriebs-Teams die Entwicklung einer offenen Kultur vorantreiben. Allerdings ist DevOps am effizientesten, wenn diese Kultur in der gesamten Organisation verwurzelt ist. Zwar benennt der Begriff DevOps speziell die Bereiche Entwicklung und Betrieb, aber in Wahrheit ist das Konzept für jedermann gedacht.

Die Unternehmenskultur von Red Hat basiert auf Offenheit und Transparenz. Eine Grundhaltung, die uns seit über 25 Jahren gute Dienste leistet. Wenn es darum geht, Kunden bei der Umstellung auf einen offenen DevOps-Ansatz zu begleiten, können wir auf unsere eigenen Erfahrungen zurückgreifen.

DevOps-Unternehmenskultur

Die Entwicklung moderner Anwendungen erfordert unterschiedliche Prozesse als noch in der Vergangenheit. Viele Teams nutzen agile Ansätze für die Softwareentwicklung. Für sie spielt DevOps eine tragende Rolle. Tatsächlich besagt das erste der 12 Prinzipien des agilen Manifests: „Den Kunden durch die rechtzeitige und kontinuierliche Lieferung wertvoller Software zufrieden zu stellen ist unsere höchste Zielsetzung“. Und das ist auch der Grund, warum CI/CD (Continuous Integration/Continuous Deployment) für DevOps-Teams so wichtig ist.

Aber einzig mit der Veränderung Ihrer Entwicklungs- und Betriebsprozesse ist es auch nicht getan. So müssen Sie ein Systemdenken anwenden, mit der Sie die Bereitstellung von Software wahrhaft optimieren können. Will heißen, der DevOps-Ansatz wird Änderungen bei den Geschäftsbereichen, die Entwicklungsarbeiten beantragen, sowie den Gruppen auslösen, die die Endbenutzer unterstützen. Der wichtigste Aspekt hierbei ist ein kontinuierlicher Feedbackzyklus vom Endbenutzer zum Unternehmen.

Ihr Prozess muss über das WIE Ihrer Arbeitsweise hinaus evolvieren. Dabei sind auch Änderungen beim WAS der durchgeführten Arbeiten unvermeidlich. Bei DevOps geht es nicht nur einfach um die Beschleunigung der Entwicklung der gleichen veralteten monolithischen Software, sondern neuer Typen von Anwendungen, die besser auf das Prinzip der kontinuierlichen Bereitstellung abgestimmt sind.

Das ist auch der Grund, warum DevOps-Teams Ihre Software oft mithilfe einer Microservice-Architektur entwickeln und diese Services mit APIs verknüpfen. Teams beschleunigen die Bereitstellung, indem sie kleinere Funktionskomponenten erstellen. Das heißt für Sie, dass Sie darauf fokussieren müssen, wie Sie diese Services und APIs verwalten und eine Strategie wie z. B. die agile Integration benötigen, um alles miteinander zu vereinen.

Diese Änderungen können einen hohen Aufwand verursachen, aber mit der richtigen Technologie können Sie ohne große Verzögerungen loslegen. Mithilfe der Automatisierung können Sie Ihre Prozesse beschleunigen und schließlich Ihre DevOps-Workloads zur Cloud migrieren. Eine IDC-Studie1 hat gezeigt, dass 85 % aller befragten IT-Manager die Automatisierung als integralen Bestandteil Ihrer DevOps-Strategie erachten. Grund ist, dass Ihre Infrastruktur damit jeglichen durch DevOps verursachten Code-Änderungen gewachsen ist. Dazu ermöglicht die Automatisierung eine einfache und flexible Skalierung Ihrer Umgebungen. Sie hilft Ihren klügsten Köpfen, sich auf das Wichtigste zu konzentrieren, indem sie die durch routinemäßige und sich wiederholende Aufgaben entstehende Belastung eliminiert.

1 IDC. (2018, März). Automatisierung, DevOps und die Anforderungen einer Multicloud-Welt. Siehe dazu https://www.redhat.com/cms/managed-files/cm-idc-automation-devops-demands-multicloud-world-f10589-201803-en.pdf

DevOps-Automatisierung

Die Auswahl der richtigen Tools zur Unterstützung Ihrer Prozesse ist für einen erfolgreichen DevOps-Ansatz unerlässlich. Um mit den rasend schnellen Entwicklungszyklen von heute mithalten zu können, benötigt Ihr Betriebs-Team hochflexible Plattformen und muss seine Infrastruktur ebenso sorgsam behandeln wie Dev-Teams ihren Code. Manuelle Implementierungen sind langsam und fehleranfällig. Die Plattformbereitstellung und -implementierung lässt sich durch Automatisierung erheblich vereinfachen.

Mithilfe von Containern können Sie Anwendungen auf einfachste Weise zwischen Entwicklungs-, Test- und Produktionsumgebungen migrieren. Diese ermöglichen Entwicklern, ihre Apps mit allen zur Ausführung benötigten Komponenten zu paketieren und zu isolieren, darunter Anwendungsdateien, Laufzeitumgebungen, plattformabhängige Bibliotheken und Konfigurationen.

Mit der Auswahl der richtigen Plattformen wie z. B. Red Hat Enterprise Linux und Red Hat OpenShift Container Platform sowohl inner- als auch außerhalb des Containers können Sie eine jederzeit zuverlässige Skalierung und Automatisierung sicherstellen und alle kulturellen und prozesstechnischen Änderungen optimal ausschöpfen.

DevOps-Plattform

Ist Ihr Team bereit für Innovation?

Um sich seine Wettbewerbsfähigkeit auf dem Markt von heute zu erhalten, braucht es mehr als nur Technologie. Bewerten Sie die kulturelle, prozess- und plattformtechnische Reife Ihrer Organisation und erfahren Sie, mit welcher Strategie Sie auf den richtigen Pfad hin zur digitalen Transformation gelangen.

DevOps & Sicherheit

Wie bereits oben erwähnt, geht es bei DevOps nicht nur um Entwicklungs- und Betriebs-Teams. Um diesen Ansatz voll ausschöpfen zu können, müssen Organisationen auch die Rolle die Sicherheit im Lebenszyklus ihrer Apps berücksichtigen. Dazu muss das Konzept der grundlegenden Sicherheit schon in der Planungsphase eine tragende Rolle spielen. Dies schließt ebenfalls die Automatisierung einiger Sicherheits-Features ein, um die Geschwindigkeit des DevOps-Workflows aufrechtzuerhalten. Mit der Auswahl der geeigneten Tools zur Sicherheitsintegration lassen sich alle Anforderungen rund um die DevOps-Sicherheit erfüllen.

Um aber wirklich effizient zu sein, benötigen Sie dafür mehr als nur ein paar neue Tools. Kulturelle DevOps-Änderungen zur Integration der Arbeit von Sicherheits-Teams müssen früher oder später ebenfalls berücksichtigt werden. DevOps sorgt für beschleunigte Prozesse, denn es schließt die Lücke zwischen Entwicklung und Betrieb, allerdings kann die gewonnene Geschwindigkeit schnell einer unzureichenden Sicherheitsplanung zum Opfer fallen.

Die Sicherheit war früher einmal die ausschließliche Domäne eines isolierten Teams und wurde erst zum Ende des Entwicklungsprozesses wirklich in Betracht gezogen. Beim kollaborativen DevOps-Ansatz von heute aber wird Sicherheit zur gemeinsamen Verantwortung, die von der ersten Phase an in den Ablauf integriert ist.

Die DevOps-Tools, die Sie brauchen

Red Hat Ansible Automation

Red Hat Ansible Automation ist eine einfache, agentenlose IT-Automatisierungstechnologie, mit der sich Ihre aktuellen Prozesse verbessern, Anwendungen für eine bessere Optimierung migrieren und eine einzige Sprache für sämtliche DevOps-Verfahren in Ihrem Unternehmen bereitstellen lassen.

Red Hat OpenShift

Container entwickeln, einsetzen und verwalten — überall und in jeder Größenordnung.

DevOps-Training zur Sicherung Ihres Erfolgs

Lernmöglichkeiten

DevOps-Curriculum

Von den Grundlagen der Automatisierung mit Ansible bis hin zur Implementierung von Red Hat® OpenShift Container Platform und unter Berücksichtigung aller wichtigen Komponenten dazwischen haben wir einen Pfad zur Bildung und Validierung Ihrer Fähigkeit entworfen – von der Entwicklung bis zur Bereitstellung. In unseren Kursen lernen Sie, wie Sie DevOps mithilfe von Docker, Kubernetes und Puppet sowie Red Hat Technologie für sich und Ihr Team nutzbar machen können.

Infografik

„DevOps-Training und -Tests − mit Red Hat“

Red Hat Training and Certification gewährleistet eine schnellere Marktfeinführung, geringe Fehlerquoten bei Releases sowie kürzere Lead-Zeiten zwischen Bug Fixes für Organisationen und Einzelpersonen, und zwar durch die Kombination von auf Customer Use Cases basierenden Trainingsinhalten sowie die Validierung von Fähigkeiten im Rahmen praktischer Zertifizierungsprüfungen. Diese Infografik beschreibt das Curriculum für DevOps-Training und -Tests mit Red Hat.

DevOps hat noch viel mehr zu bieten