Warum benutzen wir Lando in der Virtualisierung?

Dezember 16, 2020 Admin

Wofür ist Lando eigentlich da?

Diese Frage beantwortet Lando sehr amüsant in Ihrer Dokumentation mit folgenden Worten:

Lando is for developers who want to avoid the buildt-in-masochism of directly using docker or docker-compose.

Lando Dokumentation

Denn Lando ist eine kostenlose Open-Source-Software, welche die lokale Entwicklung und DevOps erheblich vereinfacht. Es hilft beim Nachahmen des Live-Systems und Automatisieren des Projektes.

Mit Lando kann jeder Entwickler die Konfigurationen in der Codebasis für die Dienste, Tools und Configs einrichten, die die Anwendung ausführen muss. Sobald dies eingerichtet ist, müssen die Teammitglieder lediglich das Repository abrufen, lando start ausführen und in einer isolierten Entwicklungsumgebung mit der Arbeit am Projekt beginnen, ohne sich um Inkonsistenzen in ihren Entwicklungsumgebungen sorgen zu müssen.

Aber ist das nicht schon durch Docker Compose gegeben?

Schon, allerdings haben wir mit Lando zusätzliche Vorteile:

  • Vereinfachtes Definieren von Docker-Containern mithilfe vordefinierter recipes
  • Erweiterung mit eigenen Befehlen (tooling)
  • SSL-Handling pro Container
  • Einrichten von Proxy- und benutzerdefinierten Domains (DNS) für jeden Dienst
  • vereinfachtes build & run
  • lokale Einrichtung von CI
  • Im Notfall kann man die docker compose-files parallel zu der Lando-file nutzen
  • mehr

Alternativen

Ähnliche Alternativen zu Lando sind DDEV und Docksal.
Wen die genauen Unterschiede sowie Vor- und Nachteile interessieren, kann ich diesen Blog-Artikel von DrupalEasy empfehlen.

Eine weitere, nicht auf Docker basierende Alternative ist Vagrant. Aufgrund der dort genutzten Virtuellen Maschinen ist es zwar einfacher zu verstehen und zum Laufen zu bringen, allerdings auch sehr performancelastig.

Häufigste Befehle auf einem Blick

Bei der täglichen Arbeit mit Lando stößt man am häufigsten über folgende Befehle:

  • lando init: Initialisiert das Projekt für die Nutzung von Lando.
  • lando start: Bei Erstnutzung werden alle Container erstellt, die zum Ausführen der App erforderlich sind. Ansonsten wird die App einfach gestartet.
  • lando stop: Stoppt die App.
  • lando restart: Startet die App neu.
  • lando destroy: Zerstört die App.
  • lando rebuild: Baut die App von Grund auf neu.

Hierzu zählen auch mithilfe des Toolings selbst erstellte Befehle wie z. B. lando typo3cms, womit wir die TYPO3-Konsolenbefehle nutzen können:

 tooling:
  typo3cms:
    service: appserver
    cmd: /app/vendor/bin/typo3cms 

Fazit

Wir bei HDNET sind von keiner Virtualisierung über Vagrant und Docker bei Lando gelandet und es ist bei uns im Team White kaum noch wegzudenken. Wir nutzen es tagtäglich, da es das Abholen von neuen Projekten ungemein verkürzt und uns einige repetitive Vorgänge einfach automatisieren lässt.

Share This: