Background team.png

Containers - Contenedores Informáticos

Luis Rodríguez

 red hat contededores.png

Para las tecnologías de la información, es bien sabido que de nada sirve un Servidor de Cómputo (equipo de cómputo físico o virtual, que permite ofrecer aplicaciones específicas a Usuarios finales), sin la piedra angular de la Infraestructura.

En estos equipos es posible, tras la instalación de un robusto, seguro y escalable Sistema Operativo (como Red Hat Enterprise Linux), aprovisionar aplicaciones capaces de atender las peticiones de un Usuario, para subsanar cualquier necesidad informática.

Servidores de Correo Electrónico, servidores de Páginas Web (HTTP Servers), servidores de Aplicaciones (como Red Hat JBoss Application Server), etc.

red hat linux.png

 Durante mucho tiempo, aunque los Servidores de Cómputo se hacían cada vez más poderosos y con capacidad para poder ejecutar múltiples aplicaciones simultáneamente, las necesidades de red, de páginas de memoria, comandos, registros de sistema operativo, etc. de dichas aplicaciones podían interferir una contra la otra. Esto evitaba pues hacer un uso mas completo de los equipos físicos.

Aunque el concepto de Hipervisor nace en los años sesenta, inventado por la IBM para poder hacer un uso más intensivo de los "poderosos" Mainframes de aquel entonces, es en 1998 que una pareja egresada de la Universidad de California en Berkeley crea el primer hipervisor para la en aquel tiempo incipiente arquitectura X86. Con este paso, se crea la Virtualización como ahora la conocemos.

Sí. La Virtualización permite que se ejecuten en el mismo Servidor Físico varias Máquinas Virtuales. Cada una de estas Máquinas Virtuales es una entidad aislada, cuenta con su propio Sistema Operativo y en cada uno de éstos, es posible instalar las aplicaciones. Todo ello parece ser la solución final para el problema.

red hat virtualization.jpg

Pero entonces viene la pregunta: ¿Por qué instalar un sistema operativo en cada Máquina Virtual? La respuesta obvia es que, debido a que cada Máquina Virtual es una entidad aislada (por defecto) e independiente con respecto a las demás (aunque estén ejecutándose en el mismo Hardware Físico), cada una necesita su Sistema Operativo.

Esto se traduce en requerimientos de espacio en disco, procesador y memoria. ¿Es posible entonces, para aquellos casos en los que TODAS o una gran cantidad de las aplicaciones, pueda ejecutarse de manera aislada (empaquetada, encapsulada) sobre el mismo Sistema Operativo?

La respuesta es, SÍ. Para esto es que nacieron los Contenedores Informáticos.

¿Qué es lo que se viene a la mente cuando mencionamos la palabra "Contenedor"? Obviamente que esas inmensas cajas metálicas que, apiladas por cientos sobre buques plataforma, nos permiten trasladar de manera segura cualquier mercancía o bien usando los bastos océanos de nuestro planeta.

Baste decir sólo como referencia, que aproximadamente el 95% de los bienes que se producen en cualquier país del mundo, son trasladados (exportados-importados) usando contenedores, buques plataforma y los océanos.

 contenedores informátucos.png

De manera muy semejante, los Contenedores Informáticos utilizan una pieza de software a modo de un buque plataforma (ese software casi siempre es Docker), aprovechando ese océano de recursos informáticos (procesador, memoria, red y almacenamiento) sobre el mismo Sistema Operativo.

¿Qué es lo que dice Docker? -"Una imagen de contenedor es un paquete ligero, independiente, ejecutable de una pieza de software que incluye todo lo necesario para ejecutarlo: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema, configuraciones."

virtualización y contenedores.jpg

Vale la pena agregar que: "Disponible para aplicaciones basadas en Linux, el software en contenedor siempre funcionará igual, independientemente del entorno."

Como ya lo habíamos mencionado líneas arriba: "Los contenedores aíslan el software de su entorno, por ejemplo, las diferencias entre los entornos de desarrollo y de etapas, y ayudan a reducir los conflictos entre los equipos que ejecutan software diferente en la misma infraestructura."

Ahora bien. ¿Qué es Docker? Es proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux.

docker.png

¿Por qué entonces Contenedores y no Máquinas Virtuales? Sólo para comenzar, los Contenedores son más ligeros, requieren de menos recursos informáticos y por ende más versátiles.

Al igual que las Máquinas Virtuales, ofrecen portabilidad, escalabilidad y son tan seguros como lo es el Sistema Operativo donde se están ejecutando.

Lo que hace a los Contenedores, para ciertas ocasiones, no muy adecuados, es para esos escenarios en loa que se requieren Sistemas Operativos de distinta versión (sobre todo versión de Kernel), pues el requisito indispensable para que puedan ejecutarse los contenedores en el mismo servidor físico, es precisamente que todas éstas puedan ejecutarse sobre la misma versión del Kernel.

¿Cómo podemos ofrecer una solución segura, confiable, escalable y completa de Contenedores con Software Red Hat?

Red Hat ha realizado un gran trabajo con la mayor comunidad de fuente abierta, en tecnologías de contenedores. Los ingenieros de Red Hat ayudan a mejorar las funciones, la confiabilidad y la seguridad para garantizar que sus contenedores funcionen y permanezcan estables y seguros.

contenedores varios.png

Red Hat también es el segundo mayor contribuyente a las bases de código Docker y Kubernetes y trabaja con Open Container Initiative y Cloud Native Computing Foundation. Al igual que con todos los proyectos de código abierto, Red Hat contribuye con el código y las mejoras a los avances en la compartición de código en sentido ascendente a lo largo del camino.

Red Hat ofrece todas las piezas que necesitas para empezar a usar contenedores:

Infraestructura con Red Hat Enterprise Linux: Manténgase ligero y ejecute sus contenedores Linux con un sistema operativo optimizado, seguro y de mínima huella.

Platadorma con Red Hat Open Shift: Desarrolle, implemente y administre sus contenedores en cualquier lugar, a cualquier escala. Red Hat® OpenShift es una plataforma de aplicaciones de contenedores que incluye Docker y Kubernetes. Independientemente de la arquitectura de sus aplicaciones, OpenShift le permite construir, desarrollar e implementar fácil y rápidamente en casi cualquier infraestructura, pública o privada

En conclusión, hoy puede gestionar nubes privadas con OpenStack y Linux para comenzar de manera segura, confiable y escalable implementando Contenedores Informáticos, con Red Hat Enterpride Linux y Red Hat Open Shift.

 

                      Te invitamos a conocer más sobre Red Hat y nuestra solución de Centro de Datos. 

Si lo deseas, puedes gratuitamente:

Solicitar una consulta técnica

 

   Nos interesa tu opinión, dejános saber tus comentarios, con gusto nos pondremos en contacto contigo.

 (Tu información se mantendrá protegida)

Más de blogs