Luis Herrera, CTO y cofundador de Antelops, es el primer partner oficial de consultoría y formación de Docker en España. Este ingeniero informático, ex-googler, ex-vmware, cuenta con experiencia en servicios profesionales, implementación de soluciones en entornos complicados en todo el mundo. Herrera nos acerca más al mundo “contenedor” de Docker.
1. En estos tres años, ¿cómo ha modificado Docker el mundo del desarrollo?
En los últimos tres años Docker ha pasado de ser una tecnología poco conocida a una de las empresas tecnológicas más populares del mundo. Y lo ha hecho porque ha cambiado fundamentalmente cómo construimos, cómo desplegamos, cómo distribuimos el software. En su misión de “crear herramientas para la innovación masiva” no solo ha ido eliminando las barreras para crear software más rápido y de mayor calidad, sino que para facilitar su explotación.
De entre todas las aportaciones de Docker al mundo de desarrollo resaltaría la de crear un empaquetado portable para las aplicaciones, eliminando las diferencias entre desarrollo y producción. Docker está coincidiendo con otras tendencias como el agilismo, la cultura DevOps, las aplicaciones basadas en microservicios …y la suma de todas está acelerando la innovación en el desarrollo y despliegue del software a un ritmo que no habíamos visto antes.
2. ¿Cuáles son las principales diferencias entre un contenedor Docker y una máquina virtual?
Aunque se les compara con frecuencia, quizás porque en primera instancia los contenedores parecen una versión “ligera” de las máquinas virtuales, son dos animales diferentes. De hecho, los contenedores y las máquinas virtuales pretenden resolver dos problemas diferentes. Las máquinas virtuales pretendían en un principio resolver un problema de utilización en los servidores y fundamentalmente abstraen el hardware del sistema operativo, creando un entorno aislado para los sistemas operativos y aplicaciones. De esta manera es posible consolidar en un único servidor físico “muchas” máquinas virtuales.
En cambio, los contenedores pretenden abstraer las aplicaciones del sistema operativo, su objetivo es hacer las aplicaciones más portables. Pero si tenemos que compararlos, los contenedores pueden llegar a ser más eficientes que las máquinas virtuales en uno o varios órdenes de magnitud: se pueden “arrancar” en fracciones de segundo en lugar de minutos, ocupan MB en lugar de GB en disco y se pueden ejecutar de 10 a 100 veces más contenedores que máquinas virtuales en el mismo equipo. Dicho todo esto, se puede, y puede ser deseable, desplegar contenedores en máquinas virtuales.
3. ¿Crees que un modelo de negocio basado en PaaS es una ventaja para la transformación digital de un negocio?
Sí y no. La transformación digital de un negocio va más allá de un cambio tecnológico y requiere cambios de mentalidad, a veces sutiles otras profundos, para obtener todos los beneficios sobre el papel PaaS –Plataforma como servicio, en sus siglas en inglés– puede ofrecer. Así que, paradójicamente, el PaaS puede llegar a convertirse en un freno y no un acelerante de la innovación si no va acompañada de los cambios culturales y organizacionales que requiere.
Hay mucha oferta PaaS pública, pero son las startups las que están aprovechándose de este modelo. Las empresas consolidadas todavía ven el PaaS con recelo y para evitar amarrarse a un solo proveedor están construyendo su propia PaaS. Pero esto es un proyecto complejo y parece que en la mayoría de los casos no está respondiendo a las expectativas tanto de los equipos de desarrollo como los de explotación. No está todo perdido, los contenedores están ofreciendo una tercera vía.
En lugar de PaaS privado hay empresas que están comenzado pensar en proporcionar un CaaS (Contenedores como Servicio) a sus equipos, porque los contenedores ofrecen un mejor compromiso entre la mejora de la productividad de los desarrolladores y la complejidad de implementación del servicio. Los contenedores ofrecen una mayor flexibilidad a la hora de de elegir y combinar stacks tecnológicos, si menoscabar el control que necesitan los equipos de explotación. Los principales proveedores de nube pública ya han incorporado CaaS en su oferta de servicios. Estoy seguro que veremos en los próximos meses y años muchos ejemplos de CaaS en las empresas.
4. ¿Qué es lo que caracteriza a Docker para que grandes compañías como Cisco, Sony o la Universidad de Harvard, entre otras, apuesten por su tecnología?
Docker está ayudando a estas grandes empresas a ser más ágiles, más competitivas y adoptar más fácilmente la nueva mentalidad digital. Quizás la característica que esté haciendo que Docker triunfe es que se puede adoptar muy rápido y los equipos comienzan a experimentar sus beneficios muy rápidamente también. La combinación de Entrega Continua (Continous Delivery) de aplicaciones basadas en microservicios que se ejecutan en contenedores Docker está trayendo a estas empresas un crecimiento en la innovación interna a ritmos que sólo tiene estábamos viendo en el mundo de la informática de consumo y las aplicaciones móviles.
5. ¿Qué sector están adoptando más esta tecnología?
Me gustaría destacar dos sectores que por diferentes motivos están despuntando en la adopción de Docker: el financiero y los medios de comunicación. Entre los medios tenemos empresas como Business Insider, New York times o la propia BBC. En estos tres casos el problema de partida era similar: son medios que publican cientos de historias al día, donde el ratio de cambio es importante y a menudo necesitan llevar a producción nuevos servicios muy rápidamente. En todos ellos, la adopción de Docker ha simplificado y acelerado el paso a producción de nuevas aplicaciones y servicios.
En el mundo financiero tenemos empresas que están utilizando Docker para ser más ágiles, acelerar la innovación para competir con empresas tecnológicas que están adentrándose en el sector…Tenemos empresas como Goldman Sachs, Bank of America, International Securities Exchange, ADP…y en esta misma casa!
Si te interesa el mundo de las APIs, puedes descubrir más sobre las APIs de BBVA aquí.
Síguenos en @BBVAAPIMarket