Hogar Negocio Contenedores, explicados

Contenedores, explicados

Tabla de contenido:

Video: Объяснение контейнера (Noviembre 2024)

Video: Объяснение контейнера (Noviembre 2024)
Anonim

Por ahora, los contenedores son un concepto familiar para su departamento de TI. Las pequeñas o medianas empresas (PYMES) más ágiles ya pueden estar usándolas. En cuanto al desarrollo de aplicaciones y la infraestructura de TI, los contenedores de Linux están tan de moda como verá con este tipo de tecnología.

De hecho, 451 Research proyecta que el mercado de contenedores de aplicaciones se expandirá de $ 762 millones en 2016 a $ 2.7 mil millones en 2020. Mientras tanto, Gartner pronostica que más del 50 por ciento de las organizaciones globales ejecutarán aplicaciones en contenedores en 2020, un aumento de menos del 20 por ciento en 2017

Ya hemos explicado cómo la arquitectura de aplicaciones modulares de microservicios está ayudando a los equipos de desarrollo y TI a trabajar de manera más eficiente, al tiempo que reduce el costo y la complejidad de agregar nuevas características y funcionalidades. Desde el punto de vista tecnológico, los contenedores son el agente catalizador de esa ecuación DevOps. Son el paquete conveniente a través del cual DevOps y los equipos de TI pueden pasar rápida y sistemáticamente el código, las configuraciones y las dependencias de una aplicación de un lado a otro.

Pero, ¿qué significa eso realmente para su negocio? Hablé con las soluciones empresariales de TI y la empresa de software de código abierto Red Hat para averiguarlo. Este explicador presentará no solo qué son los contenedores y cómo funcionan, sino también las diferentes formas en que, una vez que comprenda la tecnología, su organización puede usar implementaciones en contenedores en la parte superior de su centro de datos o infraestructura en la nube para ofrecer un software de calidad más rápido.

Contenedores 101

En su nivel más básico, los contenedores de Linux se denominan adecuadamente por los contenedores de envío de metal a los que a menudo se los equipara. Ya sea en un barco de carga, un tren de carga o en la parte trasera de un gran camión de plataforma, el contenedor en sí es el mismo buque uniforme de transporte de mercancías. Lars Herrmann, Gerente General de la Unidad de Negocios de Soluciones Integradas en Red Hat, supervisa la tecnología de contenedores Linux de la compañía. Herrmann dijo que las empresas simplemente deberían considerar los contenedores como una nueva unidad de trabajo.

"Los contenedores tienen que ver con la agilidad", dijo Herrmann. "En una organización compleja, se trata de asignar responsabilidades junto con la libertad de ofrecer funciones. Y los contenedores le brindan esta tecnología para mantener todo junto y al mismo tiempo administrar su responsabilidad de seguridad, disponibilidad, cumplimiento normativo, todo lo que importa".

Haga clic en la imagen para ver la infografía completa. Crédito de la imagen: Twistlock

De esta manera, la homogeneidad de los contenedores los convierte en bloques de construcción fáciles de usar. Son unidades pequeñas y conectables sobre las cuales puede construir una arquitectura de microservicios que tenga en cuenta la eficiencia operativa y el control de versiones. Al mismo tiempo, les dan a DevOps y a los equipos de TI un control granular sobre cómo implementan los recursos de infraestructura. Herrmann también señaló que los contenedores son fundamentalmente una tecnología de sistema operativo (SO).

"Los contenedores toman el sistema operativo y lo cortan en dos partes", explicó Herrmann. "Por un lado, obtienes la unidad de trabajo para la aplicación, que contiene el código de la aplicación y las dependencias de una manera que puede ser optimizada por los equipos de DevOps, y les da autonomía y control para tomar decisiones cuando lo deseen. Ya no tienen que Esperar a otros equipos.

"La otra parte es el kernel del sistema operativo. El kernel del sistema operativo y la carga útil del contenedor proporcionan soporte para los recursos y primitivas que desea disponibles, como almacenamiento, redes y seguridad. Debido a que los contenedores son una tecnología del sistema operativo, puede ejecutarlos en cualquier lugar, ya sea virtual hosts o una nube pública. Esa calidad híbrida le permite administrar cualquier aplicación en cualquier entorno utilizando la misma tecnología sin dejar de empoderar a los equipos de DevOps ".

Los contenedores tampoco son lo mismo que la virtualización. Herrmann explicó que los contenedores y la virtualización son fuerzas recíprocas. La virtualización emula un entorno de hardware virtual para ejecutar varias pilas de software; proporciona lo que se llama una capa de abstracción para dar flexibilidad a ese entorno de computación en la nube sobre cómo se estructuran y despliegan las aplicaciones y los datos. Entonces, en un solo kernel de SO virtualizado, puede ejecutar múltiples servidores o instancias. Los contenedores son las instancias.

"Todavía hay mucha confusión acerca de combinar contenedores con virtualización", dijo Herrmann. "La virtualización resuelve un problema diferente, y creemos que los contenedores y la virtualización se complementan muy bien. La virtualización proporciona abstracción y emulación y, con los contenedores, obtienes un tipo similar de abstracción pero sin la emulación. Juntos, no te brindan gastos generales medibles y una tonelada de eficiencia operativa, pero puede ser difícil separar los dos ".

Un desglose rápido del paisaje de contenedores

Los DevOps y los principios ágiles de los que estamos hablando con respecto a los contenedores no son nuevos, ya que se remontan al concepto de arquitectura orientada a servicios (SOA), que se detalla en nuestro explicador de microservicios anterior. El contenedor moderno de Linux fue inventado cuando Docker cambió el juego. Docker es un par de cosas diferentes, pero, ante todo, es una tecnología de código abierto muy popular que fue desarrollada por el Proyecto Docker en 2013. Está diseñada para empacar, enviar y ejecutar cualquier aplicación como un contenedor liviano. En 2017, Docker agregó la capacidad de ejecutar contenedores de Linux en Windows utilizando la tecnología Hyper-V.

Docker se encuentra entre varios proyectos de código abierto que están ayudando a dar forma a la tecnología y el espacio. Kubernetes, desarrollado originalmente por Google y ahora administrado por la Cloud Native Computing Foundation, es un sistema de código abierto para automatizar la implementación, el escalado y la administración de contenedores. Docker y Kubernetes son los dos proyectos de código abierto de gran potencia que tienen más influencia sobre el desarrollo de la tecnología. De hecho, en abril, Dockers lanzó su Docker Enterprise Edition (EE) 2.0, que permite a los usuarios administrar y asegurar sus cargas de trabajo en Kubernetes en un entorno multi-Linux, multi-OS o multi-nube. Esta flexibilidad reduce la posibilidad de que las empresas se bloqueen en una determinada tecnología o infraestructura. Docker dice que EE 2.0 permite a las empresas obtener una mayor eficiencia de costos al administrar aplicaciones desde una única interfaz de control para realizar un seguimiento de imágenes, almacenamiento y redes.

Hay docenas de otras compañías, junto con el Proyecto Atómico de Red Hat (para pilas combinadas de Docker / Kubernetes) y la Iniciativa de Contenedores Abiertos de la Fundación Linux que tienen como objetivo crear estándares abiertos de la industria alrededor de los contenedores. Para Docker, fueron las imágenes de Docker las que prendieron fuego al mundo del desarrollo. Un contenedor almacena el código, las bibliotecas y los archivos de configuración para ejecutar una imagen en cualquier ubicación. "Todos los contenedores habían estado poniendo servicios en el mismo nodo hasta que Docker introdujo la noción de implementación basada en imágenes", dijo Herrmann.

Haga clic en la imagen para ver la infografía completa. Imagen: Encuesta Docker, 2016

Docker también es una startup (fundada en 2010 como dotCloud) que ha recaudado más de $ 242 millones en fondos. La compañía ofrece un conjunto de herramientas empresariales de contenedor como servicio (CaaS) para implementaciones de Docker en centros de datos y nubes privadas. Por supuesto, cuando se trata de la gestión de contenedores empresariales, Docker no está solo en el espacio. Red Hat ofrece su propio conjunto empresarial CaaS de herramientas para desarrolladores en sus productos Red Hat Enterprise Linux (RHEL), OpenShift y JBoss.

Más y más compañías tecnológicas de renombre también han estado participando en la acción. Amazon Web Services (AWS), Microsoft Azure y Google Cloud Platform (GCP) tienen todas las herramientas integradas integradas de orquestación y administración de contenedores en sus respectivas plataformas de infraestructura como servicio (IaaS) en la nube. El 8 de mayo, Microsoft anunció una asociación con Red Hat para permitir a los desarrolladores ejecutar software basado en contenedores en Azure. Ese mismo día, IBM informó que expandiría su colaboración con Red Hat para permitir a los desarrolladores crear aplicaciones en una plataforma de contenedor integrada. En unos pocos años, el espacio del contenedor se ha llenado bastante.

¿Qué problemas comerciales pueden resolver los contenedores?

Cuando se trata de implementar arquitecturas de aplicaciones modernas y principios de DevOps dentro de una empresa, los contenedores son la respuesta a una serie de problemas. Particularmente cuando la organización está atrincherada en tecnología heredada y políticas de desarrollo tradicionales, los contenedores son la plataforma fácilmente integrada que puede facilitar la transición y facilitar el departamento de TI.

"En este momento, vemos la contenedorización como la forma más práctica de introducir la nube, DevOps y microservicios en su entorno. Los contenedores se integran naturalmente con las tecnologías que ya tiene", dijo Herrmann.

Rich Sharples, Director Senior de Gestión de Productos para Middleware en Red Hat, dijo que se trata de entregar software de calidad a una cadencia más rápida. Todas las compañías buscan lanzar software más rápido para competir en sus propios mercados, y esa presión a menudo recae en un departamento de TI con exceso de trabajo. Sharples dijo que los contenedores son una forma de producir aplicaciones y servicios que se pueden cambiar más rápido, ya sea agregando una nueva característica o una solución crítica de seguridad, mientras se mantiene la calidad. También habló sobre la infraestructura en contenedores como el puente para preparar a las empresas para microservicios.

"Tenemos este principio de diseño: no podemos permitirnos dejar atrás ninguna aplicación", dijo Sharples. "Estamos en este maravilloso mundo nuevo de DevOps y desarrollo de software ágil. Pero las empresas no pueden reescribir todas sus aplicaciones para unirse a la fiesta. ¿Cómo los movemos hacia estas nuevas ideas?

"Invertir en plataformas como los contenedores es una forma de garantizar que la organización esté lista para comenzar a construir algo como microservicios. Los microservicios y los contenedores juntos es donde está el verdadero poder. No hay nada interesante sobre un microservicio único; es solo en plural que se ve esto red cooperante compuesta de partes discretas de funcionalidad ".

Crédito de imagen: Docs.Docker.com

Evaluar si invertir y adoptar contenedores no se trata solo de tecnología. Sharples explicó que para una transición exitosa a DevOps, que incorpora contenedores y microservicios, necesitará la arquitectura, las plataformas subyacentes y los procesos ágiles.

"Esta no es solo una decisión tecnológica", dijo Sharples. "Debe pensar si su organización está preparada, si tiene problemas particulares de entrega de software que necesita resolver y comprender cómo se ven los impulsores del negocio en torno a la automatización y DevOps. Comprenda sus requisitos clave, considere las necesidades de diferentes proyectos y luego decida qué combinación de nube, arquitectura de aplicaciones y tecnología de contenedores puede hacer que suceda ".

Herrmann dio a los departamentos de TI de la empresa tres consejos al analizar cómo los contenedores se ajustan a su organización:

1. Comience

Según Herrmann, la combinación de DevOps, ágil, contenedores, microservicios no es solo un cambio tecnológico aislado. "Es un viaje que conduce a una transformación bastante significativa en cómo operará su negocio", dijo. "Mi primer consejo es comenzar porque sus competidores lo están. Permitir que los primeros usuarios compongan las piezas es la estrategia incorrecta porque es posible que no se pongan al día".

2. Visión integral

Herrmann le aconsejó que aborde los contenedores desde un punto de vista más holístico. "Elige tu objetivo más importante", dijo. "La capacidad de entregar software más rápido es un excelente punto de partida. Con base en ese objetivo, piense en cómo incorporar a su organización al proceso y estructurar este trabajo sin riesgo y agitación para sus operaciones existentes".

3. Ecosistema

Herrmann señaló que muchas empresas están llegando al punto en que están limitadas por la arquitectura, los procesos y las plataformas heredadas. "No se puede cambiar la arquitectura sin pensar en las plataformas en las que se quiere confiar", dijo. "Entonces la pregunta es: ¿con quién trabajo? ¿Con quién hablo? Nuestra recomendación es buscar empresas que puedan ayudar no solo con los problemas tecnológicos, sino también gestionar la transformación en todas estas dimensiones: tecnología, procesos, todo el camino a la organización. Cuando se trata de la nube, DevOps, contenedores y microservicios todos juntos, debe confiar en un ecosistema que pueda ayudarlo a tener éxito en un corto período de tiempo y evitar los callejones sin salida ".

Contenedores, explicados