La velocidad a la que evoluciona el entorno de negocios es abrumadora. Las empresas encaran el desafío de ser más competitivas, rentables y sobresalir en un mercado global que puede aplastarlas si no logran seguir el ritmo del cambio.
Al mismo tiempo, para conseguirlo, deben convertirse no solamente en usuarias de las tecnologías más innovadoras sino ser empresas de tecnología por sí mismas. Esto es, tienen que adoptar y entregar a sus unidades de negocio las tecnologías que les ayudarán a prosperar, y hacerlo con la mayor efectividad y velocidad posible. No hay lugar para errores o retrasos.
Aquí, el desarrollo de aplicaciones de negocio juega un papel primordial. Cuanto más rápido se desarrollen, se prueben y entren a producción estas aplicaciones, mayor será el impacto positivo en el negocio. No obstante, la presión para el equipo de tecnologías de información (TI), los desarrolladores, la infraestructura y los procesos es mayúscula.
Para superar este desafío, la tecnología de contenedores basados en el sistema operativo Linux se ha convertido en la opción de facto para desarrollar aplicaciones y servicios.
De acuerdo con el estudio de Forrester ‘Predicciones 2016: La Nube se Acelera’, el uso de contenedores aumentó a un ritmo vertiginoso en 2015 y la infraestructura hiperconvergente no se quedó atrás. Estos dos factores se combinaron en 2016 para crear el empaquetamiento de aplicaciones más flexible hasta la fecha.
Dicha flexibilidad se amplía cada día, y hoy los contenedores pueden albergar cargas de trabajo tan variadas, incluyendo el desarrollo de aplicaciones de datos, aplicaciones nativas de la nube, sistemas de interacción, sistemas de registros, web y comercio electrónico, aplicaciones móviles y sociales, entre muchas otras.
¿Y qué son los contenedores?
Un contenedor Linux es una serie de procesos que están aislados del resto del sistema, que corren desde una imagen distinta que proporciona todos los archivos necesarios para soportar los procesos. Al brindar una imagen que contiene todas las dependencias de una aplicación, conserva su portabilidad y consistencia cuando se mueve del desarrollo a la prueba, y finalmente a producción.
En términos llanos, supongamos que usted está desarrollando una aplicación, y lo hace en una laptop y el entorno tiene una configuración específica; y otros desarrolladores tienen configuraciones un tanto distintas. La aplicación que usted desarrolla depende de esa configuración y de archivos específicos.
Al mismo tiempo, la empresa cuenta con entornos de prueba y producción con su propia configuración y sus propios conjuntos de archivos. Usted desea emularlos localmente tanto como sea posible, pero sin tener que recrear los entornos del servidor. ¿Cómo puede hacer que su aplicación funcione en ellos, tener la calidad suficiente e implementar la aplicación sin complicaciones, sin reescribir o estar solucionando problemas? Los contenedores son la respuesta. Un contenedor que tiene sus aplicaciones cuenta con las configuraciones y archivos necesarios para que usted pueda moverlo del desarrollo, a las pruebas y a producción sin ningún efecto negativo.
Estandarización
Seguramente conoce los contenedores que se utilizan para transportar grandes cantidades de mercancías de un punto a otro del planeta y dentro del país. Las empresas de transporte pueden intercambiarlos sin complicaciones, independientemente de que los transporten en barco, tren o camión, porque sus dimensiones cumplen con estándares internacionales. En el caso de los contenedores de software y sus aplicaciones, también comparten estándares y características.
En ese sentido, la seguridad se convierte en un estándar. Un estudio de Forrester, comisionado por Red Hat, reveló que 53% de los tomadores de decisiones en las operaciones de TI y de desarrollo identificó a la seguridad como su principal preocupación respecto a la adopción de contenedores.
Es por eso que Red Hat y otros proveedores de la industria están trabajando para establecer estándares y prácticas alrededor de la certificación de contenedores, lo que ayudará a asegurar que:
- todos los componentes provengan de fuentes confiables
- los paquetes de la plataforma no hayan sido alterados o estén desactualizados
- la imagen del contenedor esté libre de vulnerabilidades conocidas en los componentes y capas de la plataforma
- los contenedores sean compatibles y corran en entornos host certificados.
Contenedores, algo más que virtualización
Los contenedores Linux son un avance radical en la manera en que se desarrollan, implementan y administran las aplicaciones. Las imágenes de éstos ofrecen portabilidad y control de versiones, lo que ayuda a asegurar que lo que funciona en la computadora de un desarrollador también funcione en la práctica, cuando sale a producción.
Incluso, un contenedor Linux utiliza mucho menos recursos que una máquina virtual, pero al mismo tiempo conserva el aislamiento de aplicaciones y es mucho más fácil de gestionar como parte de una aplicación más grande.
El beneficio que ofrecen los contenedores Linux es poder desarrollar más rápidamente y satisfacer las necesidades de las empresas cuando surgen. No se limite a pensar que los contenedores sólo pueden albergar una sola aplicación: puede usarlos para alojar partes de una aplicación o servicios.
En conclusión, se prevé que la penetración de los contenedores Linux crezca en los entornos empresariales, motivada principalmente por la necesidad de responder rápidamente a los cambios del mercado y la intensa competencia que se vive en todas las industrias. Así, la capacidad de desarrollar, probar e implementar aplicaciones y servicios a la velocidad del rayo será fundamental, y donde los contenedores Linux jugarán un papel decisivo.
Por Jorge Alvarado, Gerente de Arquitectura de Red Hat México