Jump to section

El concepto de los contenedores

Copiar URL

Las aplicaciones son cada vez más complejas y la demanda para un desarrollo más rápido es cada vez mayor. Esto implica grandes exigencias para la infraestructura, los equipos de TI y los procesos. Los contenedores le permiten reducir los problemas y lograr iteraciones más rápidas en varios entornos.

Potencie la agilidad con los contenedores y la nube híbrida

Los contenedores son tecnologías que permiten empaquetar y aislar las aplicaciones junto con todo el entorno de ejecución, es decir, con todos los archivos que requieren para ejecutarse. Esto permite mover la aplicación que se encuentra dentro del contenedor entre los entornos (de desarrollo, de prueba, de producción, etc.), sin perder ninguna de sus funciones. También son una parte importante de la seguridad de la TI. Si incorpora la seguridad al canal de los contenedores y protege su infraestructura, los contenedores serán confiables y podrán ajustarse. Además, las aplicaciones organizadas en contenedores se pueden trasladar de manera sencilla entre los entornos de nube pública, privada e híbrida y los centros de datos (o las instalaciones) con un comportamiento uniforme y funcionalidad.

 

 

Los contenedores reducen los conflictos entre los equipos de desarrollo y operaciones, ya que separan las áreas de responsabilidad. Los desarrolladores se concentran en sus aplicaciones, y el equipo de operaciones se ocupa de la infraestructura. Además, gracias a que los contenedores se basan en la tecnología de open source, usted obtiene los últimos y mejores avances tan pronto estén disponibles. Las tecnologías de contenedores, entre las que se incluyen Podman, SkopeoBuildahCRI-O, Kubernetes y Docker, permiten que su equipo simplifique, agilice y organice el desarrollo y la implementación de las aplicaciones.

Los contenedores comparten el mismo kernel del sistema operativo y aíslan los procesos de las aplicaciones del resto del sistema para que todo se pueda migrar, abrir y utilizar en las configuraciones de desarrollo, pruebas y producción. Gracias a su ligereza y portabilidad, ofrecen la oportunidad de agilizar el desarrollo de las aplicaciones y satisfacer las necesidades empresariales a medida que surgen. 

 

Los contenedores posibilitan que los equipos de desarrollo se concentren en sus aplicaciones mientras que los de operaciones se ocupan de la infraestructura. La organización en contenedores le permite gestionar las implementaciones en toda la empresa.

Kubernetes es una plataforma open source que automatiza las operaciones de los contenedores de Linux. Elimina muchos de los procesos manuales involucrados en la implementación y el ajuste de las aplicaciones en contenedores. Además, le brinda la plataforma necesaria para programar y ejecutar los contenedores en clústeres de máquinas virtuales o físicas. La arquitectura de Kubernetes divide un clúster en elementos que trabajan en conjunto para mantener su estado deseado.

Red Hat® OpenShift® 4 es una plataforma Kubernetes para la empresa. Ofrece a los desarrolladores entornos de autoservicio para poder diseñar sus aplicaciones, y brinda operaciones automatizadas integrales en cualquier infraestructura.

Los contenedores, los clústeres y Ansible se combinan con la automatización basada en eventos

Con OpenShift como base, puede utilizar Red Hat Advanced Cluster Management y Red Hat Ansible® Automation Platform de manera conjunta para implementar y gestionar de manera eficiente múltiples clústeres de Kubernetes abarcando diferentes entornos.

Puede implementar los contenedores para una serie de cargas de trabajo y casos prácticos, sin importar su tamaño. Los contenedores brindan a su equipo la tecnología subyacente que se necesita para lograr un estilo de desarrollo nativo de la nube, y así poder comenzar con DevOps, CI/CD (integración e implementación continuas) e incluso con la informática sin servidor.

Las aplicaciones basadas en contenedores funcionan en arquitecturas de nube altamente distribuidas. El middleware de tiempo de ejecución de las aplicaciones ofrece las herramientas que respaldan un entorno unificado para el desarrollo, la distribución, la integración y la automatización.

También puede implementar tecnologías de integración en contenedores, que le permitirán expandir fácilmente la forma de conectar las aplicaciones y los datos, como la transmisión de datos en tiempo real a través de Apache Kafka. Si quiere diseñar una arquitectura de microservicios, los contenedores son la unidad de implementación ideal para cada microservicio y la malla de servicios que los conecta.

Si su empresa necesita la máxima portabilidad entre varios entornos, los contenedores siempre serán la mejor opción.

 

Ningún sistema es seguro desde el principio. Dado que las listas de verificación y las políticas de seguridad estáticas no se adaptan a los contenedores en la empresa, debe saber cómo implementar una mejor seguridad en el proceso del contenedor. Vea esta serie de webinars para conocer la opinión de los especialistas sobre la necesidad y la importancia de la seguridad en toda la stack y el ciclo de vida de las aplicaciones en contenedores.

Si bien ambos conceptos suelen confundirse, Docker no es lo mismo que un contenedor de Linux tradicional. Originalmente, Docker se diseñó a partir de la tecnología LXC, la cual por lo general se asocia con los contenedores "tradicionales" de Linux, pero desde aquel entonces se ha ido alejando de esa dependencia. LXC funcionaba como una virtualización ligera, pero no ofrecía una buena experiencia al desarrollador ni al usuario. La tecnología Docker no solo ofrece la capacidad para ejecutar los contenedores, sino que también facilita su creación y diseño, así como el envío y el control de versiones de las imágenes de contenedores, entre otras funciones.

Los contenedores de Linux tradicionales usan un sistema init que puede gestionar varios procesos. Esto significa que las aplicaciones completas se pueden ejecutar como una sola. La tecnología Docker favorece la división de las aplicaciones en sus procesos individuales y ofrece las herramientas para hacerlo. Este enfoque de separación de los elementos tiene sus ventajas.

La virtualización proporciona los recursos que los contenedores pueden usar. Las máquinas virtuales (VM) son entornos en los cuales se pueden ejecutar los contenedores, si bien estos no dependen de los entornos virtuales. Algunos sistemas de software, como Red Hat® OpenShift® Virtualization, pueden organizar los contenedores y gestionar las máquinas virtuales, pero eso no significa que ambas tecnologías sean iguales.
Las máquinas virtuales tienen funciones restringidas porque los hipervisores que las crean también dependen de los recursos limitados de una máquina física. Por otro lado, los contenedores comparten el mismo kernel de sistema operativo y las mismas aplicaciones de paquete.
La virtualización proporciona los recursos que los contenedores pueden usar. Las máquinas virtuales (VM) son entornos en los cuales se pueden ejecutar los contenedores, si bien estos no dependen de los entornos virtuales. Algunos sistemas de software, como Red Hat® OpenShift® Virtualization, pueden organizar los contenedores y gestionar las máquinas virtuales, pero eso no significa que ambas tecnologías sean iguales.
Las máquinas virtuales tienen funciones restringidas porque los hipervisores que las crean también dependen de los recursos limitados de una máquina física. Por otro lado, los contenedores comparten el mismo kernel de sistema operativo y las mismas aplicaciones de paquete.

Red Hat trabaja en las tecnologías de contenedores en conjunto con la gran comunidad open source. Nuestros ingenieros mejoran las funciones, la confiabilidad y la seguridad para garantizar que sus contenedores funcionen y permanezcan estables. Red Hat también es el segundo mayor colaborador con las bases de código Docker y Kubernetes, y trabaja con la Open Container Initiative y la Cloud Native Computing Foundation. Como sucede en todos los proyectos open source, Red Hat contribuye tanto con código como con mejoras a la base del código upstream, y comparte todos los avances que logró en el proceso.

Las soluciones basadas en contenedores y las ofertas de capacitación de Red Hat le ofrecen la infraestructura, la plataforma, el control y los conocimientos necesarios para aprovechar todo lo que ofrecen los contenedores.

 

 

 

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Las empresas de distintos sectores ansían implementar los contenedores de Linux en todo el ciclo de vida de desarrollo del software por varias razones, entre las que se destacan las mejoras en la velocidad, la eficiencia y la simplicidad.

Source: The state of containerization: A technology adoption profile conducted by Forrester Consulting and commissioned by Red Hat

JUNIO DE 2016

Más información

Artículo

Diferencias entre los contenedores y las máquinas virtuales

Las máquinas virtuales (VM) y los contenedores de Linux son entornos informáticos empaquetados que combinan varios elementos de TI y los aíslan del resto del sistema.

Artículo

¿Qué es la organización de los contenedores?

La organización de los contenedores automatiza la implementación, la gestión, el ajuste y la conexión en red de los contenedores.

Artículo

¿Qué es un contenedor de Linux?

Un contenedor de Linux es un conjunto de procesos separados del resto del sistema, los cuales pueden ejecutarse desde una imagen diferente que proporciona todos los archivos necesarios para que funcionen.

Más información sobre los contenedores

Productos

Plataforma de aplicaciones empresariales que ofrece servicios probados para lanzar aplicaciones al mercado en la infraestructura que usted escoja.

Contenido adicional

Ebook

Los seis aspectos más importantes a tener en cuenta a la hora de seleccionar una plataforma de Kubernetes

PODCAST

Command Line Heroes Temporada 1, Episodio 5:

El Derby de los Containers

Capacitación

Curso de capacitación gratuito

Running Containers with Red Hat Technical Overview

Curso de capacitación gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Curso de capacitación gratuito

Developing Cloud-Native Applications with Microservices Architectures