Der CI/CD-Lackmustest: Ist Ihre Pipeline vollständig CI/CD? - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Der CI/CD-Lackmustest: Ist Ihre Pipeline vollständig CI/CD?

Steven Guggenheimer und Ananya Koduri, Amazon Web Services (AWS)

August 2023(Historie dokumentieren)

Ist Ihre Pipeline automatisiert? Es ist eine einfache Frage, aber viele Unternehmen gehen die Antwort zu einfach an. Die Antwort ist viel komplizierter als eineJaodernein.

Technologische Innovationen finden ständig statt, und manchmal kann es für Unternehmen schwierig sein, Schritt zu halten. Ist dieses neue Ding eine Modeerscheinung oder ist es das nächste große Ding? Sollte ich meine derzeitigen Praktiken überarbeiten oder sollte ich warten? Wenn klar wird, dass etwas tatsächlich das nächste große Ding ist, kann es oft passieren, dass Sie aufholen. Kontinuierliche Integration und kontinuierliche Bereitstellung(CI/CD) ist gekommen, um zu bleiben, aber das war nicht immer so. Viele Menschen haben lange gebraucht, um überzeugt zu werden, und manche Menschen brauchen noch mehr Überzeugungsarbeit.

CI/CD ist der Prozess zur Automatisierung der Quell-, Build-, Test-, Staging- und Produktionsphasen des Softwareveröffentlichungsprozesses und wird allgemein als Pipeline bezeichnet. Heute haben die Kosteneinsparungen und die Geschwindigkeit von CI/CD-Automatisierungen die meisten Unternehmen von ihrem Wert überzeugt. Die Umstellung auf diesen neuen Ansatz ist jedoch keine leichte Aufgabe. Sie müssen sicherstellen, dass Ihre Mitarbeiter über die richtige Ausbildung verfügen, Sie müssen einige Ressourcen aufrüsten, und dann müssen Sie testen, testen, testen. Es gibt viel zu tun. In den meisten Fällen sollten Sie diese Änderungen schrittweise vornehmen, um Ihr Unternehmen bei der Anpassung zu unterstützen.

Der Zweck dieses Dokuments besteht darin, zu definieren, was es bedeutet, einen vollständigen CI/CD-Prozess zu haben. Es bietet ein Tool zur Bewertung Ihrer eigenen Prozesse und zeigt einen Weg in die Zukunft für Prozesse auf, die es noch nicht gibt. Dieser Weg in die Zukunft ist selten eine Umstellung über Nacht. Diese Prozesse sind komplex und hängen von vielen Faktoren ab, darunter den aktuellen Fähigkeiten der Mitarbeiter und den aktuellen Infrastrukturanforderungen. Wir empfehlen Ihnen, Prioritäten zu setzen und kleine, schrittweise Änderungen vorzunehmen.

Ziele

Im Folgenden sind die potenziellen Vorteile der Umsetzung der Empfehlungen in diesem Leitfaden aufgeführt:

  • Effizienz— Ein vollständiger CI/CD-Bereitstellungsprozess kann die Komplexität, die Arbeitslast und die unzähligen Stunden reduzieren, die für das Debuggen, die Durchführung manueller Prozesse und die Wartung aufgewendet werden müssen. Weitere Informationen finden Sie unterVorteile von Continuous Delivery. Laut einemTechAhead Blogbeitrag, kann die Implementierung des CI/CD-Prozesses zu einer geschätzten Einsparung von 20% an Zeit, Aufwand und Ressourcen führen.

  • Senkung der Kosten— Laut einemForbes Insight-Bericht, „Drei von vier Führungskräften sind sich einig, dass der Zeit-, Geld- und Ressourcenaufwand für die laufende Wartung und Verwaltung — im Gegensatz zur Entwicklung neuer Projekte oder neuer Initiativen — die allgemeine Wettbewerbsfähigkeit ihres Unternehmens beeinträchtigt.“ Je kürzer der Entwicklungszyklus, desto höher sind die Chancen, dass Ihr Unternehmen ehrgeizige Ziele erreichen kann time-to-market Ziele setzen und die richtigen Chancen zur richtigen Zeit nutzen.

  • Geschwindigkeit— In der Regel ist eine vollständige CI/CD-Pipeline in der Lage, Softwareänderungen innerhalb weniger Stunden für Kunden bereitzustellen. Insbesondere in Fällen mit schneller Fehlerisolierung und kleinen Patch-Pushs trägt die CI/CD-Pipeline dazu bei, die mittlere Wiederherstellungszeit (MTTR) zu verkürzen. Weitere Informationen finden Sie unterReduzierung der MTTR.

  • Sicherheit— Vollständige CI/CD-Pipelines sichern auch den Release-Prozess, indem sie die möglichen Einfallstore für Angriffe reduzieren und das Risiko menschlicher Fehler verringern. Die Sicherheitsgewinne, die mit vollautomatischen CI/CD-Pipelines einhergehen, tragen dazu bei, die kostspieligen Folgen von Datenschutzverletzungen, Serviceausfällen und mehr zu vermeiden.

  • Geringere Fluktuation— Entwickler sind zufriedener, wenn sie mehr Zeit mit der Entwicklung großartiger Funktionen verbringen können und weniger Zeit in einem endlosen Wartungs- und Debugging-Zyklus verbringen müssen. Für Unternehmen bedeutet das, Top-Talente zu gewinnen und über einen längeren Zeitraum zu binden.

  • Code von überragender Qualität— Entwickler veröffentlichen Code in kleinen Batches in einem gemeinsam genutzten Repository, sodass sie Folgendes ausführen könnenparalleles Testen(BrowserStack Blogbeitrag). Anstatt isoliert zu arbeiten, teilen sie ihre Builds häufig mit dem Team und arbeiten zusammen, um kritische Fehler zu identifizieren. Dies bietet Unterstützung für Entwickler, wodurch verhindert wird, dass schlechter Code in die Produktion gelangt. Die Unterstützung durch Kollegen aus den Entwicklern trägt zu qualitativ hochwertigen Releases bei und fördert das Unternehmenswachstum.

  • Wartung— Wartung und Updates sind ein entscheidender Bestandteil der Herstellung eines großartigen Produkts. Schalten Sie das System jedoch nicht zu Spitzenzeiten aus. Sie können eine CI/CD-Pipeline verwenden, um Wartungsarbeiten zu Zeiten mit geringer Auslastung durchzuführen, um Ausfallzeiten und Leistungseinbußen zu minimieren.