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.

(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.
Pipeline vom Paket bis zur AusfĂĽhrung
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.
(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.
Verwaltung der Cluster
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.
(Bild: Netflix)
Spinnaker ist eine Sammlung von JVM-basierten Diensten mit einem AngularJS-Frontend. Der Code liegt auf GitHub zum Download bereit. (rme)