Jump to section

O que é um registro de containers?

Copiar URL

Um registro de containers é um repositório (ou conjunto de repositórios) usado para armazenar e acessar imagens de container. Os registros de containers podem oferecer suporte ao desenvolvimento de aplicações baseadas em container, geralmente como parte dos processos DevOps. Os registros de containers podem se conectar diretamente a plataformas de orquestração de containers, como o Docker e o Kubernetes

Os registros de containers economizam um tempo valioso para os desenvolvedores na criação e disponibilização de aplicações nativas em nuvem, agindo como intermediários no compartilhamento de imagens de container entre sistemas.

Uma imagem de container inclui os arquivos e componentes que compõem uma aplicação. Ao contrário das máquinas virtuais (VMs), os containers são pacotes leves de software executados no sistema operacional Linux®. As imagens de container podem ser multiplicadas para escalar conforme as mudanças nas cargas de trabalho. Elas são comumente associados ao desenvolvimento ágil, à metodologia DevOps e à integração e entrega contínuas (CI/CD). 

As imagens de container incluem bibliotecas e ferramentas do sistema e outras configurações da plataforma de que suas aplicações precisam serem executadas. Isso oferece aos desenvolvedores os benefícios da portabilidade e agilidade para expandir ou criar novas aplicações com rapidez.

Uma ferramenta open source como o Buildah permite criar imagens compatíveis com OCI e Docker, com ou sem Dockerfiles ou um uma imagem de container existente como ponto inicial, eliminando muitas dúvidas no processo. 

Quando você desenvolve imagens de container, é necessário ter um local para salvá-las, compartilhá-las e acessá-las à medida que são criadas: é aí que o registro entra em cena. 

Um registro de containers age essencialmente como um local para os desenvolvedores armazenarem imagens de container e as compartilharem por meio de um processo de upload (push) para o registro e download (pull) para outro sistema, como umcluster do Kubernetes

Depois de extrair a imagem, a aplicação dentro dela pode ser executada nesse sistema.

Além das imagens de container, os registros também armazenam parâmetros de controle de acesso e caminhos de interfaces de programação de aplicações (APIs). As APIs ajudam a eliminar acoplamentos não intencionais que restrinjam mudanças e sejam uma fonte comum de interrupções, especialmente em ambientes de nuvem híbrida, em que as aplicações não residem mais no mesmo data center.

As imagens de container também podem se comunicar pela service mesh, uma camada de infraestrutura entre serviços em containers que ajuda na escalabilidade. No caso de aplicações nativas em nuvem criadas em uma arquitetura de microsserviços, a service mesh é uma maneira de englobar um grande número de serviços discretos em uma aplicação funcional.

ACloud Native Computing Foundation diz que os containers (incluindo imagens e registros de container) e os microsserviços são a base para o desenvolvimento de aplicações nativas em nuvem. Como os containers e os microsserviços são totalmente autocontidos, eles são uma ferramenta poderosa para criar aplicações nativas em nuvem portáveis. 

Os containers isolam do restante do sistema os processos da aplicação, os arquivos do ambiente de execução e as dependências do sistema operacional. Eles prometem maior portabilidade em ambientes de nuvem híbrida e podem ser implantados por períodos muito mais curtos do que as máquinas virtuais (VM). Dessa forma, fica mais fácil para os desenvolvedores fazer enviar e extrair o que precisam de um registro de containers, permitindo que eles se concentrem na qualidade da solução sem se preocupar com a infraestrutura subjacente ou os detalhes de execução.

Em um ambiente DevOps, o uso de containerse imagens/registros de containerpermite que os desenvolvedores implantem os serviços de aplicação de forma independente, eliminando a necessidade de mesclar alterações de código, melhorando os testes e ajudando na prevenção de falhas nos testes e na produção.

Há dois tipos de registro de containers: público e privado. 

Os registros públicos são normalmente usados por indivíduos ou pequenas equipes que querem colocar seus registros em funcionamento o mais rápido possível. No entanto, à medida que as organizações crescem, podem surgir problemas de segurança mais complexos, como aplicação de patches, privacidade e controle de acesso. 

Os registros privados oferecem uma maneira de incorporar a segurança e a privacidade ao armazenamento de imagens de container empresariais, seja por host remoto ou on-premise. Em geral, esses registros privados vêm com funcionalidades avançadas de segurança e suporte técnico. 

A maioria dos provedores de nuvem oferece serviços privados de registro de imagens: oGoogle oferece o Google Container Registry, a AWS oferece o Amazon Elastic Container Registry (ECR) e a Microsoft oferece o Azure Container Registry.

Usar um registro interno privado oferece o potencial máximo de segurança e configuração, mas exige um gerenciamento cuidadoso e garante que a infraestrutura do registro e os controles de acesso permaneçam em sua organização. 

Ao escolher um serviço de registro de containers privado para sua empresa, considere estes recursos importantes:

  • Suporte a vários sistemas de autenticação

  • Gerenciamento de controle de acesso baseado em função (RBAC) para imagens locais

  • Recursos de verificação de vulnerabilidades para aprimorar a segurança e a configuração

  • Capacidade de documentar o uso em logs auditáveis para que a atividade de um usuário seja rastreada

  • Otimizado para automação

As funcionalidades prontas para empresas de um registro privado permitem que as organizações acessem internamente as imagens de container de maneira segura e eficiente. Vários sistemas de autenticação implementam medidas para verificar a imagem do container armazenada nele. 

Por exemplo, a imagem deve ser assinada digitalmente pela pessoa que está fazendo o upload dela antes que possa ser enviada ao registro, assim como para habilitar o rastreamento de atividades e impedir uploads de usuários não autorizados.

O RBAC gerencia quais ações do usuário são permitidas com base na função do indivíduo. Talvez um desenvolvedor precise do acesso para upload e download no registro, enquanto um membro ou testador da equipe precise do acesso apenas para download. Para organizações com um sistema de gerenciamento de usuários, como o Active Directory (AD) ou Lightweight Directory Access Protocol (LDAP), esse sistema pode ser vinculado diretamente ao registro do container e usado para o RBAC.

As empresas podem criar e implantar os próprios registros de container ou escolher um serviço de registro privado com suporte comercial oferecido por um provedor. 

O Red Hat® OpenShift® é uma plataforma de aplicações em container Kubernetes pronta para empresas que oferece consistência em qualquer infraestrutura de nuvem, gerenciando implantações de nuvem híbrida, multicloud e edge. Com o Red Hat OpenShift, o provisionamento de um ambiente para uma nova aplicação ou microsserviço pode ser feito em questão de minutos. Além de outros serviços em nuvem, como middleware, linguagens, frameworks e bancos de dados, ele já inclui um registro privado que oferece funcionalidades básicas para gerenciar suas imagens de container. 

Os registros privados podem ser implantados como parte de um serviço gerenciado pelo Red Hat OpenShift em um provedor de nuvem do rico ecossistema de parceiros da Red Hat, oferecendo uma experiência contínua no Azure, Amazon Web Services (AWS), IBM Cloudou Google Cloud. O Red Hat OpenShift também é compatível com a integração de outros registros privados que talvez já estejam em uso na sua empresa, como o Artifactory da JFrog e o Sonatype Nexus.

A Red Hat também oferece serviços autogerenciados baseados em nuvem híbrida, com funcionalidades de segurança aprimoradas e elementos adicionais de software que você pode usar no seu data center. Se você precisar de funcionalidades mais avançadas de suporte técnico e segurança, oRed Hat Quay está disponível como uma opção de registro empresarial independente e escalável.

Leitura recomendada

ARTIGO

Stateful x stateless

Para determinar se algo é stateful ou stateless, basta considerar o tempo em que seu estado de interação é registrado e como essas informações precisam ser armazenadas.

ARTIGO

O que é Quarkus?

Quarkus é um stack Java nativo em Kubernetes que foi desenvolvido para máquinas virtuais Java (JVMs) e compilação nativa, otimizando essa linguagem especificamente para containers.

ARTIGO

O que é serverless?

Serverless é um modelo de desenvolvimento nativo em nuvem para criação e execução de aplicações sem o gerenciamento de servidores.

Leia mais sobre aplicações nativas em nuvem

Soluções Red Hat

Uma plataforma de aplicações para empresas que oferece serviços testados para lançar aplicações na infraestrutura de sua escolha.

 

Conteúdo adicional

Caso de sucesso

Banco Galicia, da Argentina, integra novos clientes corporativos em minutos com sua plataforma de NLP inteligente.

VÍDEO - THE SOURCE TV

O futuro da nuvem: a evolução das soluções cloud

Aprenda mais sobre a evolução e o futuro das soluções em nuvem com os especialistas da Red Hat

E-book

O caminho para a adoção de aplicações nativas em nuvem

Caso de sucesso

KPMG

A KPMG melhora os resultados dos serviços estaduais ao cidadão por meio de uma moderna plataforma de integração de sistemas.

Treinamentos Red Hat

Treinamento gratuito

Developing Cloud-Native Applications with Microservices Architectures