Jump to section

DevOps

URL kopieren

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.

DevOps transformation webinar cover

Beginnen Sie Ihre Transformation mit DevOps mit einem Red Hat Training.

DevOps ist eine Kombination aus „Development" und „Operations", steht allerdings für eine ganze Reihe von 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 eine Idee (z. B. neue Software-Features, Verbesserungsanfragen oder Bug Fixes) von der Entwicklung bis zum Einsatz in der Produktivumgebung beschleunigt werden kann, 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.

 

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.

DevOps basiert auf einer Kultur der Zusammenarbeit, die mit Open Source-Prinzipien und transparenten, agilen Arbeitsmethoden verknüpft ist. In unserem fünftägigen Master-Kurs DevOps Culture and Practice Enablement (DO500) können Sie sich damit vertraut machen, wie DevOps und agile Werte miteinander verknüpft sind.

Die Kultur von Open Source-Softwareprojekten 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 Änderungen in der Unternehmenskultur 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. Es gibt zahlreiche Unternehmen, die sich mit Consulting-Services zur digitalen Transformation beschäftigen, um solche Initiativen zu unterstützen.

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.

Staffel 1, Episode 4: DevOps_Tear Down That Wall

In diesem Clip des Command Line Podcasts hören Sie, wie Saron Yitbarek, Scott Hanselman und Gordon Haff über DevOps-Unternehmenskultur, -Prozesse, -Plattformen und -Tools sprechen.

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.

Unsere Experten können Ihrer Organisation dabei helfen, die Praktiken, Tools und die Unternehmenskultur zu entwickeln, die Sie brauchen, um vorhandene Anwendungen effizienter zu modernisieren und neue zu erstellen.

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

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. SRE (Site Reliability Engineering) übernimmt diese manuellen Operations-Aufgaben und verwaltet sie mithilfe von Software und Automatisierung. Ein SRE-Ansatz kann die Ziele eines DevOps-Team weiter unterstützen.

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.

Der DevOps-Ansatz geht Hand in Hand mit Linux®-Containern, mit denen Ihr Team die zugrunde liegende Technologie erhält, die Sie für eine cloudnative Entwicklung brauchen. Container unterstützen eine einheitliche Umgebung für die Entwicklung, Bereitstellung, Integration und Automatisierung.

Und Kubernetes ist die moderne Art, Operationen mit Linux-Containern zu automatisieren. Mit Kubernetes können Sie einfach und effizient Cluster verwalten, auf denen Linux-Container in Public, Private oder Hybrid Clouds ausgeführt werden. 

Indem Sie zuverlässige Plattformen innerhalb und außerhalb der Container auswählen – wie etwa Red Hat® Enterprise Linux und Red Hat OpenShift® – 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.

 

 

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 sie werden durch eine agile Zusammenarbeit der DevOps-Teams unterstützt.

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

 

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.

 

 

Mehr erfahren

Artikel

Was ist DevSecOps?

Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss die IT-Sicherheit im gesamten Lifecycle Ihrer Apps eine Rolle spielen.

Artikel

Was ist CI/CD?

CI/CD sorgt für eine kontinuierliche Automatisierung und Überwachung über alle Phasen des App-Lifecycles hinweg, von der Integration und Tests bis hin zur Bereitstellung und Implementierung.

Artikel

Was ist ein DevOps-Ingenieur?

DevOps-Ingenieure besitzen verschiedene besondere Fähigkeiten und Kenntnisse, die für eine bessere Zusammenarbeit, mehr Innovationen und kulturelle Verschiebungen innerhalb einer Organisation sorgen können.  

Mehr über DevOps erfahren

Produkte

Red Hat Open Innovation Labs

Ein fokussierter Intensiv-Workshop mit Red Hat Experten, bei dem Sie lernen, eine agile Methodik und Open Source-Tools zu verwenden, um die geschäftlichen Probleme Ihres Unternehmens anzugehen.

Red Hat Consulting

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Ressourcen

Checkliste

Unternehmensautomatisierung mit DevOps-Methoden

Whitepaper

Optimierung von CI/CD-Pipelines mit der Red Hat Ansible Automation Platform

Illustration - mail

Möchten Sie mehr zu diesen Themen erfahren?

Abonnieren Sie unseren kostenlosen Newsletter, Red Hat Shares.