Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Wie intelligente Automatisierung Continuous Integration (CI)/Continuous Delivery (CD) verändert

Wie intelligente Automatisierung Continuous Integration (CI)/Continuous Delivery (CD) verändert

WBOY
WBOYnach vorne
2023-04-12 21:31:011070Durchsuche

​Ü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

Continuous Delivery bezieht sich auf die schnelle und sichere Bereitstellung von Softwareänderungen in der Produktion auf wiederholbare und nachhaltige Weise. Diese Disziplin ist nicht neu, aber es entsteht ein neues Modell der kontinuierlichen Bereitstellung, das als Grundlage für die Verbesserung des Devops-Managements, die Steigerung der Entwicklungseffizienz und die Gewährleistung von Governance und Sicherheit dienen kann. Dieses neue Modell basiert auf drei Prinzipien: offene Plattformen, intelligente Automatisierung und zentral gesteuerte autonome Teams.

(1) Offene Plattform

Die offene Plattform unterstützt die nahtlose Integration mit vorhandenen Tools und Workflows für Continuous Integration (CI) / Continuous Delivery (CD). Dadurch können Unternehmen entwickeln, ohne bestehende Toolketten und Prozesse zu unterbrechen oder einen erheblichen Rückgang der Entwicklungsproduktivität zu riskieren, ganz zu schweigen von frustrierenden Entwicklern und Managern. Beispielsweise kann eine offene Integrationsschicht, die native APIs für öffentliche Tools für die kontinuierliche Integration (CI)/kontinuierliche Bereitstellung (CD) verwendet, es Entwicklungsteams ermöglichen, weiterhin erstklassige Tools zu verwenden.

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 erfüllt viele der Kernanforderungen für eine erfolgreiche Softwarebereitstellung. Eine grundlegende Prozessautomatisierung kann die Produktivität des Devops-Personals steigern, indem routinemäßige manuelle Aufgaben durch Code automatisiert werden. Beispielsweise kann ein Entwickler einen Build in Jenkins ausführen und dann eine automatisierte Aufgabe auslösen, die den Build an Artifactory weiterleitet und die Bereitstellungspipeline startet. Die Kombination von Automatisierung und künstlicher Intelligenz kann jedoch Prozesse verbessern und Geschäftsergebnisse verbessern.

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.

2. Die Entwicklung der kontinuierlichen Lieferung

Jetzt beginnen diese neuen Grundelemente der kontinuierlichen Lieferung auf folgende Weise in das Produkt einzudringen.

(1) Open-Source-Projekte

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.

(2) Grundlegende Prozessautomatisierung

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.

(3) Grundlegende künstliche Intelligenz und maschinelles Lernen

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.

(4) Intelligente Automatisierung

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen