{"id":22447,"date":"2022-12-17T11:50:50","date_gmt":"2022-12-17T10:50:50","guid":{"rendered":"https:\/\/www.sysbus.eu\/?p=22447"},"modified":"2022-12-06T12:01:30","modified_gmt":"2022-12-06T11:01:30","slug":"gegen-die-release-angst-wie-release-orchestration-die-software-entwicklung-optimiert","status":"publish","type":"post","link":"https:\/\/www.sysbus.eu\/?p=22447","title":{"rendered":"<strong>Gegen die \u201eRelease-Angst\u201c \u2013 Wie Release Orchestration die Software-Entwicklung optimiert<\/strong>"},"content":{"rendered":"\n<p>Autor\/Redakteur: <a href=\"https:\/\/www.cloudbees.com\/\">Tim Johnson, Director, Product Marketing bei CloudBees<\/a>\/gg<\/p>\n\n\n\n<p>Automatisierung ist wohl einer der wichtigsten Trends in der Softwareentwicklung. Die schnellen Erfolge, die Unternehmen durch die Automatisierung von Aufgaben wie Infrastrukturbereitstellung, Softwaretests und Builds erzielen, k\u00f6nnen durchaus beeindruckend sein. Allerdings geht damit die Gefahr einher, dass die Organisationen dank der kurzfristigen Verbesserungen in der Software-Entwicklung vergessen, dass die unterschiedlichen Str\u00e4nge der Softwareentwicklung eine \u00fcbergeordnete Orchestrierung ben\u00f6tigen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"702\" height=\"1024\" src=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002-702x1024.webp\" alt=\"\" class=\"wp-image-22449\" srcset=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002-702x1024.webp 702w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002-206x300.webp 206w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002-768x1120.webp 768w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002-1053x1536.webp 1053w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/12\/ClouBees_Tim_Johnson-002.webp 1200w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/a><figcaption class=\"wp-element-caption\">Bild: CloudBees<\/figcaption><\/figure>\n\n\n\n<!--more-->\n\n\n\n<p>Diese Release Orchestration bietet dem Management einen besseren \u00dcberblick \u00fcber Tools, Pipelines, Funktionen, Releases und Abh\u00e4ngigkeiten. Dar\u00fcber hinaus vereinfacht sie das Zusammenspiel der unterschiedlichen Teams \u00fcber die oben genannten Bereiche hinweg \u2013 unabh\u00e4ngig von der Art der Anwendung oder Umgebung. Denn Release-Orchestrierung verbindet Automatisierungsinseln durch Sequenzierung und erm\u00f6glicht es Teams, von der Transparenz in anderen Teilen des Unternehmens zu profitieren und konforme Release-Prozesse durchzusetzen. Sie bietet eine End-to-End-Sicht, die einen \u00fcbergreifenden, wertorientierten Ansatz f\u00fcr DevOps f\u00f6rdert, statt nur auf einzelne Pipelines zu achten.<\/p>\n\n\n\n<p><strong>Erleichterung f\u00fcr das Release-Team<\/strong><\/p>\n\n\n\n<p>W\u00e4hrend des gesamten Release-Prozesses sind mehrere Teams beteiligt. So sind beispielsweise Ihre DevOps-Leiter, Site Reliability Engineers (SREs) und Plattform-Engineering-Teams in der Regel f\u00fcr die Erstellung der Release-Pipeline-Vorlagen verantwortlich, w\u00e4hrend die Engineering-Manager \u00fcblicherweise an der Planung der tats\u00e4chlichen Software-Releases und der Termine beteiligt sind. Sie alle m\u00fcssen in der Lage sein, der Abteilungs- oder Unternehmensleitung ein aktuelles Bild des Software-Release-Status zu vermitteln. Komplexit\u00e4t und eine eingeschr\u00e4nkte Sicht auf einzelne DevOps-Stufen und -Umgebungen schr\u00e4nken aber genau diese Option ein.<\/p>\n\n\n\n<p>Auch ein zweiter Aspekt ist hier von gro\u00dfer Bedeutung: W\u00e4hrend die Entwickler ihre eigenen hochwertigen Werkzeuge ausw\u00e4hlen k\u00f6nnen, finden die Tools f\u00fcr das Release-Management nicht die Aufmerksamkeit, die vonn\u00f6ten w\u00e4re. Dies f\u00fchrt dazu, dass die f\u00fcr die Verwaltung von Releases Verantwortlichen mit behelfsm\u00e4\u00dfiger Software zu k\u00e4mpfen haben, die f\u00fcr diese Aufgabe nicht oder nur mit Einschr\u00e4nkungen geeignet ist. Im schlimmsten Falle \u2013 und den gibt es doch h\u00e4ufiger als man allgemein annimmt \u2013 m\u00fcssen sie komplexe Zeitpl\u00e4ne in Tabellenkalkulationen oder selbst entwickelten Systemen verfolgen und mit den Beteiligten per E-Mail kommunizieren. Das ist nicht unbedingt produktiv.<\/p>\n\n\n\n<p>Es entsteht somit eine unzusammenh\u00e4ngende Sicht auf einen komplexen Entwicklungs- und Bereitstellungsprozess. Dies gestaltet es schwierig, vorausschauend zu planen und auf potenzielle Hindernisse und Herausforderungen zu reagieren. Eine isolierte Sicht auf den Softwareentwicklungs- und -produktionsprozess l\u00e4sst das Management in einem reaktiven Zustand verharren, in dem es sich st\u00e4ndig Gedanken \u00fcber m\u00f6gliche Probleme wie Fehler in letzter Minute oder Produktionsprobleme macht. In der Fachwelt gibt es daf\u00fcr sogar einen Begriff: \u201eRelease-Angst\u201c.<\/p>\n\n\n\n<p>Ein effektives Tool f\u00fcr die Release-Orchestrierung muss diese Anforderungen ausbalancieren, indem es die Erfahrung der Entwickler unterst\u00fctzt und gleichzeitig intuitive Tools einsetzt, um den Release-Prozess zu unterst\u00fctzen und die Release-Angst zu beseitigen. Letztendlich muss es die Gesch\u00e4ftsergebnisse der effektiven Bereitstellung anerkennen und verbessern.<\/p>\n\n\n\n<p><strong>Das fehlende Glied in ausgereiften DevOps-Organisationen<\/strong><\/p>\n\n\n\n<p>Viele Unternehmen setzen Release-Orchestrierung mit Automatisierung gleich. In der Praxis handelt es sich um aber zwei getrennte, sich erg\u00e4nzende Aktivit\u00e4ten.<\/p>\n\n\n\n<p>Automatisierung ist nur ein Teil eines umfassenderen Prozesses. Zu viele Teams automatisieren Aufgaben, ohne sich Gedanken \u00fcber die Rolle zu machen, die sie in umfassenderen Prozessen spielen. Viele Unternehmen vers\u00e4umen es, die Auswirkungen der Automatisierung \u00fcber die grundlegenden Geschwindigkeits- und Genauigkeitsmetriken hinaus zu messen, die in jedem ausgereiften DevOps-Prozess nur ein Grundpfeiler sind.<\/p>\n\n\n\n<p>Orchestrierung ordnet diese Aufgaben in End-to-End-Prozessketten an, in denen jede automatisierte Aufgabe mit der n\u00e4chsten kommuniziert. Sie bietet eine koordinierende Ebene, die verschiedene Tools, Pipelines und Prozesse in einer einzigen Ansicht verbindet. So entsteht eine ganzheitliche Sicht auf den Softwareentwicklungs- und -bereitstellungsprozess \u00fcber mehrere Plattformen hinweg, w\u00e4hrend gleichzeitig die Kommunikation mit den Beteiligten verbessert wird.<\/p>\n\n\n\n<p>Die Orchestrierung sammelt au\u00dferdem Daten aus all diesen Tools und Aufgaben an einem einzigen Ort zur Analyse. Auf diese Weise entsteht eine End-to-End-Ansicht des gesamten Pipeline-Portfolios, die es den Teammitgliedern erm\u00f6glicht, \u00fcber einzelne Pipelines hinauszublicken und L\u00fccken in ihrem Wissen zu schlie\u00dfen. Dank der verbesserten Sichtbarkeit k\u00f6nnen sie ineffektive Prozesse korrigieren und anderen Stakeholdern genaue, zeitnahe Updates zur Verf\u00fcgung stellen.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<p><strong>Acht Vorteile, die Unternehmen von der Release-Orchestrierung erwarten k\u00f6nnen<\/strong><\/p>\n\n\n\n<p><em>1. Geringere Reibungsverluste<\/em><\/p>\n\n\n\n<p>Release-Manager, Entwickler und Gesch\u00e4ftsinteressenten haben alle ihre eigenen Agenden, die miteinander abgestimmt werden m\u00fcssen. Ohne eine einheitliche Plattform f\u00fcr eine Koordinierung von Releases neigt jeder dazu, seine eigenen Bed\u00fcrfnisse zu befriedigen, ohne auf andere einzugehen. Durch die Bereitstellung eines h\u00f6heren Ma\u00dfes an Transparenz und Kontrolle \u00fcber den gesamten Entwicklungs- und Bereitstellungsprozess kann jeder von ihnen seine eigenen Anforderungen erf\u00fcllen.<\/p>\n\n\n\n<p><em>2. Konsistenz<\/em><\/p>\n\n\n\n<p>Eine reibungslose Bereitstellung erfordert einen konsistenten Prozess, der gegen unerwartete Probleme, wie Fehler in letzter Minute, gewappnet ist. Die Orchestrierung bietet dies, indem sie es den Anwendern erm\u00f6glicht, Releases zu modellieren, zusammen mit den Umgebungen, in denen sie laufen, und den Prozessen, die sie unterst\u00fctzen.<\/p>\n\n\n\n<p><em>3. Vertrauen in Release-Entscheidungen<\/em><\/p>\n\n\n\n<p>Diese wiederholbaren Pipelines liefern die Daten, um die endg\u00fcltige Entscheidung zu treffen, wenn sie den Code in die Produktion geben. Da ein Orchestrierungssystem Daten von Tools \u00fcber alle Pipelines und Releases hinweg sammelt, kann es alle Aktivit\u00e4ten auf dem Weg dorthin dokumentieren und sicherstellen, dass alle erforderlichen automatischen und manuellen Gate-Bedingungen erf\u00fcllt wurden. Dies erh\u00f6ht das Vertrauen in die Freigabe und minimiert das Risiko von Produktionsproblemen.<\/p>\n\n\n\n<p><em>4. Unterst\u00fctzung f\u00fcr die Planung<\/em><\/p>\n\n\n\n<p>Automatisierte Aufgaben, die nicht miteinander verkn\u00fcpft sind, f\u00fchren zu L\u00fccken in der Release-Fortschreibung. Die \u00dcbergabe zwischen der Erstellung und dem Testen von Software erfolgt h\u00e4ufig manuell, ebenso wie die Durchf\u00fchrung verschiedener Tests in dynamisch generierten Umgebungen. Selbst die Genehmigung dieser Tests und die anschlie\u00dfende Freigabe erfordern manuelle Eingriffe. Dadurch k\u00f6nnen die Release-Manager nicht wissen, wann etwas passieren wird, wer zur Stelle sein wird, um es zu erledigen, und welche Ressourcenbeschr\u00e4nkungen sich daraus ergeben k\u00f6nnten.<\/p>\n\n\n\n<p>Orchestrierung verhindert dies durch die Visualisierung von Daten, die diese versteckten Risiken aufdecken, einschlie\u00dflich der Zeit, die in jeder Phase verbracht wurde und wie viel davon automatisiert war. Sie hilft Praktikern, entstehende Engp\u00e4sse im End-to-End-Prozess zu erkennen und zu beheben.<\/p>\n\n\n\n<p><em>5. Fr\u00fchzeitige Problemerkennung<\/em><\/p>\n\n\n\n<p>Das Release-Management erh\u00e4lt einen vollst\u00e4ndigen \u00dcberblick \u00fcber den gesamten Softwareentwicklungsprozess, so dass sie aufkommende Probleme erkennen und beheben k\u00f6nnen, bevor sie sich zu echten Problemen entwickeln.<\/p>\n\n\n\n<p><em>6. Sicherheit und Compliance<\/em><\/p>\n\n\n\n<p>Orchestrierung erm\u00f6glicht es zudem, sich auf drei Schl\u00fcsselkomponenten der Sicherheit zu konzentrieren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sichtbarkeit. Die Release-Pipeline bietet einen zentralen Einblick in die automatisierten und manuellen Prozesse.<\/li>\n\n\n\n<li>R\u00fcckverfolgbarkeit. Sie erm\u00f6glicht es den Sicherheitsteams, automatisierte und manuelle Aufgaben in der Entwicklungspipeline besser nachzuvollziehen. Dies vereinfacht im Falle eines Fehlers die Analyse der Gr\u00fcnde f\u00fcr diesen Fehler.<\/li>\n\n\n\n<li>Compliance. Diese Transparenz und Nachvollziehbarkeit erleichtert das Einhalten von Vorschriften im Entwicklungsprozess. Ein Orchestrierungssystem kennt alle Schritte im Freigabeprozess und dokumentiert diese. Auf diese Weise k\u00f6nnen die Sicherheitsteams schnell beurteilen, welche Entscheidungen in Sachen Sicherheit wann und von wem sie getroffen wurden.<\/li>\n<\/ul>\n\n\n\n<p>Eine fein abgestufte Zugriffskontrolle f\u00fcr alle an einem Release Beteiligten, einschlie\u00dflich automatischer oder manueller Authentifizierung, tr\u00e4gt zu einem sicheren Softwareentwicklungszyklus bei. Die Integration von Tools f\u00fchrt zu einem datengesteuerten Prozess, der jede Aktion und ihren Verursacher dokumentiert, um Audit- und Governance-Anforderungen zu erf\u00fcllen.<\/p>\n\n\n\n<p><em>7. Bessere Intelligenz durch Analytik<\/em><\/p>\n\n\n\n<p>Die Orchestrierung bietet \u00fcber ein zentrales Dashboard einen umfassenden \u00dcberblick \u00fcber den Entwicklungsprozess, der den Verantwortlichen einen \u00dcberblick auf den Release-Status des gesamten Technologieportfolios bietet. Dies erm\u00f6glicht ihnen eine schnelle Analyse der wichtigsten Kennzahlen, von der Ressourcennutzung bis zum Release-Durchsatz, die sie kurzfristig an die wichtigsten Stakeholder weitergeben k\u00f6nnen.<\/p>\n\n\n\n<p><em>8. Skalierbarkeit und Flexibilit\u00e4t \u00fcber Cloud-Umgebungen hinweg<\/em><\/p>\n\n\n\n<p>Unternehmen kommen vielleicht mit einer diskreten Automatisierung aus, wenn sie an relativ kleinen Technologieportfolios arbeiten, aber wenn sie ihre Aktivit\u00e4ten ausweiten, werden die L\u00fccken zwischen den automatisierten Aufgaben sichtbar. Eine effektive Orchestrierungsplattform muss mit Cloud-Umgebungen skalieren und Kubernetes-basierte Infrastrukturen f\u00fcr die Verwaltung einer gro\u00dfen Anzahl von Containern in gro\u00dfem Umfang unterst\u00fctzen. Sie muss Anwendungsentwicklungsmodelle von traditionellen monolithischen Anwendungen bis hin zu Microservices in Multi-Cloud- und On-Premises-Umgebungen abdecken.<\/p>\n\n\n\n<p><strong>Mehr Wert, Transparenz und Compliance<\/strong><\/p>\n\n\n\n<p>Release-Orchestrierung tr\u00e4gt somit dazu bei, die Software-Entwicklung besser zu koordinieren, transparenter und sicherer zu gestalten sowie die Compliance sicherzustellen.<\/p>\n\n\n\n<p>Eine effektive Orchestrierung bietet Unternehmen die M\u00f6glichkeit, ihre DevOps-Abl\u00e4ufe zukunftssicher zu machen und ihnen einen Zugang zu einem fortgeschrittenen Reifegrad zu bieten, der eine kontinuierliche Wertsch\u00f6pfung f\u00fcr das Unternehmen in jeder Gr\u00f6\u00dfenordnung gew\u00e4hrleistet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automatisierung ist wohl einer der wichtigsten Trends in der Softwareentwicklung. Die schnellen Erfolge, die Unternehmen durch die Automatisierung von Aufgaben wie Infrastrukturbereitstellung, Softwaretests und Builds erzielen, k\u00f6nnen durchaus beeindruckend sein. Allerdings geht damit die Gefahr einher, dass die Organisationen dank der kurzfristigen Verbesserungen in der Software-Entwicklung vergessen, dass die unterschiedlichen Str\u00e4nge der Softwareentwicklung eine \u00fcbergeordnete Orchestrierung ben\u00f6tigen.<\/p>\n","protected":false},"author":81,"featured_media":22449,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[8,197],"tags":[7128,1016,4602,16948,16947,9090,36,6796],"class_list":["post-22447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artikel","category-entwicklung","tag-cloudbees","tag-compliance","tag-devops","tag-konsistenz","tag-orchestration","tag-planung","tag-sicherheit","tag-skalierbarkeit"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/22447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22447"}],"version-history":[{"count":1,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/22447\/revisions"}],"predecessor-version":[{"id":22450,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/22447\/revisions\/22450"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/media\/22449"}],"wp:attachment":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}