Giant Swarm – Microservice Cloud Infrastructure

Aktueller Hot Trend ist Docker Container in einer Cloud Infrastruktur zu veröffentlichen. Viele haben aber nicht das Wissen oder die Möglichkeit ihre entwickelte Software als Docker Container in einer solchen Infrastruktur zu hosten. Einige Anbieter haben diese Marktlücke erkannt und bieten für diesen Fall eine Lösung an. So auch Giant Swarm.

Giant Swarm ist ein aus Köln stammendes Start-Up, das eine Microservice Infrastruktur für Docker Container zur Verfügung stellt. Dabei setzen sie, wie viele andere Hersteller (u.a. auch Amazon), auf eine Konfiguration via JSON. Zur Zeit befindet sich das Projekt noch in der Alpha Phase. Man könnte also fast sagen: Es sitzt noch im Kinderstuhl. Daher fehlen aus meiner Sicht noch einige Dinge, die für eine produktionsfähige Umgebung erforderlich sind. Dazu aber später mehr.

Aber nochmal alles auf Anfang. Ich bin durch einen Blogeintrag, über den ich zufällig gestolpert bin, auf Giant Swarm aufmerksam geworden. Ich fand die Idee interessant und hatte zuvor noch nicht davon gehört, dass ein Unternehmen eine Cloud Plattform für Docker Container anbietet. Inzwischen habe ich mich mit dem Thema auseinandergesetzt und gesehen, dass es viele Unternehmen gibt, die dieses Szenario umsetzen und als Service anbieten wollen. Für mich war es ein guter Anlass, mich ebenfalls mit Docker zu beschäftigen, da ich in diesem Gebiet noch große Lücken hatte.

Giant Swarm richtet sich aktuell sehr stark an Entwickler. Es gibt eine CLI, unheimlich viel Dokumentation, sowie sehr gute Tutorials. Schon beim Aufsetzen des Accounts erstellt man seinen ersten lauffähigen Service. Erfolg macht bekanntlich neugierig. Ich war also hochmotiviert direkt einen weiteren Service zu erstellen. Ich musste jedoch relativ schnell einsehen, dass Docker nicht mal ebenso nebenher gelernt werden kann und es nicht so einfach ist eine Scala Applikation im Container laufen zu lassen. Also habe ich meine Ansprüche etwas heruntergeschraubt und mich erstmal darauf konzentriert einfach mal etwas im Container via Giant Swarm zugänglich zu machen. Ich durchforstete also das Docker Repository und entschied mich letztendlich für MongoDB. Will man ein bereits im Docker Repository vorhandenen Container auf Giant Swarm nutzen, braucht man kein Dockerfile. Die Swarm.json (siehe unten) reicht vollkommen aus. Sobald der Container über die CLI mit „swarm up“ gestartet wird, werden die notwendigen Images heruntergeladen und als Applikationen unter Port 80 von Außen zugänglich gemacht. Nutzt man einen selbst erstellten Docker Container, wie etwa die eigene Anwendung die in einem Container läuft, muss man diese erst Erstellen und in das Giant Swarm Repository pushen. Danach kann man dann in der swarm.json auf das Image verweisen.

Die Swarm.json zum Deployen einer MongoDB würde so aussehen:

{
  "app_name": "mongo.reactive.gigantic",
  "services": [
    {
      "service_name": "mongo-reactive-example",
      "components": [
        {
          "component_name": "mongo-reactive-example",
          "image": "mongo",
          "ports": [
            "27017/tcp"
          ],
          "domains": {
            "mongohq-reactive-example.gigantic.io": "27017"
          }
        }
      ]
    }
  ]
}

Ich denke dies ist fast selbsterklärend. Andernfalls mal in die Giant Swarm Dokumentation schauen, da sind einige sehr gute Beispiel aufgeführt.

Alles in Allem ist Giant Swarm eine schöne Idee und ich denke das Team befindet sich auf dem richtigen Weg. Es ist aber aus meiner Sicht noch Einiges zu tun, um es für Endkunden interessant zu machen. Die CLI ist an manchen Ecken nicht ganz so intuitiv wie man es sich vielleicht wünscht. Das Aufsetzen einer Datenbank sollte dem Entwickler abgenommen werden. Dabei ist es wichtig, dass die Größe durch ein entsprechendes Preismodell oder ähnliches frei skalierbar ist. Gleiches gilt natürlich auch für das Speichern von Dateien. Ich könnte mir ein Addon-System wie bei Heroku sehr gut vorstellen. Zudem sollte eine entsprechende Web-Oberfläche zur einfacheren Administration angeboten werden.

Das Team hinter Giant Swarm ist unglaublich hilfsbereit, freundlich und für jedes Feedback dankbar. Bisher wurde ich regelmäßig nach meiner Meinung gefragt und konnte auch bereits ein telefonisches Feedback abgeben. Der Support der über diverse Kanäle (u.a. Gitter) angeboten wird ist sehr gut. Man merkt: Die Jungs & Mädels sind hochmotiviert. Ich wünsche ihnen jedenfalls viel Glück und Erfolg in der Zukunft.

Teilen Sie diesen Beitrag

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert