Los contenedores son paquetes de software que contienen todos los elementos necesarios para ejecutarse en cualquier entorno. De esta manera, los contenedores virtualizan el sistema operativo y se ejecutan en cualquier lugar, desde un centro de datos privado hasta la nube pública o incluso la laptop personal de un desarrollador. Todos los servicios de Google se ejecutan en contenedores, desde Gmail hasta YouTube y la Búsqueda. El uso de contenedores permite a nuestros equipos de desarrollo moverse rápidamente, implementar software de manera eficaz y operar a una escala sin precedentes. Aprendimos mucho sobre la ejecución de cargas de trabajo en contenedores y compartimos ese conocimiento con la comunidad durante el proceso: desde el principio, cuando contribuimos con cgroups al kernel de Linux, hasta la selección de diseños de nuestras herramientas internas para ofrecerlos como código abierto en el proyecto de Kubernetes.
Los contenedores son paquetes ligeros de código de la aplicación junto con dependencias como versiones específicas de entornos de ejecución de lenguaje de programación y bibliotecas que se necesitan para ejecutar tus servicios de software.
Los contenedores hacen que sea sencillo compartir recursos de red, almacenamiento, memoria y CPU a nivel del sistema operativo y ofrecen un mecanismo de empaquetamiento lógico en el que las aplicaciones se pueden abstraer del entorno en el que se ejecutan.
División de la responsabilidad
La creación de contenedores brinda una división clara de la responsabilidad, ya que los desarrolladores se enfocan en las dependencias y la lógica de las aplicaciones, y los equipos de operaciones de TI pueden concentrarse en la implementación y la administración en lugar de en detalles de las aplicaciones como la configuración y las versiones específicas de software.
Portabilidad de la carga de trabajo
Los contenedores se pueden ejecutar de forma virtual en cualquier lugar, lo que facilita significativamente el desarrollo y la implementación en sistemas operativos Linux, Windows y Mac, en máquinas virtuales o servidores físicos, en la máquina de un desarrollador o en centros de datos locales y, por supuesto, en la nube pública.
Aislamiento de aplicaciones
Los contenedores virtualizan recursos de red, almacenamiento, memoria y CPU a nivel del sistema operativo, lo que permite a los desarrolladores tener una vista del SO aislado de forma lógica de otras aplicaciones.
Quizás ya conozcas las VM: un sistema operativo invitado como Linux o Windows que se ejecuta en un sistema operativo host con acceso al hardware subyacente. Se suele comparar a los contenedores con las máquinas virtuales (VMs). Como las máquinas virtuales, los contenedores te permiten empaquetar tu aplicación junto con bibliotecas y otras dependencias, y ofrecen entornos aislados para ejecutar los servicios de tu software. Sin embargo, como verás más adelante, no hay más similitudes, ya que los contenedores ofrecen una unidad mucho más liviana para que trabajen los desarrolladores y equipos de operaciones de TI, además de una gran cantidad de beneficios.
Los contenedores ofrecen un mecanismo de empaquetado lógico en el que las aplicaciones se pueden abstraer del entorno en el que se ejecutan. Esta separación permite que las aplicaciones basadas en contenedores se implementen de manera fácil y uniforme, independientemente de si el entorno objetivo es un centro de datos privado, la nube pública o incluso la laptop personal del desarrollador.
Desarrollo ágil
Los contenedores permiten que los desarrolladores trabajen mucho más rápido, ya que no tienen que lidiar con los problemas de los entornos y las dependencias.
Operaciones eficientes
Los contenedores son ligeros y te permiten usar solo los recursos de procesamiento que necesitas. Esto posibilita que ejecutes tus aplicaciones de forma eficiente.
Ejecución en cualquier lugar
Los contenedores pueden ejecutarse prácticamente en cualquier lugar. Donde sea que quieras ejecutar tu software, puedes usar contenedores.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.