Wie Sie mit Kamal Web-Apps deployen

Wer unabhängig bleiben möchte, sucht nach einer Möglichkeit, Web-Apps plattformunabhängig oder auf eigener Hardware zu deployen – und stößt auf das Tool Kamal.

Artikel verschenken
vorlesen Druckansicht
,
Lesezeit: 13 Min.
Von
  • Josef Strzibny
Inhaltsverzeichnis

"Raus aus der Cloud mit Kamal" – das war das Versprechen, mit dem David Heinemeier Hansson, der Gründer von 37signals, vor zwei Jahren das quelloffene Deployment-Werkzeug präsentierte. Ursprünglich als internes Tool von 37signals entwickelt, diente Kamal dazu, die gesamte Workload des Unternehmens auf On-Prem-Systeme zu hieven und so Millionen von Dollar an Cloud-Kosten einzusparen. Mittlerweile hilft Kamal immer mehr Organisationen dabei, von verwaltetem Kubernetes zu einem einfacheren und günstigeren Set-up zu wechseln.

Darum lohnt sich ein Blick auf die grundlegenden Funktionen anhand des Deployments einer einfachen Webanwendung mit einer relationalen Datenbank. Die EinfĂĽhrung deckt dabei die Voraussetzungen, das Schreiben der Konfigurationsdatei und das Deployment der Anwendung in die Produktion ab.

Mehr zu Softwareentwicklung
iX-tract
  • Kamal fĂĽhrt Docker-Befehle ĂĽber SSH auf Remote-Servern aus und verzichtet bewusst auf komplexe Orchestrierung.
  • FĂĽr das Deployment braucht es lediglich ein Dockerfile mit Anwendungsserver auf Port 80, einen Docker-Registry-Zugang und virtuelle Server mit SSH-Zugang.
  • Datenbanken, Caches und andere persistente Dienste verwaltet Kamal als unabhängige Accessories mit eigenem Lebenszyklus, sie laufen ĂĽber Anwendungs-Deployments hinweg kontinuierlich weiter.

Kamal kann als ein geistiger Nachfolger von Capistrano für das Containerzeitalter gelten. Seine gesamte Funktionsweise basiert auf Docker und imperativen Docker-Befehlen. Es lässt sich am besten als das Ausführen von docker run für ein Anwendungsimage auf Remote-Servern über SSH verstehen. Das ist die Einfachheit – und Eleganz – von Kamal, jedoch auch seine offensichtliche Einschränkung. Intelligente Orchestration und Selbstheilung von Containern bleibt Kubernetes-Sphären vorbehalten.

Das war die Leseprobe unseres heise-Plus-Artikels "Wie Sie mit Kamal Web-Apps deployen". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.

Immer mehr Wissen. Das digitale Abo fĂĽr IT und Technik.