Ir a

¿Qué son los contenedores?

Los contenedores son paquetes de software que incluyen todos los elementos necesarios para ejecutar tus productos en cualquier entorno. Como virtualizan el sistema operativo, se pueden ejecutar en cualquier parte, desde un centro de datos privado hasta la nube pública o incluso el portátil personal de un desarrollador. Desde Gmail a YouTube, pasando por la Búsqueda, en Google todo se hace en contenedores. La creación de contenedores permite a nuestros equipos de desarrollo moverse con rapidez, desplegar software con eficacia y funcionar a una escala sin precedentes. Hemos aprendido mucho sobre cómo ejecutar las cargas de trabajo en contenedores y hemos compartido esos conocimientos con la comunidad en todo momento: desde la primera etapa en que contribuimos con los cgroups al kernel de Linux hasta que extrajimos los diseños de nuestras herramientas internas y compartimos su código con la comunidad en el proyecto Kubernetes.

Definición de los contenedores

Los contenedores son paquetes ligeros que incluyen el código de las aplicaciones junto con sus dependencias, como versiones concretas de entornos de ejecución de ciertos lenguajes de programación y bibliotecas indispensables para ejecutar los servicios de software.

Con los contenedores resulta muy fácil compartir recursos de CPU, memoria, almacenamiento y red a nivel de sistema operativo. Además, constituyen un mecanismo de empaquetado lógico en el que se pueden abstraer las aplicaciones del entorno en el que se ejecutan realmente.

¿Cuáles son las ventajas de los contenedores?

Separación de responsabilidades

La creación en contenedores permite separar de forma clara las responsabilidades, ya que los desarrolladores se centran en la lógica y las dependencias de las aplicaciones, mientras que los equipos de operaciones de TI se dedican a desplegarlas y gestionarlas sin preocuparse por detalles concretos, como versiones de software o configuraciones específicas.

Portabilidad de las cargas de trabajo

Como los contenedores se pueden ejecutar casi en cualquier lugar, resulta facilísimo desarrollarlos y desplegarlos en sistemas operativos Linux, Windows y Mac; en máquinas virtuales o servidores físicos; en equipos de desarrolladores o centros de datos on‑premise; y, por supuesto, en la nube pública.

Aislamiento de aplicaciones

Los contenedores virtualizan los recursos de CPU, memoria, almacenamiento y red a nivel de sistema operativo, lo que proporciona a los desarrolladores una vista del sistema operativo aislado lógicamente de las demás aplicaciones.

Soluciona los retos más complejos que se te presenten con Google Cloud

Los nuevos clientes reciben 300 USD en crédito gratis para invertirlos en Google Cloud.
Primeros pasos
Habla con un especialista del equipo de ventas de Google Cloud para hablar sobre tu reto único con más detalle.
Contactar

¿Contenedores o máquinas virtuales?

Es probable que sepas cómo funcionan las máquinas virtuales: un sistema operativo invitado, como Linux o Windows, se ejecuta en un sistema operativo anfitrión con acceso al hardware subyacente. Piensa en los contenedores como si fueran máquinas virtuales. Al igual que ellas, los contenedores permiten empaquetar las aplicaciones con bibliotecas y otras dependencias, de modo que proporcionan entornos aislados para ejecutar servicios de software. Sin embargo, como puedes ver a continuación, ahí acaban las similitudes, ya que los contenedores ofrecen una solución mucho más ligera y con innumerables ventajas para los desarrolladores y los equipos de operaciones de TI.

  • Los contenedores son mucho más ligeros que las máquinas virtuales.
  • Los contenedores virtualizan a nivel de sistema operativo y las máquinas virtuales, a nivel de hardware.
  • Los contenedores comparten el kernel del sistema operativo y no utilizan tanta memoria como la que necesitan las máquinas virtuales.

¿Para qué se usan los contenedores?

Los contenedores constituyen un mecanismo de empaquetado lógico en el que las aplicaciones pueden extraerse del entorno en que realmente se ejecutan. Esta desvinculación facilita el despliegue uniforme de las aplicaciones basadas en ellos con independencia de que el entorno sea un centro de datos privado, la nube pública o el portátil personal de un desarrollador.

Desarrollo ágil

Los contenedores permiten que los desarrolladores avancen con mucha más rapidez, ya que se pueden despreocupar de las dependencias y los entornos.

Operaciones eficientes

Los contenedores son ligeros y te permiten utilizar los recursos de computación indispensables, ni más ni menos. Así puedes ejecutar tus aplicaciones de manera eficiente.

Ejecución en cualquier lugar

Los contenedores se pueden ejecutar casi en cualquier lugar. Donde quieras ejecutar el software, podrás usar contenedores.

Google Kubernetes Engine (GKE) tiene el mismo bagaje que Kubernetes y es el primer servicio gestionado listo para producción que sirve para ejecutar aplicaciones en contenedores. Además, te ayuda a poner en práctica una estrategia de Kubernetes eficaz para tus cargas de trabajo en la nube.

Con Anthos, Google te ofrece una experiencia de Kubernetes uniforme con tus aplicaciones on‑premise y en diversas nubes. Gracias a Anthos, dispones de un método fiable, eficiente y seguro para ejecutar clústeres de Kubernetes en cualquier lugar.