Acción de Gracias y… pavo. Navidad y… árboles. Contenedores y… microservicios.
Si la primera palabra que se te ha ocurrido para cada uno de esos casos coincide con lo que esperaba, entonces has caído en la trampa de la asociación excesiva que existe actualmente en el mercado tecnológico. Hay una tendencia a mencionar de inmediato los microservicios junto con los contenedores en prácticamente cualquier conversación centrada en unos u otros. Esto se debe, en parte, a que los microservicios —un enfoque arquitectónico que consiste en descomponer las aplicaciones en servicios específicos y ágiles— encajan bien con la naturaleza ágil de los modelos de despliegue basados en contenedores. Pero no olvidemos que los contenedores son una tecnología por derecho propio. Existían mucho antes de que los microservicios fueran siquiera una idea arquitectónica y sus ventajas no se limitan al despliegue de aplicaciones basadas en microservicios.
Veamos este dato extraído de Tendencias de desarrollo empresarial de 2016, una encuesta realizada a 2100 desarrolladores de JVM de la que Lightbend (que se autodefine con orgullo como proveedor de la plataforma líder mundial para el desarrollo de aplicaciones reactivas) extrajo diversas conclusiones sobre la nube, los contenedores y los microservicios. Curiosamente, aunque la mayoría (el 59 %) busca contenerizar aplicaciones completamente nuevas, el 41 % tiene como objetivo contenerizar «aplicaciones existentes».

Esto no es en absoluto una anomalía. Basta con echar un vistazo a una encuesta de agosto de 2016 realizada por Mesosphere a 500 usuarios de Mesos para comprobar que el 51 % ejecuta aplicaciones monolíticas y heredadas en Mesos. El 85 % utiliza, como cabría esperar, arquitecturas de microservicios.
Está claro que los contenedores no son solo para aplicaciones nuevas, sino que se están utilizando para que las aplicaciones heredadas y monolíticas puedan disfrutar de muchas de sus ventajas, como la portabilidad, el escalado rápido y una mejor adaptación a las operaciones basadas en DevOps. Al fin y al cabo, nos prometieron una portabilidad sin fricciones, pero lo que obtuvimos fueron largos tiempos de recreación de imágenes, ya que cada proveedor de nube pública adoptó un formato de imagen diferente. Mantener varias imágenes maestras (una por entorno, por rama secundaria, por rama principal, por... bueno, ya se hacen una idea) se convirtió en una pesadilla operativa. A los contenedores, como al tejón de la miel, les da igual. Pasan de un sistema operativo a otro, de una máquina virtual a otra y de una nube a otra. Son una de las mejores soluciones propuestas hasta la fecha para alcanzar el nirvana de una migración fluida entre nubes en función de los costes y en un abrir y cerrar de ojos (unos 400 ms, para quienes lleven la cuenta).
Aun así, no encasillemos los contenedores como una tecnología «en la nube». Aunque sin duda hacen posible en gran medida la tan anunciada, pero rara vez materializada, portabilidad entre proveedores de servicios en la nube, no se limitan a la nube ni siquiera a entornos similares. Es evidente que los contenedores se utilizan «en la nube», como señala el reciente informe de Sumo Logic, que detectó el uso de Docker en producción en el 15 % de las aplicaciones analizadas. Pero eso no significa que los contenedores no se utilicen también en otros entornos, como en las instalaciones de la propia empresa. De hecho, el informe de Mesosphere mencionado anteriormente señaló que casi la mitad (45 %) de sus usuarios operan «exclusivamente en sus propias instalaciones», mientras que el resto se divide principalmente entre entornos «híbridos» y «exclusivamente en la nube». Curiosamente, también constató que «las empresas más grandes (aquellas con 500 empleados o más) tenían más probabilidades de operar en sus propias instalaciones».

Los contenedores son una opción de despliegue interesante que, con el respaldo de soluciones de orquestación de contenedores (como Docker, Docker Swarm, Mesos y Marathon, Kubernetes, etc.), ofrecen un entorno muy ágil en el que desplegar aplicaciones y ampliar o reducir su capacidad automáticamente. Se trata de una micronube o, al menos, de un entorno similar a la nube que puede desplegarse en una nube pública, una nube privada o incluso sin que intervenga ninguna «nube». Los contenedores pueden utilizarse para desplegar y escalar aplicaciones monolíticas, aplicaciones modernas, aplicaciones basadas en microservicios y API. Son muy flexibles porque su objetivo es normalizar la capa del sistema operativo para que las aplicaciones no estén estrechamente vinculadas al entorno.
En pocas palabras, los contenedores son una capa de abstracción que permite que las aplicaciones sean como el tejón de la miel y «no se preocupen» por los detalles de bajo nivel. Cuando las soluciones de orquestación de contenedores los supervisan y gestionan, esa abstracción permite aumentar y reducir automáticamente la capacidad, tanto vertical como horizontalmente, para aprovechar mejor los recursos en toda la infraestructura de aplicaciones.
Aunque los contenedores, los microservicios y la nube sean íntimos amigos, cada uno es una entidad independiente capaz de valerse por sí misma. Cada uno ofrece ventajas que se complementan y que, me atrevería a decir, a veces generan sinergias con los demás. Pero no encasillemos los contenedores en el estrecho molde de que son «solo» para microservicios y «solo» para la nube.
Los contenedores están cansados de que los encasillen. Déjalos desempeñar distintos papeles en tus arquitecturas y quizá descubras que son más que capaces de asumir un papel protagonista en cada una de ellas.
Sobre el autor

Lori MacVittie es ingeniera distinguida y evangelista jefe en la Oficina del CTO de F5, y cuenta con una amplia experiencia en entrega de aplicaciones, estrategia de automatización e infraestructura. Es conocida por convertir la complejidad en claridad, ya sea definiendo mecanismos de protección para agentes de IA, analizando arquitecturas multinube frágiles o explorando los límites de los sistemas escalables. Aporta más de treinta años de experiencia en el sector en desarrollo de aplicaciones, arquitectura de TI y operaciones de redes y sistemas. Antes de incorporarse a F5, fue una galardonada editora de tecnología. MacVittie posee un máster en Informática y es una autora prolífica cuyas publicaciones abarcan la seguridad, la nube y la arquitectura empresarial. También es una apasionada de los juegos de mesa y los videojuegos, y expresa sin complejos sus firmes opiniones sobre el queso.
Más artículos de Lori Mac VittieArtículos relacionados del blog

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS
Descubre cómo las organizaciones del sector público pueden modernizar de forma segura sus aplicaciones y soluciones de IA, al tiempo que gestionan los sistemas heredados, el cumplimiento normativo y el riesgo operativo.
Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación
Desde acelerar avances revolucionarios en medicina y educación hasta transformar la vida cotidiana, la IA está cambiando nuestra forma de vivir y trabajar. Pero también ofrece grandes oportunidades a los ciberdelincuentes.
Avanzar hacia la optimización digital tras la transformación
Descubre estrategias de optimización digital para garantizar políticas de seguridad coherentes, impulsar la madurez de la transformación digital y superar los retos de la transformación.
Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp
En el punto de mira del código abierto: cómo aumentar la observabilidad. Lee el blog de F5 para descubrir cómo exportar fácilmente la telemetría de BIG-IP a plataformas modernas de análisis en la nube.
El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad
Descubre las principales conclusiones del cuarto informe anual de F5 sobre el estado de la entrega de aplicaciones.
Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps
Descubre el informe sobre el estado de la entrega de aplicaciones de 2017. Lee el blog retrospectivo de F5 sobre los inicios del auge de las redes declarativas y los flujos de DevOps.