Perfektionierung der kontinuierlichen Integration und kontinuierlichen Bereitstellung von DevOps mit Kayenta

  • Oct 20, 2023

Google und Netflix haben Kayenta veröffentlicht, ein Open-Source-Tool zur automatisierten Canary-Analyse, das verspricht, den letzten Schritt der Bereitstellung mithilfe von CI/CD zuverlässiger zu machen.

Video: DevOps ist das heiße Thema im Jahr 2018: Fünf Gründe dafür

Siehe auch

Was ist DevOps und warum ist es wichtig?

Lies jetzt

Eines der größten Versprechen von DevOps ist die Beschleunigung der Softwarebereitstellung durch Continuous Integration und Continuous Delivery (CI/CD). Es gibt nur ein kleines Problem: Um es effizient zu machen, müssen Sie die neuesten Patches in der Produktion mit testen Kanarische Tests. Jeder sagt, dass sie das tun, aber die meisten machen es schlecht. Jetzt, Google und Netflix haben sich zusammengetan, um Kayenta zu veröffentlichen, das effiziente Canary-Tests automatisiert.

Andrew Phillips, ein Cloud-Produktmanager bei Google, erklärte in einem Interview, dass Canary-Tests wie das Der sprichwörtliche Kanarienvogel in einem Kohlebergwerk präsentiert einer kleinen Gruppe von Benutzern neuen Code, um zu sehen, ob etwas schief geht Produktion. In der Regel erfolgt dies per Hand. Entwickler beobachten dann ihre Dashboards, um zu sehen, ob der Kanarienvogel stirbt (d. h. der Code fehlschlägt). Diese Methode ist zwar beliebt, macht es aber viel zu leicht, Probleme zu übersehen.

Lesen Sie auch: Linux Meltdown-Patch: „Bis zu 800 Prozent CPU-Overhead“, zeigen Netflix-Tests

Kayenta, das unter der Apache 2-Lizenz lizenziert ist, wurde gemeinsam von entwickelt Google Und Netflix. Das Programm ist dem internen Canary-System von Netflix entsprungen. Laut Andy Glover, Director of Delivery Engineering bei Netflix, hat das gemeinsame Entwicklungsteam fast ein Jahr damit verbracht, den Code für die Open-Source-Version zur Veröffentlichung vorzubereiten. Es soll Unternehmensteams die Sicherheit geben, Produktionsänderungen schnell voranzutreiben, indem fehleranfällige, zeitintensive und umständliche manuelle oder Ad-hoc-Canary-Analysen reduziert werden.

Das Programm ist integriert mit Spinnaker. Dies ist eine beliebte Open-Source-Multi-Cloud-Plattform für kontinuierliche Bereitstellung. Spinnaker und Kayenta laufen mit den meisten Cloud-Plattformen, einschließlich Amazon Web Services (AWS), Azurblau, Google Cloud, Kubernetes, Und OpenStack. Kurz gesagt: Ganz gleich, um welche Cloud es sich handelt, die Chancen stehen gut, dass Sie mit Spinnaker und Kayenta CI/CD darauf bereitstellen können.

Insbesondere können Teams problemlos eine automatisierte Canary-Analysephase innerhalb einer Spinnaker-Pipeline einrichten. Sie entscheiden, welche Metriken Kayenta messen und in seinen Tests verwenden soll, und es stellt diese zur Verfügung. Dadurch erhält Ihr aktueller Code eine Gesamtpunktzahl für den Canary-Test. Anschließend können Sie einen Erfolgswert festlegen. Wenn der Code-Score Ihren Benchmarks entspricht. Kayenta kann den Kanarienvogel automatisch hochstufen oder ablehnen, einen menschlichen Genehmigungspfad auslösen oder die Änderungen rückgängig machen.

Laut Greg Burrell, dem leitenden Zuverlässigkeitsingenieur von Netflix, „The Qualität der kanarischen Version wird durch den Vergleich wichtiger Kennzahlen bewertet, die das Verhalten der alten und neuen Version beschreiben. Wenn sich diese Metriken erheblich verschlechtern, wird der Canary abgebrochen und der gesamte Datenverkehr wird an die stabile Version weitergeleitet, um die Auswirkungen unerwarteten Verhaltens zu minimieren.“

Wie bestimmen Sie, was akzeptabel ist und was nicht? Kayenta unterstützt derzeit die folgenden Datenquellen: Prometheus, Stackdriver, Datenhund, Und Netflix-Atlas für Metriken. Sie können auch verschiedene Metrikquellen in einer einzigen Analyse kombinieren, d. h. einige Metriken können aus einer Quelle stammen, während andere Metriken aus einer anderen stammen können.

Lesen Sie auch: Netflix bittet Sie, mit dem Hacken zu beginnen, das Bug-Bounty-Programm ist jetzt öffentlich

Netflix frisst seinen eigenen Kanarienvogel. Burrell schrieb: „Wir sind mitten in der Migration von unserem Altsystem zu Kayenta. Derzeit führt Kayenta etwa 30 Prozent unserer kanadischen Produktionsurteile durch, was einem Durchschnitt von 200 Urteilen pro Tag entspricht. In den nächsten Monaten planen wir, alle internen Benutzer auf Kayenta zu migrieren.“

Wenn es gut genug für Netflix ist, das vollständig in der Cloud läuft und DevOps schon früh eingeführt hat, sollte es für Sie gut genug sein, um es auszuprobieren. Ich sehe Kayenta als einen großen Schritt vorwärts, CI/CD zu einem Teil der Softwarebereitstellungspläne jedes Unternehmens zu machen. Es ist so gut.

Ähnliche Beiträge

  • GitLab stellt CI/CD-Tools für GitHub-Repositories zur Verfügung
  • Führungskräfte überschätzen den DevOps-Reifegrad
  • Der Beginn der Automatisierung und das Versprechen einer Formel für den Geschäftserfolg