Docker, sin duda, está siendo una de las tecnologías más disruptivas para aquellos desarrolladores con un perfil tirando a devops y sistemas. Y no ha pasado desapercibido para gigantes embarcados en el negocio de la nube como Google. Esta misma semana se presentaba Google Container Engine, básicamente lo podemos describir como la plataforma sobre App Engine para manejar de forma distribuida (en la nube) contenedores de Docker.
También han lanzado Kubernetes como proyecto Open Source, un manejador de containers de Docker en la nube de virtual de Google Platform. Utilizando esta herramienta, podemos ver más de cerca todo esto como un inmenso clúster orientado a aplicaciones dónde desacoplar nuestras aplicaciones. Kubernetes permite programar el despliegue, escalado y la monitorización de nuestros contenedores.
La filosofía de Docker es virtualizar lo mínimo necesario para ejecutar una aplicación, sin la necesidad de tener un sistema operativo completo como host, sino que este puede ser compartido por más contenedores con el consiguiente ahorro de recursos. Cada contenedor sigue un principio de responsabilidad única, así podemos partir una aplicación en distintos container con los servicios específicos necesarios. Hablamos de orientar nuestro desarrollado a microservicios mucho más fáciles de mantener y, por supuesto, de desplegar en producción e incluso sustituir en caliente.
Utilizando Docker en App Engine
Google tiene experiencia en este tipo de arquitectura de aplicaciones. De hecho, Kubernetes está basado en algo parecido a lo que ellos usan con Omega, su manejador interno en la compañía para desplegar aplicaciones.
Utilizando Docker en App Engine, los desarrolladores tenemos acceso al inmenso repositorio de imágenes de Docker listas para desplegar en combinación del propio sistema de almacenamiento de Google Cloud Platform. Algo ya vimos sobre esto con los Custom VMs capaces de ejecutar servicios que no son soportados nativamente por App Engine, por ejemplo, Node.js.
De momento, el soporte de Docker en App Engine está en beta. Los interesados pueden inscribirse en el siguiente formulario.
Más información | Google Container Engine