Suche

Deutsch

Deutsch

Anmelden

Anmelden/Registrieren

Websites

Thema

DevOps

Das DevOps-Konzept umfasst die Aspekte Unternehmenskultur, Automatisierung und Plattformdesign mit dem Ziel, den geschäftlichen Mehrwert und die Reaktionsfähigkeit durch die schnelle Bereitstellung hochwertiger Services zu steigern. Ermöglicht wird all dies durch eine schnelle, iterative Bereitstellung von IT-Services. Beim DevOps-Ansatz werden ältere 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 umfasst der Ansatz unter anderem auch Sicherheit, Zusammenarbeit, Datenanalyse und viele andere Aspekte. Was aber bedeutet es genau?

DevOps umfasst Ansätze dazu, wie Prozesse zur Handhabung von Ideen (wie neue Software-Features, Verbesserungsanfragen oder Bug Fixes) von der Entwicklung bis zum Einsatz in der Produktivumgebung beschleunigt werden können, um dort zur Wertschöpfung beizutragen. Diese Ansätze erfordern eine regelmäßige Kommunikation zwischen Entwicklungs- und Operations-Teams sowie eine gute Zusammenarbeit. Ebenfalls notwendig ist eine skalierbare Umgebung mit flexibler Bereitstellung. Mit DevOps sind Ressourcen dort verfügbar, wo sie am dringendsten benötigt werden, und zwar per Self-Service und Automatisierung. Hier arbeiten Entwickler, die üblicherweise in einer Standardentwicklungsumgebung (SDE) programmieren, eng mit dem IT-Operations-Team zusammen, um Software-Builds, Tests und die Veröffentlichung neuer Versionen zu beschleunigen – 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 werden diesen Anforderungen daher nicht gerecht. Deshalb müssen Sie, um wettbewerbsfähig zu bleiben, einige Dinge ändern.

Was haben Container mit DevOps zu tun?

DevOps beschleunigt den Prozess von der Entwicklung einer Idee bis zu ihrer Bereitstellung. Im Kern basiert DevOps auf der Automatisierung routinemäßiger Aufgaben sowie der Standardisierung von Umgebungen über den gesamten Lifecycle einer App. Container ermöglichen standardisierte Umgebungen, allerdings benötigen Sie eine Plattform, die integrierte Automatisierungen und beliebige Infrastrukturen unterstützt. Red Hat® OpenShift® 4 ist die unternehmensfähige Kubernetes Plattform für DevOps-Initiativen.

Unternehmenskultur, Prozesse und Plattformen

DevOps basiert auf einer Kultur der Zusammenarbeit, 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.

Eine Open Source-Kultur kann als Vorlage für die DevOps-Kultur dienen. Der freie Austausch von Informationen bildet bei Open Source Communities die Grundlage der Zusammenarbeit. Auf dieser Grundlage können kulturelle Änderungen unterstützt werden, z. B. mehr Transparenz bei Entscheidungen, freieres Ausprobieren, um Ängste abzubauen, oder Einführung eines Belohnungssystems, das Vertrauen und Zusammenarbeit fördert.

Unter der richtigen Führung und mithilfe von Incentive-Programmen können Ihre Entwicklungs- und Operations-Teams die Entwicklung einer offenen Kultur fördern. Allerdings ist DevOps am effizientesten, wenn diese Kultur in der gesamten Organisation verwurzelt ist. Zwar umfasst der Begriff DevOps speziell die Bereiche Entwicklung und Operations, aber tatsächlich ist das Konzept auf das gesamte Unternehmen ausgerichtet.

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 andere Prozesse als in der Vergangenheit. Viele Teams nutzen für die Softwareentwicklung agile Ansätze. Für diese Teams spielt DevOps eine wichtige Rolle. Das erste der zwölf Prinzipien des Manifests für agile Software-Entwicklung besagt folgendes: „Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Lieferung wertvoller Software zufriedenzustellen“. Und das ist auch der Grund, warum CI/CD (Continuous Integration/Continuous Deployment) für DevOps-Teams so wichtig ist.

Aber nur mit der Veränderung Ihrer Entwicklungs- und Operations-Prozesse ist es nicht getan. Sie müssen systemisch denken, um die Bereitstellung von Software tatsächlich optimieren zu können. Dies bedeutet, dass DevOps zu Änderungen in den Geschäftsbereichen führen wird, die Entwicklerarbeiten anfordern, sowie in den Gruppen, die die End User unterstützen. Der wichtigste Aspekt hierbei ist ein kontinuierlicher Feedback-Zyklus zwischen End User und Geschäftsbereich.

Ihre Prozessänderungen müssen mehr umfassen als das WIE Ihrer Arbeit. Auch das WAS der durchgeführten Arbeit muss verändert werden. Bei DevOps geht es nicht einfach nur um eine schnellere Entwicklung der gleichen alten monolithischen Software, sondern um die Entwicklung neuer Arten von Anwendungen, die besser auf das Prinzip der Continuous Delivery 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. Die Teams können schneller liefern, wenn sie kleinere Funktionsbereiche entwickeln. Das heißt für Sie, dass Sie sich darauf fokussieren müssen, wie Sie all diese Services und APIs verwalten. Außerdem benötigen Sie eine Strategie wie z. B. die agile Integration, die alles miteinander vereint.

Diese Änderungen können einen hohen Aufwand verursachen, aber mit der richtigen Technologie können Sie sofort beginnen. Mithilfe von 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. Der Grund dafür ist, dass eine Infrastruktur durch automatisierte Prozesse allen Code-Änderungen gewachsen ist, die durch DevOps verursacht werden. Mithilfe von Automatisierung können Umgebungen einfach und flexibel skaliert werden. Und Ihre klügsten Köpfe können sich auf das Wichtigste konzentrieren, da Belastungen, die durch routinemäßige und sich wiederholende Aufgaben entstehen, entfallen.

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 rasanten Entwicklungszyklen von heute mithalten zu können, benötigt Ihr Operations-Team hochflexible Plattformen und muss seine Infrastruktur genauso behandeln wie die Entwicklerteams ihren Code. Manuelle Implementierungen sind langsam und fehleranfällig. Die Provisionierung und Bereitstellung von Plattformen lässt sich durch automatisierte Prozesse erheblich vereinfachen.

Mithilfe von Containern können Sie Anwendungen einfacher zwischen der Entwicklungs-, Test- und Produktivumgebung verschieben. Entwickler können ihre Apps mit allen benötigten Komponenten in Containern paketieren und isolieren, einschließlich Anwendungsdateien, Runtime-Umgebungen, plattformabhängigen Libraries und Konfigurationen.

Indem Sie zuverlässige Plattformen innerhalb und außerhalb der Container auswählen – z. B. Red Hat Enterprise Linux und Red Hat OpenShift Container Platform – können Sie eine jederzeit eine zuverlässige Skalierung und Automatisierung sicherstellen. Mit den richtigen Plattformen können Sie am besten von den kulturellen und prozesstechnischen Änderungen profitieren, die Sie bereits eingeführt haben.

DevOps-Plattform

DevOps unterstützt Skalierbarkeit durch kontinuierliche Bereitstellung (CD)

Ein großer Vorteil der Implementierung von DevOps ist die CI/CD-Pipeline (Continuous Integration/Continuous Deployment). Mit CI/CD können Sie Ihren Kunden häufig Apps liefern und die Softwarequalität ohne manuelles Eingreifen validieren.

Insbesondere sorgt CI/CD im gesamten Lifecycle einer App für kontinuierliche Automatisierung und Überwachung. Von den Integrations- und Testphasen bis hin zur Lieferung und Bereitstellung können so Probleme und Fehler umgehend identifiziert und behoben werden. Diese zusammenhängenden Praktiken werden oft als „CI/CD-Pipeline“ bezeichnet und durch ein agiles Zusammenarbeiten der DevOps-Teams unterstützt.

Ist Ihr Team bereit für Innovationen?

Um auf dem Markt von heute wettbewerbsfähig zu bleiben, braucht es mehr als Technologie. Bewerten Sie den kulturellen, prozess- und plattformtechnischen Zustand Ihrer Organisation, und erfahren Sie, wie Sie den Weg zur digitalen Transformation gehen können.

DevOps und Sicherheit

Wie bereits oben erwähnt, geht es bei DevOps nicht nur um die Entwicklungs- und Operations-Teams. Um voll vom DevOps-Ansatz profitieren zu können, müssen Organisationen auch darüber nachdenken, welche Rolle die Sicherheit im Lebenszyklus ihrer Apps spielt. Dies bedeutet, dass eine grundlegende Sicherheit bereits in der Planungsphase beachtet werden muss. Es bedeutet ebenfalls, dass einige Sicherheits-Features automatisiert werden müssen, damit der DevOps-Workflow nicht zu langsam wird. Mit den richtigen Tools zur Integration der Sicherheit lassen sich die Anforderungen der DevOps-Sicherheit erfüllen.

Aber eine wirklich effiziente DevOps-Sicherheit benötigt mehr als nur ein paar neue Tools. Sie basiert auf den veränderten kulturellen Anforderungen von DevOps, die Arbeiten der Sicherheits-Teams lieber früher als später zu integrieren. DevOps sorgt für schnellere Prozesse, denn es schließt die Lücke zwischen Entwicklung und Operations. Allerdings kann dieser Vorteil durch eine mangelhafte Sicherheitsplanung rasch wieder zunichte gemacht werden.

Die Sicherheit lag früher in der ausschließlichen Verantwortung eines isolierten Teams und wurde erst am Ende des Entwicklungsprozesses berücksichtigt. Beim kollaborativen DevOps-Ansatz von heute aber wird Sicherheit zur gemeinsamen Verantwortung, die von Anfang an in den Ablauf integriert ist.

Die DevOps-Tools, die Sie brauchen

Red Hat Ansible Automation

Red Hat Ansible® Automation Platform ist eine einfache agentenlose IT-Automatisierungstechnologie, mit der sich Ihre aktuellen Prozesse verbessern, Anwendungen migrieren und optimieren lassen und die nur eine Sprache für sämtliche DevOps-Verfahren in Ihrem Unternehmen verwendet.

Red Hat OpenShift

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

Mit DevOps-Kursen zum Erfolg

Lernpfad

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 zeigt das Kursangebot für DevOps-Schulungen und -Prüfungen mit Red Hat.

DevOps hat noch viel mehr zu bieten