Hero

Docksal vs. Lando: comparación

Mayo 18, 2022

Mauricio Acevedo
Docksal
Lando

He comparado algunos aspectos de Docksal y Lando; a continuación dejaré un resumen de las diversas funciones en las que me he centrado. No es una lista completa de funciones; sin embargo, considero que son algunas de las más importantes para un entorno de desarrollo local para trabajo del cliente.

Interfaz de usuario

Las dos opciones solo se controlan desde la línea de comandos; ninguno tiene una interfaz gráfica de usuario. Las ambas opciones proporcionan una herramienta de línea de comandos con comandos diferentes (pero similares). Por ejemplo:

  • Para iniciar los contenedores de un proyecto: lando start, fin start, (“fin” es la herramienta de línea de comandos de Docksal)
  • Para detener los contenedores de un proyecto: lando stop, fin stop.

A medida que Lando evolucionó de Kalabox, se habla de que una GUI puede ser parte de un complemento pago en el futuro.

Espacio en disco duro

Las dos opciones están basadas en Docker; cada proyecto en su local tiene su propio conjunto de contenedores. Encontré que para un proyecto, se requiere alrededor de 500 MB de espacio en el disco duro (sin incluir los datos del proyecto). Obviamente, esto puede acumularse rápidamente según la cantidad de proyectos que tenga se tenga en su local. Tanto Lando como Docksal tienen comandos para eliminar los contenedores y los datos de un proyecto, pero ninguno tiene una opción para conservar los datos.

Compatibilidad con la consola Drupal y Drush

Docksal y la herramienta de línea de comandos de Lando proporcionan un comando para ejecutar los comandos de Drush: fin drush (drush-command), lando drush (drush-command).

Soporte y Documentación

Tanto Docksal como Lando cuentan con opciones de soporte de problemas y soporte de chat en tiempo real. Además, ambos tienen una documentación relativamente buena, teniendo en cuenta sus cronogramas de desarrollo rápido y sus frecuentes adiciones y actualizaciones.

Frecuencia de actualizaciones

​Una medida de seguridad y el impulso de un proyecto es la frecuencia de las actualizaciones. En los dos casos, el desarrollo está claramente en curso en cada proyecto.

  • Docksal: última versión 1.17.0, abril 15, 2022
  • Lando: última versión 3.6.5, abril 22, 2022

Conexión a internet

Docksal se puede ejecutar sin conexión a Internet, agregando manualmente una entrada a su archivo de hosts a través del comando “fin hosts add mysite.docksal”.

Lando tiene una página de documentación sobre el desarrollo fuera de línea, pero es solo para Mac OS X y el proceso es un poco más complicado.

Opciones de PHP

Las dos herramientas brindan la capacidad de intercambiar diferentes versiones de PHP a través de sus archivos de configuración.

Docksal le permite colocar un archivo php.ini parcial como parte de la configuración de su proyecto. Las directivas de este archivo anularán cualquier configuración predeterminada de PHP proporcionada por el contenedor.

Lando tiene cierto soporte para algunas configuraciones de PHP como parte de sus archivos de configuración y también soporta un archivo php.ini como parte de la configuración de un proyecto.

En las dos herramientas, es posible ingresar al contenedor CLI y modificar la configuración de php.ini directamente; con este enfoque, estos cambios son únicamente temporales, sin embargo, la próxima vez que se reconstruya el contenedor, el php.ini personalizado cambia se perderá.

Rendimiento/desempeño

El método para calcular los tiempos fue tomar un sitio de cliente real (Drupal 8), ponerlo en funcionamiento en las dos opciones (secuencialmente) y medir el tiempo que tomó ejecutar un “drush cache-rebuild all”. Ejecuté el comando tres veces para cada opción y luego calculé el promedio. Pueden entrar en juego otros factores que dependen de su sitio y configuración como tener Xdebug habilitado, esto podría tener un impacto en el rendimiento, por lo que los tiempos pueden variar.

  • Docksal: 17 segundos
  • Lando: 82 segundos

Otros aspectos

Docksal tiene un “contenedor CLI independiente automático” este es un contenedor que no está vinculado a un proyecto específico y siempre está disponible. Una ventaja de este contenedor es que se puede usar para ejecutar comandos de Composer sin tener Composer instalado en el sistema operativo host. Esto es un gran problema en Windows, donde instalar Composer puede ser complicado debido a su dependencia de PHP.

Docksal utiliza un comando separado para iniciar y detener su máquina virtual principal (fin vm start/stop). No es un gran problema, solo un paso adicional, pero las ganancias de rendimiento valen la pena, como se mostró anteriormente.

En conclusión

Docksal: Es rápido. Siempre y cuando los mantenedores decidan hacer que el uso de Docker para Mac/Windows sea el predeterminado, volverá a estar en igualdad de condiciones con Lando, pero por ahora, es simplemente rápido. También me gusta mucho que Docksal incluya un comando “fin run-cli” que te permite ejecutar los comandos de Composer, por ejemplo “composer create-project” antes de configurar los contenedores de un proyecto. Muy útil.

Lando: Su integración con Pantheon es muy buena. La capacidad de introducir y extraer código, base de datos y/o archivos facilita la integración con los sitios de Pantheon.

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.