¿Cómo puede ayudar la contenedorización con la velocidad y eficiencia del proyecto?

Autor: Roger Morrison
Fecha De Creación: 28 Septiembre 2021
Fecha De Actualización: 19 Junio 2024
Anonim
¿Cómo puede ayudar la contenedorización con la velocidad y eficiencia del proyecto? - Tecnología
¿Cómo puede ayudar la contenedorización con la velocidad y eficiencia del proyecto? - Tecnología

Contenido


Fuente: Sashazamarasha / Dreamstime.com

Para llevar:

Los contenedores permiten a los desarrolladores trabajar de manera más rápida y eficiente que con las máquinas virtuales.

Si ha escuchado algo sobre la virtualización de redes, la práctica de abstraer redes del metal desnudo y aprovisionarlas con recursos virtuales, probablemente haya escuchado sobre contenedores. Si ha leído lo suficiente como para descubrir cómo los contenedores de TI difieren de, digamos, los contenedores de envío, sabrá un poco sobre su estructura y composición.

Un contenedor es un recurso de virtualización que comparte el núcleo de un sistema operativo clonado con otros contenedores. Requiere menos esfuerzo de configuración que una máquina virtual en general, y también tiene algunos otros beneficios clave. Los sistemas que incluyen contenedores Docker y Kubernetes están permitiendo a las empresas construir y escalar de formas nuevas y emocionantes.


¿Por qué los contenedores son tan populares y cómo contribuyen a la eficiencia y a las operaciones mejoradas? Aquí hay algunas ideas de algunos de los pioneros de la contenedorización que han puesto en práctica esta filosofía en sus empresas y organizaciones. (Para obtener más información sobre los contenedores, consulte Cómo los contenedores ayudan a las aplicaciones empresariales).

Encapsulación, microservicios y artefactos

Uno de los puntos de conversación que recibe con mayor frecuencia de los ingenieros que utilizan con entusiasmo las configuraciones de contenedores es que los contenedores mismos pueden albergar una base de código completa con todas sus dependencias, una que está lista para implementarse.

Utilizando un archivo estático llamado imagen de contenedor, los ingenieros pueden combinar bibliotecas del sistema y otros recursos con toda o parte de una aplicación. Esto a su vez impulsa la creación y entrega de microservicios, donde diferentes contenedores alojan diferentes funciones que se pueden unir para crear un ecosistema ágil.


"Creemos que el contenedor, o más bien, la imagen del contenedor, es el nuevo artefacto de entrega de software", dice Chris Ciborowski, CEO de NebulaWorks, quien ha estado trabajando con contenedores desde sus primeros días en la década de 2000. “¿Qué quiero decir con eso y por qué? Un artefacto de entrega es la versión ejecutable de una aplicación de desarrolladores que está lista para implementarse. En el pasado, esto era algo que incluía solo el código ejecutable en sí, lo que dejaba la resolución de las dependencias de tiempo de ejecución a las operaciones. Al aprovechar la imagen del contenedor, los desarrolladores pueden incluir todas sus dependencias, lo que reduce en gran medida la posibilidad de fallas en el tiempo de ejecución debido a un error humano durante la implementación de la aplicación ".

"Los contenedores, que permiten a las organizaciones migrar fácilmente tanto las aplicaciones como sus dependencias entre máquinas, tienen mucho sentido para las organizaciones que realizan el desarrollo interno de software", dice Peter Tsai, analista de tecnología senior en SpiceWorks, señalando que los contenedores todavía están Una tecnología relativamente nueva. "Las soluciones de terceros para contenedores no son tan robustas como lo son en el entorno de virtualización. Según los datos de Spiceworks, en 2018 solo el 19 por ciento de las organizaciones usaban contenedores, aunque se esperaba que ese número aumentara al 35 por ciento para 2020 ”.

Scott Buchanan, vicepresidente de marketing de Heptio, explica esto en forma de una útil analogía logística.

Sin errores, sin estrés: su guía paso a paso para crear software que cambie su vida sin destruir su vida

No puede mejorar sus habilidades de programación cuando a nadie le importa la calidad del software.

"Piensa en mudarte", dice Buchanan. "Vas a necesitar muchas cajas de cartón. Entonces, despliega un montón de ellos en su hogar y luego los llena con todo lo que le importa: aplicaciones. En lugar de cerrarlos y perder el acceso a sus pertenencias, permanecen abiertos para que pueda reorganizar sus cosas entre cajas según sea necesario. Y, cuando necesita mover esas cajas, es mucho más simple que poner su casa sobre ruedas. Esas cajas de cartón son contenedores, y le ofrecen la portabilidad para mover sus cosas entre ubicaciones, incluidas las nubes públicas y privadas ".

La filosofía de DevOps

Los contenedores también están ayudando a las empresas a buscar algo llamado "DevOps" que es una especie de santo grial en la tecnología empresarial. Es la idea de que está uniendo los departamentos de desarrollo y operaciones, ayudando a los equipos a colaborar mejor, y eso mejora la tubería y crea un sistema de lanzamiento más ágil. (¿Desea obtener más información sobre DevOps? Consulte los gerentes de DevOps explican lo que hacen).

"Los desarrolladores no solo obtienen un beneficio, también lo hacen las operaciones", explica Ciborowski, describiendo algunas de estas funciones de DevOps. “Dado que la imagen del contenedor es portátil, los equipos de operaciones pueden ejecutar la imagen del contenedor en CUALQUIER host que tenga un tiempo de ejecución del contenedor compatible, como Docker, y a medida que la adopción crezca, aprovechen las herramientas de orquestación como Kubernetes para casi CUALQUIER conjunto de aplicaciones, en CUALQUIER tipo de infraestructura, para ejemplo, local y en la nube ".

El CEO Ali Golshan de StackRox explica aún más la filosofía de DevOps inherente al diseño de contenedores, y describe cómo la contenedorización puede ayudar a mejorar una tubería.

"La contenedorización permite a las organizaciones lanzar aplicaciones e introducir nuevas funcionalidades para los clientes mucho más rápido", dice Golshan. “Debido a que los contenedores aíslan el código en unidades más pequeñas, los desarrolladores pueden trabajar de manera más independiente para mejorar la funcionalidad. La tecnología de contenedores también reduce la carga de las pruebas, lo que acelera la introducción de software, porque los desarrolladores pueden probar solo el nuevo código, confiando en que no han "roto" otra parte de la aplicación ".

Dan Bartow de ConDati describe cómo la contenedorización de Kubernetes ayudó a su empresa a evolucionar.

"Antes de Kubernetes, teníamos que forzar manualmente cada entorno y realizar actualizaciones manualmente sacando nuevos contenedores, deteniendo los viejos, comenzando nuevos y repitiendo eso manualmente para cada cliente", dice Bartow. “Kubernetes convirtió horas y horas de trabajo en días de lanzamiento en solo unos minutos. Con un par de clics, podemos hacer una actualización de reinicio continuo de cada contenedor en cualquiera o en todos los entornos. Esto sucede a la perfección ".

Cuando este tipo de operaciones ayudan a los desarrolladores a trabajar más estrechamente con los equipos de operaciones y romper las barreras entre los departamentos, pueden habilitar un mejor modelo de DevOps, haciendo que la empresa sea más competitiva en su industria.

Seguridad

Además de todo lo que los contenedores prometen en términos de funcionalidad, también tienen algunos beneficios de seguridad importantes. Golshan tiene mucho que decir acerca de cómo una "superficie de ataque delgada" en la implementación de contenedores reduce el riesgo.

"La superficie de ataque con contenedores se simplifica y se complica", dice Golshan. "Por un lado, cada" fragmento "de código es más pequeño, lo que reduce la superficie de ataque. Además, los contenedores vienen con mucha información declarativa sobre cómo deben configurarse, etiquetarse y usarse, lo que puede mejorar la seguridad ".

Y, agrega, eso no es todo.

“Por otro lado, los contenedores introducen nuevas superficies de ataque de dos maneras. Lo efímero es un elemento. Debido a que los contenedores van y vienen rutinariamente, está bien tomar medidas de seguridad drásticas, como matar un contenedor si actúa 'incorrectamente'. Pero esa efímera también significa que los atacantes pueden cubrir sus huellas más fácilmente y frustrar el análisis forense al lanzar un ataque, extraer datos y luego matando el contenedor cuando hayan terminado. El segundo elemento de la superficie de ataque más amplia viene con otros elementos del ecosistema, especialmente el orquestador. Los orquestadores brindan a las organizaciones una forma de escalar la creación, implementación y administración de contenedores, pero la industria ha visto múltiples ataques y vulnerabilidades vinculados al orquestador. Tesla vio su infraestructura de Kubernetes comprometida de una manera que permitía a los atacantes extraer criptomonedas, y un informe detallaba cómo un atacante podría haber comprometido los grupos de Kubernetes de Shopify ".

En el caso de Bartow, una auditoría de seguridad de un tercero real confirmó que la superficie de ataque más pequeña de los contenedores es una ventaja para ConDati.

"Acabamos de completar una prueba de penetración de terceros ... la primera que hicimos, y nos dijeron textualmente que tenemos una" pequeña superficie de ataque "", dice Bartow. "Kubernetes es una gran parte de por qué eso es cierto".

Todo lo anterior apunta hacia un gran potencial para los contenedores en el mundo de TI empresarial del mañana. Piense en todas las formas en que estos beneficios esenciales pueden aplicarse a cualquier modelo comercial de vanguardia.