¿Qué es un registro de contenedores?

Vista aérea de Tokio

Autores

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

¿Qué es un registro de contenedores?

Un registro de contenedores es un repositorio de datos (o varios repositorios) que almacena imágenes de contenedores para almacenamiento y acceso. Las imágenes de contenedor son archivos estáticos inmutables que contienen código ejecutable y se ejecutan de forma aislada en la infraestructura de TI.

Un beneficio clave de los registros de contenedores es su facilidad de conexión con sistemas o plataformas de orquestación de contenedores como Kubernetes y Docker.

Durante el desarrollo de aplicaciones basadas en contenedores, los equipos también pueden utilizar registros de contenedores en una capacidad de DevOps, lo que permite una integración optimizada con flujos de trabajo de integración continua (CI) y flujos de trabajo de entrega continua (CD). Ambos flujos de trabajo son actividades centrales dentro del desarrollo de software. CI y CD están basados en la automatización y creados para adaptarse a cambios frecuentes de código. Difieren principalmente en que CI prepara el código para su eventual lanzamiento, mientras que CD se refiere a la liberación real del código. Los registros de contenedores admiten ambos flujos de trabajo.

Hay dos tipos de registros de contenedores:

  • Los registros públicos tienen la característica de optimizar la transferencia de datos y un control de acceso relajado, pero carecen de protocolos de seguridad avanzados.
  • Los repositorios privados suelen emplear en situaciones que requieren operaciones más seguras y una protección más rigurosa de las cargas de trabajo.
Vista aérea de una autopista

Mantenga su cabeza en la nube


Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

¿Cómo funcionan los registros de contenedores?

Un registro de contenedores almacena imágenes de contenedores, lo que permite a los usuarios almacenar imágenes en el registro de contenedores (un proceso llamado "empuje") o descargarlas a un sistema diferente (un proceso llamado "extracción").

Un registro de contenedores se puede utilizar solo o junto con otros registros de contenedores. Si se combinan varios contenedores en una sola unidad operativa para la prestación de servicios en la nube, su funcionalidad imita un ecosistema cuyos habitantes trabajan en estrecha colaboración para ofrecer un resultado compartido.

Object Storage

Los registros de contenedores utilizan el almacenamiento de objetos para manifestar metadatos sobre imágenes de contenedores. Aunque esto proporciona un medio para transferir con éxito dichos metadatos, es, por naturaleza, limitado. Por ejemplo, en el caso de datos que pueden incluir varias imágenes, existen límites en cuanto al número de etiquetas de listado disponibles.

Contenedores de dependencia

Los contenedores de dependencia son otro método de almacenamiento. Permiten la gestión, registro y resolución de dependencias en una aplicación. En el contexto de la programación, las dependencias describen situaciones en las que un objeto o proceso debe ocurrir antes de que otro objeto pueda funcionar según lo ordenado.

Estas dependencias se gestionan mediante contenedores de dependencias, que ayudan a simplificar las pruebas, mejorar la escalabilidad y minimizar la necesidad de acoplamiento de código (una interdependencia demasiado fuerte entre los objetos que se están programando), lo que puede provocar la introducción de errores y problemas de control de versiones.

Autenticación

Dada la apremiante y constante necesidad de seguridad en línea, la autenticación de las personas a las que se concede acceso a los repositorios es de vital importancia. Eso depende de una serie de permisos específicos de ese registro de contenedores. Las licencias definen quién está autorizado a emplear los recursos informáticos de ese registro de contenedores.

Tiempos de ejecución de contenedores

El concepto de tiempos de ejecución es vital. Los tiempos de ejecución de contenedores son el software que permite que los contenedores funcionen dentro de un sistema host. Los tiempos de ejecución utilizan una serie de pasos para crear contenedores. Estos pasos abarcan todo el proceso de formación de contenedores e inicialización de su entorno según la guía de una imagen de contenedor que contiene la aplicación y sus dependencias.

Una vez que se forman los contenedores, el tiempo de ejecución permanece activamente involucrado: administra los ciclos de vida de los contenedores, realiza un seguimiento de su viabilidad continua y elimina sus recursos cuando ya no se necesitan.

Equilibrio de carga

Los registros de contenedores también admiten el equilibrio de carga. En el equilibrio de carga nativo del contenedor, el tráfico del equilibrador se enruta directamente a las áreas destinadas a recibir ese tráfico. De esta manera, los registros de contenedores funcionan de la mano con los equilibradores de carga, eliminando la necesidad de que el tráfico pase por un bucle de red adicional.

Academia de IA

Cómo lograr la preparación para la IA con la nube híbrida

Dirigida por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a obtener los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Beneficios de los registros de contenedores

Los registros de contenedores brindan numerosos beneficios, incluidos los siguientes:

Claridad operacional

Los registros de contenedores proporcionan una mayor claridad operativa al tener un lugar dedicado para mantener imágenes para el almacenamiento a largo plazo. Los artistas de producción y los desarrolladores de software a menudo tienen dificultades para tener una sobrecarga de activos. Los registros de contenedores alivian este problema al limitar los activos a una sola ubicación.

Rendimiento optimizado

Los registros de contenedores ayudan a evitar retrasos de rendimiento que pueden surgir cuando no se conoce la ubicación exacta de las imágenes, especialmente en momentos de alta prioridad. Los registros de contenedores resuelven eso al proporcionar un inventario que se puede verificar y confirmar en cualquier momento.

Una única fuente de información

Los registros crean una única fuente de información para cualquier componente o aplicación, por lo que siempre hay transparencia en la composición de ese componente o aplicación. El uso de registros de contenedores garantiza que la iteración más reciente esté lista para su uso o replicación, para un control de versiones óptimo.

Seguridad mejorada

Los registros de contenedores tienen características de seguridad mejoradas para las imágenes. Los protocolos de acceso ayudan a mantener las imágenes protegidas desde una perspectiva de seguridad. Mientras tanto, el análisis de vulnerabilidades permite a los usuarios ver en profundidad sus imágenes y detectar problemas ocultos en ellas.

Casos de uso de registros de contenedores

Las siguientes actividades hacen un uso extensivo de los registros de contenedores:

desarrollo de software

El desarrollo de software es el principal caso de uso de los registros de contenedores, razón por la cual se crearon en primer lugar: para ayudar a los desarrolladores de software brindándoles un espacio de trabajo para almacenar, acceder y compartir imágenes.

Entrega de software Enterprise

Los registros de contenedores privados suelen considerarse una infraestructura necesaria para las organizaciones que diseñan y entregan aplicaciones de software internamente. Los registros privados brindan a los usuarios un mayor nivel de control sobre las cadenas de suministro de software .

microservicios

Muchos registros de contenedores ayudan a los usuarios de microservicios aclarando el proceso de localización y conexión a microservicios específicos en un clúster de contenedores. Dichos registros ofrecen servicios de sistema de nombres de dominio que dan nombres de imágenes e IP virtuales.

Despliegue de aplicaciones

Los registros de contenedores ayudan a fomentar la iteración rápida de las aplicaciones debido a la naturaleza modular y liviana de los registros de contenedores. Otros beneficios del despliegue son la portabilidad y la coherencia de los registros.

Investigación científica

Los registros de contenedores se están personalizando para fines científicos especializados, como respaldar datos genéticos y potenciar la investigación genómica. Los resultados de la investigación se pueden reproducir fácilmente en otros formatos, lo que permite compartir código clave y artefactos.

Docker y Kubernetes

Hay dos proveedores principales de orquestación de contenedores que dominan el uso del registro de contenedores:

Docker

Docker es un sistema de orquestación de contenedores desarrollado e introducido en 2013 para ayudar a reducir la complejidad de la creación, despliegue y ejecución de aplicaciones. Docker ganó popularidad más recientemente por ser visto como una forma fácil de construir contenedores ligeros, portátiles y autónomos que pueden ejecutar en cualquier plataforma a pesar de la infraestructura. Esa reputación de facilidad de uso ha ayudado a Docker a convertirse en una opción de referencia para quienes despliegan aplicaciones dedicadas a la inteligencia artificial (IA) y el machine learning (ML).

Del mismo token, los contenedores Docker ofrecen portabilidad suprema, permitiendo que se muevan de una máquina a otra, independientemente de su infraestructura. Nuevamente, vemos un beneficio en que, con Docker, es relativamente sencillo introducir aplicaciones de IA y machine learning (ML) en entornos alternativos, como máquinas locales, dispositivos edge o servidores en la nube.

Kubernetes

Kubernetes es una plataforma de código abierto para la orquestación de contenedores. También comenzó en 2013 y lleva el nombre de un término griego para "piloto", Kubernetes se utiliza para automatizar varios procesos de software, como la gestión, el despliegue y el escalado.

En un Kubernetes service, uno o más equipos (que pueden ser máquinas virtuales o Bare Metal Server) están vinculados en un clúster, donde se pueden ejecutar cargas de trabajo de contenedores de diferentes tamaños y tipos. Kubernetes se despliega a menudo con cartas Helm, que son colecciones de archivos que funcionan para describir los diversos recursos de un clúster Kubernetes y luego empaquetar esos recursos combinados como una aplicación.

Kubernetes permite el uso de aplicaciones de aprendizaje automático (ML) en contenedores y escalado simple, y soporta marcos y herramientas de aprendizaje automático (ML). Kubernetes también se puede utilizar como plataforma para cargas de trabajo de capacitación de IA.

Docker y Kubernetes son similares en muchos aspectos. Sin embargo, difieren en la escala que cada uno posee porque Docker es, en su núcleo, un tiempo de ejecución de contenedores, mientras que Kubernetes es una plataforma completa diseñada para acomodar la ejecución y administración de contenedores desde múltiples tiempos de ejecución de contenedores. Como indicador de la diferencia entre ambos, considere que Kubernetes es lo suficientemente grande como para que Docker sea solo uno de los múltiples tiempos de ejecución de contenedores que admite Kubernetes.

Otros proveedores líderes de registros de contenedores

El mercado de proveedores de registros de contenedores está en constante evolución, con agentes que entran y salen del mercado en cualquier momento. No obstante, los proveedores aquí enumerados se labraron una reputación duradera en este mercado:

  • Alibaba: Alibaba Group adopta el objetivo de "hacer más fácil hacer negocios en cualquier lugar". Cloud Container Registry de Alibaba permite la replicación de imágenes entre instancias (entidades operativas) que pertenecen a la misma cuenta. Cloud Container Registry de Alibaba está diseñado para gestionar imágenes a lo largo de sus respectivos ciclos de vida.
  • Amazon: Amazon Sitio web Services (AWS) opera Amazon Elastic Container Registry (ECR), incorporando el uso de Amazon Inspector, que gestiona el escaneo de vulnerabilidades de las imágenes. ECR también permite la replicación entre cuentas y regiones, lo que facilita el acceso a las imágenes.
  • DockerHub: Docker ejecuta su propio recurso de imagen conocido como DockerHub, que ofrece acceso gratuito a más de 100 000 imágenes compartidas por usuarios de Docker, proveedores de software y proyectos de código abierto. Un servicio de registro de contenedores de pago también está disponible para uso privado. DockerHub utiliza una interfaz de línea de comandos Docker (Docker CLI) que permite operaciones clave como inicio de sesión, push y pull.
  • GitHub: ahora propiedad de Microsoft, GitHub se inició en 2007. La plataforma ha obtenido un amplio apoyo de los desarrolladores, quienes aprecian su capacidad para fomentar el intercambio de códigos, la colaboración y la gestión de códigos. (Cabe señalar que, aunque a menudo se confunde con software de código abierto, GitHub es de hecho software propietario).
  • GitLab: a menudo confundido con GitHub, GitLab se fundó en 2014. GitLab Container Registry es un registro privado seguro para imágenes de contenedores. Se puede utilizar tanto para producir como para publicar imágenes. Gitlab Container Registry funciona con software de código abierto. La última versión (ahora en Beta) presenta capacidades mejoradas de clasificación y filtrado.
  • Google: El registro de contenedores de Google Cloud “Artifact Registry” está integrado con las herramientas y los tiempos de ejecución de Google Cloud y admite el uso de canalizaciones automatizadas. Google también fue el creador de Kubernetes, y el proyecto ahora se gestiona gracias a los esfuerzos de los colaboradores y la marca registrada está en manos de la Fundación de Computación Nativa de la Nube. Los proveedores de la nube ahora cada uno ofrecen su propia versión de Kubernetes como un servicio administrado.
  • IBM: IBM® Cloud Container Registry permite a los usuarios iniciar fácilmente su propio registro y comenzar a enviar imágenes privadas al registro para su uso con IBM Cloud Kubernetes Service. Los usuarios obtienen beneficio de la privacidad de tener su propio registro completamente administrado. El servicio, que puede ser impulsado por pruebas sin costo, tiene una característica de precios de pago por uso, por lo que los usuarios solo pagan por lo que consumen.
  • Microsoft: la plataforma Azure de Microsoft incluye Azure Container Registry (ACR), que contiene imágenes de Docker e imágenes de Open Container Initiative (OCI) y admite artefactos de OCI y gráficos de Helm. La característica de registro conectado de ACR (parte del nivel de servicio premium del programa) crea una réplica on premises o remota que sincroniza las imágenes de contenedor y los artefactos de OCI con el ACR basado en la nube. Los ACR pueden alojar imágenes de Windows y Linux. Una forma de interactuar con los programas informáticos es escribiendo y entrada líneas de texto, que se denominan líneas de comandos. Cuando un sistema operativo emplea este método de interacción, se dice que incorpora una interfaz de línea de comandos (CLI). Aunque la mayoría de los usuarios de computadoras ahora confían en las interfaces gráficas de usuario (GUI), el uso de CLI todavía es favorecido por algunos, especialmente por aquellos que desean automatizar programas mediante la escritura de scripts. Azure proporciona a los usuarios la flexibilidad de usar la popular CLI de Docker para ejecutar operaciones clave de imagen de contenedor como inicio de sesión, inserción y extracción.
  • Red Hat: Red Hat promovió la programación basada en Linuxdesde su creación en 1993. Su registro de contenedores, OpenShift Container Platform (OCP), permite a los usuarios acceder automáticamente a repositorios de imágenes bajo demanda y les ofrece una ubicación estándar para enviar las imágenes que resultan de la compilación de sus aplicaciones.
Soluciones relacionadas
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud es una plataforma de contenedores OpenShift (OCP) totalmente gestionada.

Conozca Red Hat OpenShift
Soluciones de contenedores

Las soluciones de contenedores ejecutan y amplían cargas de trabajo en contenedores con seguridad, innovación de código abierto y despliegue rápido.

Explorar contenedores
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de IBM de asesoramiento sobre la nube. Descubra cómo crear conjuntamente soluciones, acelerar la transformación digital y optimizar el rendimiento a través de estrategias de nube híbrida y asociaciones de expertos.

Servicios en la nube
Dé el siguiente paso

Modernice su infraestructura con las soluciones de contenedores de IBM. Ejecute, escale y gestione cargas de trabajo en contenedores en todos los entornos con flexibilidad, seguridad y eficiencia mediante el uso de la plataforma integral de contenedores de IBM.

Explore las soluciones de contenedores Cree su cuenta gratuita de IBM Cloud