_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Introducción a Drupal + Docker
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
DrupalDay Murcia 2015
Transportes antes de los 60
¿Cómo lo solucionaron?
Contenedores de transporte
¿Por qué le gusta a los desarrolladores?
- Se construye una vez... y se ejecuta en cualquier parte
- Un entorno de ejecución limpio, seguro, higiénico y portable para tus aplicaciones.
- Una vez desplegado, no hay que volver a preocuparse por dependencias, paquetes y otras configuraciones que suelen traer dolores de cabeza.
- Cada aplicación se ejecuta en su propio contenedor aislado, eso nos permite tener distintas versiones de librerías y otras dependencias para cada aplicación sin preocupaciones.
¿Por qué le gusta a los desarrolladores?
- Test automáticos, integración continua, empaquetado... en definitiva, cualquier cosa para la que se pueda escribir un script.
- Elimina problemas sobre compatibilidad en diferentes plataformas, tanto en la tuya como en la de tus clientes.
- No hay penalización a la hora de desplegar servicios. Una VM sin la sobrecarga de una VM. Se pueden re-lanzar y resetear imágenes al instante.
¿Por qué le gusta a los administradores?
- Lo configuramos una vez... y lo ejecutamos cada vez que queramos.
- Consigue que el ciclo de vida sea más eficiente, consistente y repetible.
- Incrementa la calidad del código de los desarrolladores. Elimina inconsistencias entre entornos de desarrollo, test, producción, etc.
¿Por qué le gusta a los administradores?
- Mejora significativamente la velocidad en despliegues automáticos y en sistemas de integración continua.
- Como los contenedores son muy ligeros, se eliminan los problemas de rendimiento, costes, despliegues y problemas de portabilidad a los que normalmente están asociadas las VM.
Más detalles técnicos
A alto nivel: una VM ligera
- Propio espacio de procesos
- Propia interfaz de red
- Puede ejecutar órdenes como root
- Puede tener su propio /sbin/init
- Contenedor == Máquina
Más detalles técnicos
A bajo nivel: CHROOT con esteroides
- Puede no tener su propio /sbin/init
- Contenedor = procesos aislados
- Comparte el kernel con el host
- Contenedor == Aplicación
VMs vs Contenedores
Los contenedores están aislados, pero comparten el kernel
... lo que aporta los beneficios de las VM pero con mucha menos sobrecarga, más portabilidad y eficiencia
Guía rápida de Docker Compose
docker-compose.yml
hello:
image: hello-world
$ docker-compose up -d
$ docker-compose stop
$ docker-compose start
$ docker-compose rm -f
Guía rápida de Dockerfile
Dockerfile
FROM hello-world:latest
MAINTAINER Ignacio López Flores
RUN ls /
docker build -t usuario/imagen:tag .
docker-compose.yml
hello:
build: .
Qué es Drupal
- Gestor de contenidos modular y muy configurable.
- Ideal para crear sitios web dinámicos y con gran variedad de funcionalidades.
Qué es Drupal
Miles de módulos y diseños creados para Drupal.
Minimiza código a medida.
Optimizando la eficiencia de portales.
Drupal es Flexibilidad
- Una de las plataformas más flexibles
- Altamente personalizable
Drupal es Amplia comunidad profesional
- Drupal.org tiene más de 1 millón de usuarios
- 230 paises
- 181 idiomas
- Profesionalización = Usuarios cualificados
Drupal es Open Source
Código abierto
Continuo crecimiento y desarrollo
Última generación
Drupal es Open Source
- Licencia GNU/GPL de libre uso
- Cambios de manera rápida
- Reducción de costes
- Escalable
- Solución de errores y mejora con más rapidez
Drupal es gratuito
Su licencia es de libre uso y su código es abierto
Drupal es Seguridad
Drupal.org mantiene a un equipo dedicado exclusivamente a la seguridad.
Drupal es Seguridad
Uno de los gestores de contenidos más seguros que existen ya que está construido con la seguridad en mente.
Control total de la plataforma y un sistema de permisos basado en roles.
Drupal es importante
Algunos de los organismos más importartes del mundo confian en drupal.
-
Internacionales:
Warner Bros,
Zynga,
PACKT Publishing,
The Weather Channel,
Mens Health,
Le Figaro,
Royal Mail,
Gobierno francés,
The Economist o la misma
Casa Blanca
-
Nacionales:
RAE,
Kinepolis,
Telemadrid,
Museo Reina Sofía,
Idealista News,
McDonalds,
Ayuntamiento de Castilla La Mancha,
Parque de Atracciones de Madrid,
Boing,
Faunia, ... y cada día más.
Nuestro propio Docker Compose
docker-compose.yml
web:
image: drupal:7
ports:
- "5000:5000"
volumes:
- .:/code
links:
- db
db:
image: mysql:5.6
environment:
MYSQL_ROOT_PASSWORD=pass
MYSQL_DATABASE=database
MYSQL_USER=user
MYSQL_PASSWORD=pass
Conceptos básicos en Drupal
- Tipos de contenido
- Templates
- Módulos
- View Modes
Módulos importantes
Hay miles de módulos en drupal.org
- Views
- Features
- Pathauto
- Xmlsitemap
- ...