Menü
Developer

Continuous Delivery von Netflix: Open-Source-Plattform Spinnaker

NetFlix hat Spinnaker im Source veröffentlicht. Das Werkzeug ist der Nachfolger von Asgard und deckt den kontinuierlichen Verteilungsprozess nach der Entwicklungsphase ab. Partner sind Google, Microsoft und Pivotal.

vorlesen Drucken Kommentare lesen

(Bild: Photo: Myrabella / Wikimedia Commons. Licensed under CC BY-SA 4.0 via Commons)

Die Continuous-Delivery-Plattform Spinnaker ist bei Netflix nicht nur seit einem Jahr in Entwicklung, sondern bereits seit einiger Zeit im Einsatz. Jetzt gibt das Unternehmen in einem Blog-Beitrag die Veröffentlichung der Open-Source-Plattform bekannt.

Spinnaker – der Begriff steht für ein Vorsegel – arbeitet über Pipelines und setzt nach der eigentlichen Entwicklung an. Der zu verteilende Code kann beispielsweise als JAR-Datei oder Docker Image vorliegen. Die Verteilung erfolgt in einer Pipeline, die aus konfigurierbaren Bausteinen besteht. Gestartet wird der Prozess entweder manuell, über einen Cron-Ausdruck, einen Jenkins-Job oder durch andere Pipelines. Spinnaker verarbeitet den Code stufenweise vom Erstellen eines Machine Images, über die Verteilung an einen Cloud-Provider und die Testphase bis zur Live-Schaltung der Applikation. Die Abarbeitung der einzelnen Stufen kann seriell oder auch parallel erfolgen.

Der Anwender definiert, welche Stufen die Pipeline durchläuft.

(Bild: Netflix)

Auf Seite der Cloud-Provider unterstützt Spinnaker derzeit Amazon Web Services und die Google Cloud Platform. Die Integration in Microsoft Azure ist in Arbeit. Zudem arbeitet Spinnaker mit Pivotals Cloud Foundry zusammen.

Eine zweite Komponente von Spinnaker übernimmt das Cluster-Management. Sie fasst mehrere Maschinen zu Servergruppen zusammen. Firewall-Regeln schirmen die einzelnen Gruppen nach außen ab, und ein Load Balancer kümmert sich um die Lastverteilung. Spinnaker fasst mehrere Servergruppen zu einem Cluster zusammen.

Schematischer Aufbau einer Servergruppe

(Bild: Netflix)

Spinnaker ist eine Sammlung von JVM-basierten Diensten mit einem AngularJS-Frontend. Der Code liegt auf GitHub zum Download bereit. (rme)