DevOps als Produkt

DevOps ist eine Philosophie, die es mit dem Flinkwerk nun als Produkt gibt.

Code-Phase

Das Flinkwerk liegt in der Cloud und ihr könnt sofort gemeinsam am Code arbeiten. Das Gute ist, dass Programmierer auf ihrem lokalen Rechner mit nur einem Befehl dieselbe Laufzeitumgebung installieren können, wie im Produktiv-System. Du kannst ausserdem jederzeit neue Laufzeit-Komponenten hinzufügen sowie die Build- und Deployment-Routinen ändern und neue konfigurieren.

Build-Phase

Die DevOps-Verarbeitunsgprozesse werden in einer Konfigurations-Datei definiert. Diese legst du zusammen mit deinem App Code im Git Repository ab. In der Konfigurations-Datei definierst du die Reihenfolge, in der Build- und Deploy-Prozesse abgearbeitet werden. Diese werden z.B. in Form von Docker Images oder einem Shell-Skript ausgeführt. Du hast die volle Kontrolle.

Run-Phase

Deine Anwendung wird automatisch im Flinkwerk mit Rancher bereitgestellt. Danach läuft sie per Load Balancing immer und zwar ohne Single Point of Failure. Durch das unterbrechungsfreie Deployment entstehen bei Software-Updates keine oder für Legacy-Applikationen extrem verkürzte Downtimes.

Wie kann ich das Flinkwerk anpassen?

Anbei ein paar Beispiele wie du das Flinkwerk schnell anpassen kannst:

  • Füge Elasticsearch als neue Laufzeit-Komponente hinzu, indem du ein frei verfügbares Docker Image einbindest.
  • Führe Unit Tests während der Build-Phase aus.
  • Starte per Flinkwerk-API einen vordefinierten Build-Job, z.B. um Produktdaten zu analysieren, aufzubereiten, und zu importieren.
  • Stelle Code automatisch in der Test-, Stage- oder Produktivumgebung bereit - je nachdem ob er in einen speziellen Branch committed oder mit einem Release-Tag versehen wurde.
  • Definiere eine völlig neue Laufzeitumgebung für den nächsten großen Versions-Sprung eurer Software.

Flink dank Open Source

Das Flinkwerk besteht zu 100% aus den besten „Open-Source“-Werkzeugen der Welt, die darin nahtlos ineinander greifen. Für jeden Aspekt des Flinkwerks gibt es daher eine öffentliche Dokumentation und unerschöpfliche Community-Ressourcen. Auch der Flink-Client für das Management der lokalen Entwicklungsumgebung ist open source.

In Git arbeiten Entwickler gemeinsam am Code für Softwareanwendungen, und zwar auch in verteilten Teams.
GitLab ist eine Webanwendung zur Versionsverwaltung für Softwareprojekte und ermöglicht Continuous Integration.
Mit Docker werden Container erstellt, mit denen sich die Laufzeitumgebung modular aufbauen lässt.
In Rancher werden Webanwendungen und die Laufzeitumgebung automatisiert ausgerollt und betrieben.

Flink die Cloud wechseln

Auf welcher Cloud die Webanwendung läuft, kannst du im Flinkwerk festlegen und konfigurieren - auch per Code-Branch. Für die Cloud-Orchestrierung nutzt du im Flinkwerk Rancher.


Zum Beispiel kann die Test-Umgebung im Flinkwerk oder auf Servern bei einem Hoster deiner Wahl laufen. Für die Staging- und Produktiv-Umgebung setzt du auf Amazon AWS, Microsoft Azure oder welche Cloud du auch immer bevorzugst.


Zur Auswahl stehen die folgenden Cloud-Anbieter: Amazon, Microsoft, Google, VMWare, Rackspace, Hetzner, 1&1, DigitalOcean, Openstack, Open Nebula und mehr. Das Flinkwerk selbst bietet ein im Vergleich zu Amazon bis zu 50% preiswerteres Cloud-Hosting.