Übersetzer |. Li Rui
Rezensent |.Einige Vordenker sagen oft: „Alle Unternehmen sind Softwareunternehmen.“ Das liegt daran, dass im letzten Jahrzehnt viele große und mittlere Unternehmen Initiativen zur digitalen Transformation umgesetzt haben haben einen tiefgreifenden Einfluss auf die Art und Weise, wie diese Unternehmen Software entwickeln und einsetzen, um geschäftlichen Mehrwert zu schaffen.
In der Vergangenheit waren Anwendungen oft monolithisch und wurden vor Ort auf Bare-Metal- oder virtuellen Maschinen bereitgestellt, und Aktualisierungen gab es selten, sehr selten und selten. Heutzutage nutzen neue Anwendungsmodelle Microservices, Containerisierung und kontinuierliche Bereitstellung, was zu zahlreichen aktualisierten Versionen in Kubernetes, virtuellen Maschinen und Multi-Cloud-Umgebungen führt. Diese Entwicklung hat zu neuen Arten von Geschäftsprozessen und Geschäftsmodellen geführt, von „As-a-Service“ über vollständige Omnichannel-Kundenbindung bis hin zu Geschäftsprozessen, die auf Echtzeit-IoT-Daten basieren.
Die erfolgreiche Umsetzung dieser neuen Softwarebereitstellungsstrategien in einer Cloud-nativen Umgebung erfordert einen weiteren Wandel – die Softwareentwicklung. Unternehmen müssen mehr Software-Releases schneller, häufiger und präziser bereitstellen, ohne dabei Abstriche bei der Softwaresicherheit zu machen oder gesetzliche und geschäftliche Compliance-Anforderungen zu vernachlässigen. Diese Entwicklung hat die Komplexität erhöht.
Und Entwicklungs-, Betriebs-, Entwicklungs-, Sicherheits- und Compliance-Teams, die möglicherweise geografisch weit verteilt sind, müssen schneller, genauer und mit einem höheren Grad an Koordination arbeiten. Ebenso müssen komplexe verteilte Arbeitsabläufe hochgradig koordiniert werden, um Fehler und Verzögerungen zu vermeiden und gleichzeitig die Produktivität der Mitglieder des Softwarebereitstellungsteams zu steigern. Diese Entwicklung wird durch unterschiedliche Continuous Integration (CI)/Continuous Delivery (CD)-Toolketten, zunehmende Sicherheitsbedenken, sich weiterentwickelnde Datenschutzbestimmungen und einen Mangel an qualifiziertem technischem Personal noch komplizierter.
Wie können Unternehmen angesichts all dieser Herausforderungen die Produktivität ihrer Softwarebereitstellungsteams verbessern und den Geschäftswert ihrer Releases maximieren? Erstens müssen Unternehmen interne Systeme einführen, die eine langfristige Weiterentwicklung ihrer Tools und Prozesse ermöglichen. Zweitens müssen sie die Kontrolle über Devops, Sicherheit und Compliance-Management zentralisieren und den Entwicklungsteams gleichzeitig maximale Flexibilität in Bezug auf Prozesse und Tools bieten. Drittens müssen sie ihre Softwarebereitstellungspipeline intelligent automatisieren.
1. Das neue Modell der Continuous Delivery
(1) Offene Plattform
Für maximale Produktivität und Kontrolle kann die tiefe Integration mit vorhandenen Continuous Integration (CI)/Continuous Delivery (CD)-Tools Transparenz und Kontrolle über externe Releases in jeder Phase des Softwarebereitstellungsprozesses bieten und das System in die Lage versetzen, Risiken zu erkennen und steuern Sie den Arbeitsablauf während des gesamten Lieferprozesses. Darüber hinaus können offene Integrationsschichten und native APIs für gängige Orchestrierungstools wie Argo und Spinnaker Änderungen ermöglichen, um Orchestrierungstools zu ändern, ohne die Continuous-Delivery-Plattform zu zerstören und zu ersetzen.
(2) Intelligente Automatisierung
Intelligente Automatisierung kann Routineaufgaben automatisieren und dann automatisierte Entscheidungen kontinuierlich verbessern, während Releases den Lieferlebenszyklus durchlaufen. Auf den Release-Prozess angewendete Intelligenz – In Kombination mit einer umfassenden Tooling-Integration erkennt der Zugriff nicht nur auf Ereignisse, sondern auf alle Prozessdaten automatisch Softwarerisiken und markiert sie automatisch zur Behebung, bevor Release-Kandidaten in Produktion gehen.
Neben einer verbesserten Entwicklungseffizienz und schnelleren, genaueren Software-Releases bietet intelligente Automatisierung eine Möglichkeit, zentralisierte, automatisierte Kontrollen für Compliance und Sicherheit zu implementieren. Durch die Implementierung von Sicherheitsrichtlinien und Automatisierung in den Softwarebereitstellungsprozess können Unternehmen DevSecOps implementieren, sodass Sicherheit zu einem integrierten Bestandteil des Entwicklungsprozesses wird und nicht zu einer Überprüfungsphase am Ende des Entwicklungsprozesses.
(3) Zentral gesteuertes autonomes Team
Die Einrichtung zentraler Kontrollen ist von entscheidender Bedeutung, um unternehmensweite Entwicklungs-, Sicherheits- und Compliance-Teams zu unterstützen und Compliance, Konsistenz und Prüfbarkeit aller Software-Releases sicherzustellen. Um erfolgreich zu sein, erfordert eine zentralisierte Kontrolle eine zentrale Richtlinien-Engine, die Sicherheit, Compliance und Geschäftsregeln auf Unternehmens- und Einzelteamebene durchsetzen kann. Die rollenbasierte Zugriffskontrolle (RBAC) kann Teams und Einzelpersonen fein abgestufte Berechtigungen gewähren, ohne die Kontrolle zu beeinträchtigen. Damit Teams unabhängig agieren können, müssen sie hinsichtlich Sicherheit, Bereitstellungszielen und ähnlichen Faktoren von anderen Teams isoliert sein.
Intelligente Automatisierung in Kombination mit der Policy Engine automatisiert und verbessert kontinuierlich die Umsetzung von Sicherheits- und Compliance-Richtlinien und reduziert so den Bedarf an Entwicklern, Sicherheits- und Compliance-Teams. Um die Leistung Ihrer Softwareentwicklungspipeline weiter zu verbessern, können unternehmensweite Best Practices und wiederverwendbare Bereitstellungsmuster implementiert werden, um die Produktivität und Genauigkeit der Entwicklungsteams zu steigern.
Jetzt beginnen diese neuen Grundelemente der kontinuierlichen Lieferung auf folgende Weise in das Produkt einzudringen.
Open-Source-Projekte für Continuous Integration (CI) / Continuous Delivery (CD) entwickeln sich weiter. Um beispielsweise den wachsenden Sicherheitsbedenken gerecht zu werden, umfasst die Open-Source-Cloud-native Continuous-Delivery-Lösung Spinnaker jetzt mehrere Authentifizierungs- (Identitätsverwaltung) und Autorisierungsoptionen (Zugriffsverwaltung). Um eine zentrale Steuerung zu unterstützen, verfolgt Spinnaker auch einen intelligenten Ansatz für diese kritischen Sicherheitsfunktionen. Anstatt eine neue proprietäre Anmeldelösung zu schreiben, nutzt Spinnaker moderne Sicherheitsprotokolle, darunter OAuth 2.0, SAML und LDAP, und ermöglicht Spinnaker die Integration in die Identitäts- und Zugriffsverwaltungslösungen, die die meisten Unternehmen bereits verwenden. Spinnaker lässt sich auch in gängige Autorisierungslösungen wie Google Groups, GitHub Teams, SAML-Rollen und LDAP-Gruppen integrieren.
Die Automatisierung von Routineprozessen wird in Geschäftslösungen immer häufiger eingesetzt, einschließlich proprietärer Lösungen und Produkte, die auf Open-Source-Continuous-Delivery-Lösungen basieren. Kommerzielle Lösungen wie CodeFresh, Armory und OpsMx basieren beispielsweise auf Open-Source-Continuous-Delivery-Projekten wie Argo und Spinnaker. Auch Unternehmen wie Digital.ai, Harness und Broadcom bieten proprietäre Geschäftslösungen an.
Künstliche Intelligenz und maschinelles Lernen entstehen in Geschäftslösungen wie Harness und OpsMx. Ein Beispiel hierfür ist ein durch maschinelles Lernen gesteuerter kontinuierlicher Verifizierungsprozess, der aus früheren Bereitstellungen lernt und eine Basis für gute Bereitstellungen erstellt, was die Erkennung von Anomalien ermöglicht. Ebenso nutzen die Tools für kontinuierliche Integration (CI)/kontinuierliche Bereitstellung (CD) von New Relic, Datadog, Honeycomb und Splunk künstliche Intelligenz/maschinelles Lernen, um mehr Einblicke in die Leistung und Qualität von Software zu liefern.
Intelligente Automatisierung kombiniert künstliche Intelligenz und Robotic Process Automation (RPA)-Technologie, um Prozesse und Entscheidungen unternehmensübergreifend zu rationalisieren und zu skalieren. In einer Handvoll kommerzieller Continuous-Delivery-Lösungen wie OpsMx zeichnet sich eine intelligente Automatisierung ab, die es Unternehmen ermöglicht, über die Automatisierung von Routineprozessen und Arbeitsabläufen hinauszugehen.
Intelligente Automatisierung kann eine Risikoanalyse für Softwareversionen durchführen und automatisch feststellen, ob die Version den Standards entspricht, um an die nächste Pipeline-Stufe weitergeleitet zu werden, ohne inakzeptable Risiken eines Produktionsausfalls zu schaffen. Dieser Grad an Intelligenz kann auch die Einhaltung von Richtlinien automatisieren und so die Einhaltung aller Governance-Regeln und Best Practices sicherstellen. Branchenführende Unternehmen gehen noch einen Schritt weiter und kombinieren intelligente Automatisierung mit fortschrittlichen Bereitstellungsstrategien wie Blue-Green-Tests, Canary-Tests und progressiver Bereitstellung, um Software schneller und mit weniger Risiko als je zuvor bereitzustellen.
Es ist von entscheidender Bedeutung, dass der Softwarebereitstellungsprozess mit den Anforderungen der digitalen Transformation auf Unternehmensebene Schritt hält. Geschieht dies nicht, kommt es zu Herausforderungen bei der Softwarebereitstellung, die zu langsamen Releases, hohen Release-Fehlerraten, Sicherheits- und Compliance-Fehlern sowie frustrierten Benutzern und Kunden führen.
Die gute Nachricht ist, dass Devops-Entwickler jetzt eine neue Grundlage für ihre Continuous-Delivery-Prozesse implementieren können, um schnellere und qualitativ hochwertigere Software-Releases sicherzustellen. Mit der zunehmenden Verbreitung intelligenter Automatisierungsfunktionen können sich Devops-Entwickler als Haupttreiber der Beschleunigung der digitalen Transformation positionieren und neue Softwarefunktionen schneller, häufiger und sicherer in kürzeren Zeitrahmen bereitstellen.
Originallink: https://www.infoworld.com/article/3658209/how-intelligent-automation-changes-cicd.html
Das obige ist der detaillierte Inhalt vonWie intelligente Automatisierung Continuous Integration (CI)/Continuous Delivery (CD) verändert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!