Jump to section

¿Qué es el registro de contenedores?

Copiar URL

Un registro de contenedores es un repositorio (o colección de repositorios) que se utiliza para almacenar y acceder a imágenes de contenedores. Los registros de contenedores pueden admitir el desarrollo de aplicaciones basadas en contenedores, a menudo como parte de los procesos DevOps. Los registros de contenedores pueden conectarse directamente a plataformas de organización en contenedores como Docker y Kubernetes

Los registros de contenedores ahorran a los desarrolladores un tiempo valioso en la creación y entrega de aplicaciones desarrolladas en la nube, al actuar como intermediarios para compartir imágenes de contenedores entre sistemas.

Una imagen de contenedor incluye los archivos y componentes que componen una aplicación. A diferencia de las máquinas virtuales (VM), los contenedores son paquetes ligeros de software que se ejecutan sobre el sistema operativo (SO) Linux®. Las imágenes de contenedores se pueden multiplicar para aumentar su cantidad a medida que cambian las cargas de trabajo. Por lo general, se asocian con el desarrollo ágil, la metodología DevOps y la integración continua y la entrega continua (CI/CD). 

Las imágenes de contenedores incluyen bibliotecas del sistema, herramientas del sistema y otras configuraciones de plataforma que sus aplicaciones necesitan para ejecutar, lo que brinda a los desarrolladores los beneficios de la portabilidad y la agilidad para expandir o crear nuevas aplicaciones rápidamente.

Una herramienta de código abierto como Buildah le permite crear imágenes compatibles con OCI y Docker, con o sin Dockerfiles, o un punto de partida de imagen de contenedor actual, por lo que se eliminan muchas conjeturas del proceso. 

Cuando trabaja con imágenes de contenedores, necesita un lugar para guardarlas, compartirlas y acceder a ellas a medida que se generen. Ahí entra en juego el registro de contenedores. 

Básicamente, un registro de contenedores actúa como un lugar para que los desarrolladores almacenen imágenes de contenedores y las compartan mediante un proceso de carga (inserción) en el registro y descarga (extracción) en otro sistema, como unclúster de Kubernetes

Una vez que extraes la imagen, la aplicación que contiene se puede ejecutar en ese sistema.

Pero los registros no solo almacenan las imágenes de contenedores, sino también los parámetros de control de acceso y las rutas de la interfaz de programación de aplicaciones (API) para la comunicación entre contenedores. Las API reducen el acoplamiento involuntario que restringe los cambios y es una fuente común de interrupciones, especialmente en entornos de nube híbrida donde las aplicaciones ya no residen en el mismo centro de datos.

Las imágenes de contenedores también pueden comunicarse por lamalla de servicios, una capa de infraestructura entre los servicios en contenedores que ayuda con el ajuste de la capacidad. En el caso de las aplicaciones desarrolladas en la nube que están integradas a una arquitectura de microservicios, la malla es una forma de incluir una gran cantidad de servicios independientes en una aplicación funcional.

La fundación Cloud Native Computing Foundation afirma que los contenedores (incluidas las imágenes y los registros de contenedores) y los microservicios son la base para el desarrollo de aplicaciones en la nube. Los contenedores y los microservicios son completamente autónomos, lo cual los convierte en una herramienta importante para crear aplicaciones portátiles y en la nube. 

Los contenedores aíslan los procesos de la aplicación, los archivos de tiempo de ejecución y las dependencias del sistema operativo del resto del sistema. Prometen una mayor portabilidad en los entornos de nube híbrida y se pueden implementar durante períodos de tiempo mucho más cortos que las máquinas virtuales (VM). Esto hace que sea más fácil para los desarrolladores insertar y extraer lo que necesitan de un registro de contenedores, lo cual les permite concentrarse en crear un gran producto, sin pensar en la infraestructura subyacente o los detalles de ejecución.

En un entorno de DevOps, el uso de contenedores, e imágenes o registros de contenedores, permite a los desarrolladores implementar cada servicio de aplicación de forma independiente. De esta manera, no es necesario combinar cambios de código, se mejoran las pruebas y se colabora con el aislamiento de errores tanto en pruebas como en producción.

Hay dos tipos de registros de contenedores: los públicos y los privados.

Los registros públicos suelen ser utilizados por personas o equipos pequeños que desean comenzar a usar su registro lo más rápido posible. Sin embargo, a medida que sus empresas crecen, esto puede generar problemas de seguridad más complejos, como la aplicación de parches, la privacidad y el control de acceso. 

Los registros privados permiten incorporar la seguridad y la privacidad al almacenamiento de imágenes de contenedores empresariales, ya sea que se encuentren alojados de forma remota o local. A menudo, los registros privados ofrecen soporte técnico y funciones de seguridad avanzados.

La mayoría de los proveedores de nube ofrecen servicios de registro de imágenes privadas:Google ofrece Google Container Registry, AWS brinda Amazon Elastic Container Registry (ECR) y Microsoft tiene Azure Container Registry.

Al usar un registro interno privado, se obtiene el mayor potencial de seguridad y configuración, pero es necesario gestionarlo cuidadosamente y garantizar que la infraestructura del registro y los controles de acceso permanezcan dentro de su organización.

Algunos aspectos importantes que debe tener en cuenta a la hora de elegir un servicio privado de registro de contenedores para su empresa:

  • Compatibilidad con varios sistemas de autenticación

  • Gestión de control de acceso basado en funciones (RBAC) para imágenes locales

  • Capacidad de análisis de puntos vulnerables para mejorar la seguridad y la configuración

  • Capacidad para registrar el uso en medios verificables, de modo que se pueda rastrear la actividad hasta atribuírsele a un solo usuario

  • Mejoras para la automatización

Las funciones listas para empresas de un registro privado permiten que las empresas tengan acceso interno a las imágenes de los contenedores de manera segura y eficiente. Varios sistemas de autenticación implementan medidas para verificar la imagen del contenedor almacenada en él.

Por ejemplo, la imagen debe llevar la firma digital de la persona que la carga antes de que pueda enviarse al registro, así como para permitir el seguimiento de la actividad y evitar cargas de usuarios no autorizados.

RBAC gestiona qué acciones de los usuarios están permitidas según la función de la persona. Un desarrollador necesitaría acceso para realizar cargas y descargas en el registro, mientras que un miembro del equipo o un evaluador solo necesitaría acceso a las descargas. Para las empresas con un sistema de gestión de usuarios como Active Directory (AD) o el protocolo ligero de acceso a directorios (LDAP), ese sistema puede vincularse al registro de contenedores directamente y usarse para RBAC.

Una empresa puede optar por crear e implementar su propio registro de contenedores, o puede elegir un servicio de registro privado con soporte comercial. 

Red Hat® OpenShift® es una plataforma de contenedores de Kubernetes lista para empresas que ofrece uniformidad en cualquier infraestructura de nube, gestionando implementaciones de nube híbrida, multicloud y de extremo de la red. Gracias a Red Hat OpenShift, se puede implementar un entorno para un nuevo microservicio o aplicación en minutos. Además de otros servicios de nube como middleware, lenguajes, marcos y bases de datos, ya incluye un registro privado que proporciona una función básica para gestionar las imágenes de su contenedor. 

Los registros privados se pueden implementar como parte de un servicio gestionado por Red Hat OpenShift del proveedor de nube del amplio ecosistema de parners de Red Hat, lo cual ofrece una experiencia óptima en Azure, Amazon Web Services (AWS), IBM Cloud o Google Cloud. Además, admite la integración con otros registros privados que posiblemente ya esté usando, como Sonatype Nexus y Artifactory de JFrog.

Red Hat también ofrece servicios autogestionados que se diseñan a partir de la base de su nube híbrida con mejoras en las funciones de seguridad y elementos de software adicionales que puede usar en su centro de datos. Si necesita funciones de seguridad y soporte técnico más avanzadas,Red Hat Quay es una opción de registro empresarial ajustable e independiente.

Artículos recomendados

ARTÍCULO

Sistemas con estado y sin estado

El que un sistema tenga estado depende del tiempo durante el cual se registra interacción con él y de la forma en que se debe almacenar esa información.

ARTÍCULO

¿Qué es Quarkus?

Quarkus es una pila de Java propia de Kubernetes que se creó para las compilaciones originales y las máquinas virtuales Java (JVM), la cual permite optimizar esta plataforma especialmente para los contenedores.

ARTÍCULO

¿Qué es la informática sin servidor?

Se trata de un modelo de desarrollo directamente en la nube que posibilita el diseño y la ejecución de aplicaciones sin que sea necesario gestionar servidores.

Más información sobre las aplicaciones desarrolladas en la nube

Productos

Plataforma de aplicaciones empresariales que ofrece servicios probados para lanzar aplicaciones al mercado en la infraestructura que usted escoja.

Contenido adicional

Capacitación

Capacitación gratuita

Developing Cloud-Native Applications with Microservices Architectures