Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Imagínese que quiere desarrollar una aplicación. Usted trabaja en una computadora
portátil, y su entorno tiene una configuración específica. Las configuraciones pueden
variar un poco respecto de las de otros desarrolladores. La aplicación en proceso de
desarrollo se basa en esa configuración y depende de archivos, bibliotecas y
dependencias específicos. Mientras tanto, su empresa cuenta con entornos de desarrollo
y producción que están estandarizados con sus propias configuraciones y sus propios
conjuntos de archivos compatibles. Desea emular esos entornos tanto como sea posible
hacerlo de forma local, pero sin los gastos que genera tener que recrear los entornos del
servidor. Entonces, ¿cómo logra que su aplicación funcione en estos entornos, que pase
el control de calidad y que se implemente sin demasiadas dificultades, sin tener que
volver a escribirla ni que solucionar muchos problemas? Es simple: con los
contenedores.
El contenedor donde se encuentra su aplicación tiene las bibliotecas, las dependencias y
los archivos necesarios para que pueda pasar a la etapa de producción sin ninguna
consecuencia grave. En realidad, el contenido de una imagen en contenedor puede
considerarse como una instalación de una distribución de Linux, ya que incluye
paquetes RPM, archivos de configuración, etc. Sin embargo, la distribución de las
imágenes en contenedores es mucho más fácil que la instalación de nuevas copias de los
sistemas operativos. Si se evitan las crisis, todos estarán felices.
Este es un ejemplo sencillo, pero los contenedores de Linux se pueden aplicar a los
problemas de muchas formas diferentes, donde se requiere la máxima portabilidad,
capacidad de configuración y aislamiento. El objetivo de los contenedores de Linux es
generar desarrollos con mayor rapidez y satisfacer las necesidades comerciales a medida
que van surgiendo. En algunos casos, como con la transmisión de datos en tiempo real
de Apache Kafka, los contenedores son fundamentales porque son la única forma de
proporcionar la escalabilidad que necesita una aplicación. Los contenedores siempre
satisfacen la demanda, sin importar la infraestructura en que se encuentren (on-premise,
en la nube o en una combinación de ambas). Sin embargo, la elección de la plataforma
correcta para los contenedores es tan importante como los contenedores mismos.
Los contenedores de Linux son otro salto evolutivo en nuestra forma de desarrollar,
implementar y administrar las aplicaciones. Las imágenes en contenedores de Linux
brindan portabilidad y control de versiones, lo cual garantiza que lo que funciona en la
computadora portátil del desarrollador también funcione en la etapa de producción. En
comparación con las máquinas virtuales, un contenedor de Linux en ejecución consume
menos recursos, tiene una interfaz estándar (inicio, interrupción, variables del entorno,
etc.), mantiene el aislamiento de las aplicaciones y se gestiona con mayor facilidad
como parte de una aplicación más grande (varios contenedores). Además, las
aplicaciones en múltiples contenedores se pueden organizar en distintas nubes.
Asimismo, el LXC ofrece un entorno de virtualización a nivel del sistema operativo que
puede instalarse en varios sistemas basados en Linux. Su distribución de Linux puede
ofrecerlo a través de su repositorio de paquetes.
Cada vez se combinaron más tecnologías, con mayor rapidez, para hacer realidad este
enfoque. Los grupos de control (cgroups) son una función del kernel que controla y
limita el uso de los recursos para un proceso o grupo de procesos. Además, los cgroups
utilizan systemd, un sistema de inicialización que configura el espacio de usuario y
gestiona sus procesos, para proporcionar mayor control de estos procesos aislados.
Ambas tecnologías, que agregan más control a Linux, también fueron el marco para que
los entornos pudieran tener éxito al permanecer separados.
Aparición de Docker
En 2008, Docker apareció en escena (a través de dotCloud) con su tecnología de
contenedores que lleva el mismo nombre. La tecnología Docker incorporó una serie de
conceptos y herramientas nuevos: una interfaz de línea de comandos sencilla para
ejecutar y diseñar imágenes nuevas en capas, un daemon de servidor, una biblioteca de
imágenes en contenedores prediseñadas y el concepto de un servidor de registros. Estas
tecnologías combinadas permitieron que los usuarios diseñaran rápidamente nuevos
contenedores en capas y los compartieran con otros sin ninguna dificultad.
¿Qué es Docker?
Conozca la historia de los contenedores
Las tecnologías de Red Hat eliminan las conjeturas en cuanto a la forma correcta de
hacer contenedores. ¿Necesita que sus equipos de desarrollo participen en una
plataforma diseñada para los contenedores? ¿Desea ejecutar la infraestructura para los
contenedores en un sistema operativo de primera categoría, o quiere ofrecer soluciones
de almacenamiento para la gran cantidad de datos que estos generan? Entonces las
soluciones de Red Hat son ideales para usted.
Más información
ACERCA DE
información corporativa
Blog
Modelo de desarrollo
Sala de prensa
Oportunidad de empleo
Eventos
Cool Stuff Store
DESTACADO
Red Hat Enterprise Linux
Red Hat OpenShift Container Storage
Red Hat OpenShift Container Platform
Red Hat OpenStack Platform
HERRAMIENTAS
Mi cuenta
Portal de clientes
For partners
For developers
Red Hat Ecosystem Catalog
Biblioteca de recursos
COMPRAR
COMUNICARSE