Session type: Standard (45 min)
Session level: Intermediate
Session language: Spanish
Los proyectos web se han ido complicando desde los tiempos en los que bastaba con desplegar un conjunto de ficheros HTML, CSS, JS y PHP detrás de un servidor web con el apoyo de una base de datos hasta la situación actual en la que un proyecto requiere un complejo proceso de preparación del código que se desplegará, además de la configuración y despliegue de todos los componentes de software requeridos (base de datos, proxy caché, caché de objectos, servicios de indexación como Solr o Elasticsearch, herramientas específicas como Drush, etc). Un proyecto web Drupal ya no es solo una aplicación web sino que está formado por un conjunto de componentes de los cuales Drupal es solo uno de ellos.

Aunque se puede delegar el despliegue del entorno de producción en el cliente o la gente de sistemas, el problema es que el entorno de desarrollo debe ser inlcuso más complejo aún. Además de necesitar todos los componentes del entorno de producción se requieren otros como herramientas de testing, depuración. librerías adiconales, etc. Todo ello hace que el proceso de desarrollo necesite mucho tiempo para mantener el propio entorno de desarrollo en condiciones de funcionamiento, más aún en equipos de varias personas donde hay que aplicar los cambios de configuración de sistemas a todos los entornos locales.

El advenimiento de la virtualización o los contenedores como Docker facilitan este mantenimiento, pero sigue siendo insuficiente. El proceso de desarrollo y despliegue incluye muchas tareas como la obtención de librerías externas, movimiento de datos entre entornos, compilación de CSS, transpilación de JavaScript, etc, que necesitan configurarse y realizarse en los momentos adecuados.

El resumen, la vida de quién desarrolla se hace muy compleja y se pierde mucho tiempo si no hay un departamente fuerte de sistemas. Este problema motivó que hace unos años empezasen a desarrollarse soluciones completas que automatizasen el desarrollo, testing y despliegue de proyectos con Drupal.

En esta charla se hablará de este problema y de algunas de las soluciones ya disponibles para que los equipos de desarrollo puedan usar toda la potencia disponible en un proyecto Drupal sin sufrir toda la carga de mantener el mismo equipo la infraestructura. Muchas de estas soluciones se apoyan en servicios de hosting propios, completando así todo el ciclo de desarrollo y despliegue.

Entre las soluciones se hablará de Acquia BLT, Lando, de Tandem, o Lagoon, de Amazee Labs. Con ellas, comenzar a desarrollar un proyecto debería ser tan sencillo como clonar un repositorio, inicializar la herramienta y tener ya disponible el entorno de desarrollo con todas las herramientas requeridas.
Author bio
Ricardo Sanz es drupalero desde hace más de 9 años y socio de Metadrop dónde ha desarrollado la mayoría de su trabajo con Drupal.

David López es drupalero desde hace más de 8 años y actualmente miembro de Metadrop .