Seguindo a série de artigos sobre container, dessa vez nosso #cloudspecialist Thiago Nunes fala sobre as principais ferramentas de container.

Por Thiago Marques
O pai ta on!!

Chegamos a falar um pouco sobre os repositórios de imagens no post sobre arquitetura, que é basicamente um registro central de containers. E como já abordamos anteriormente, a utilização de containers proporciona diversas vantagens, sobretudo em uma cultura DevOps, e um container registry, possui um papel interessante nesse processo: distribuir a imagem mais atualizada, seja de forma publica (para usuários em geral), seja de forma privada (para times de teste, homologação e produção).

Tipos de repositórios

Existem dois tipos de repositórios: os públicos e os privados.

Os repositórios públicos são ótimos para projetos abertos de sistema operacionais, como ubuntu, alpine, para programas como node, redis, nginx, e até para aplicações como grafana, zabbix e elasticsearch.

Note que em um repositório público qualquer pessoa nessa tal de internet pode fazer o pull da imagem, e utilizá-la da forma como lhe for útil.

Já os repositórios privados são exclusivos, e assim mais indicados para aplicações internas, como o desenvolvimento interno com informações sensíveis. Além disso, esse tipo de repositório oferece mais vantagens, como suporte a autenticação, controle de autorizações e acesso, rastreamento de registros por usuários etc.

Docker Hub

Talvez o Docker Hub seja o repositório mais utilizado. Além de ser o repositório padrão do Docker (isso quer dizer que quando executa o docker run, é nesse repositório que o pull ocorre (caso ele não exista localmente)).

O Docker Hub possui uma versão gratuita, e algumas pagas, onde basicamente a diferença é na utilização de repositórios privados e scan de vulnerabilidades (apenas nas versões pagas), e limites de pulls para versão gratuita (200 pulls a cada 6horas).

Elastic Container Registry

O ECR é o repositório da AWS, e tem características similares ao Docker Hub, contudo oferece algumas vantagens, disponibilidade de 99,9%, imagens imutáveis (garantia que não se pode sobrescrever uma imagem depois que ela está publicada), scan de vulnerabilidades, repositórios públicos e privados, limite de 1000 pulls por segundo e 10 push por segundo.

Harbor

Caso você queria um repositório privado e interno, você pode utilizar o Harbor, que também serve como repositório cloud native, Charts Helm, integração de segurança com outras ferramentas como a HashiCorp Vault, e até criar réplicas em provedores de cloud públicas.

Registrando uma imagem no Docker Hub

Para registrar uma imagem no Docker Hub é necessário ter uma conta na plataforma e criar um repositório:

Após a criação do container na plataforma, agora efetuaremos o login na CLI, e fazer o push para o repositório:

docker login

Note que para realizar o push, o nome do repositório tem que ser o mesmo da sua imagem. Em nosso exemplo thiagosagara/darede. Caso o nome fosse diferente um erro similar a esse aqui de baixo seria apresentado:

[root@ip-172-31-0-221 docker]# docker push thiagosagara/myapp
Using default tag: latest
The push refers to repository [docker.io/thiagosagara/myapp]
tag does not exist: thiagosagara/myapp:latest

Com o nome correto basta executar o docker push <[imagem]>. Por padrão ela vai subir com a tag latest.

docker push thiagosagara/darede

Por fim podemos validar a imagem no repositório, assim como comparar o digest e garantir que é a mesma imagem que realizamos o upload.

Registrando uma imagem no ECR

Agora pensando em cloud, o registro no repositório da AWS é bem similar ao do Docker Hub, ou seja, você cria o repositório, faz o login, e faz o upload com o mesmo nome. Abaixo veremos passo a passo:

Primeiro criaremos o repositório público, clicando em ‘create repositor’, e depois colocamos o nome do repositório.

Depois do repositório criado, precisamos fazer o login nele. Como o comando docker login por padrão se registra no docker hub precisamos informar em qual repositório vamos logar.
É um “senhor” comando, contudo não se preocupe, no próprio repositório clicando em “View push commands” a AWS vai mostrar o comando inteiro.

aws ecr get-login-password –region us-east-1 –profile Sandbox | docker login –username AWS –password-stdin 787431072858.dkr.ecr.us-east-1.amazonaws.com

Obs.: Note que no meu exemplo, além do comando sugerido pela AWS coloquei o –profile Sandbox. Isso é necessário quando você está utilizando roles para acesso ao ambiente.
Sem esse parâmetro o push ia ficar em loop com o log de Retrying in X seconds

Após o registro é necessário criar a tag exatamente igual ao repositório (como é no Docker Hub), e depois o docker push para o repositório

docker tag thiagosagara/darede 787431072858.dkr.ecr.us-east-1.amazonaws.com/darede:latest

docker push 787431072858.dkr.ecr.us-east-1.amazonaws.com/darede:latest

E finalmente temos nossa imagem publicada no repositório da AWS (ECR). Note que em questão de compressão, o algoritmo da Docker Hub acaba sendo ligeiramente mais eficiente (2,5% melhor).

Veja os outros artigos sobre container:
Entendendo Docker
Docker Compose
Arquitetura Docker
O que é DockerFile?
Build do DockeFile

That’s all folks! Be Happy!!!

foto-thiago-marques

Thiago Marques
Technical Account Manager
thiago.marques@darede.com.br

Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.

OUTRAS PUBLICAÇÕES

Cloud Security: a segurança na nuvem

Uma das maiores preocupações das empresas ao migrar para cloud é a segurança, por isso preparamos um artigo que explica como deixar seu ambiente mais seguro.

Novidades da Semana – 03 a 07 de maio

Todos os dias a AWS lança uma série novidades e atualizações em seus produtos que visam melhorar a vida de seus usuários. Reunimos algumas delas que fazem mais sentido para nosso mercado e que certamente aplicaremos em nosso dia a dia. Confira as novidades das últimas semanas. Governance AWS Audit Manager – Novos frameworks O AWS Audit Manager agora oferece três novas estruturas padrão pré-construídas: NIST Cybersecurity Framework versão 1.1, AWS Foundational Security Best Practices e AWS Well-Architected Framework. Essas estruturas são adicionadas a outras pré-construídas já existentes no Audit Manager. Com esta versão, você pode iniciar uma avaliação de qualquer uma dessas estruturas com apenas alguns cliques. O Audit Manager mapeará seus recursos da AWS para os requisitos da estrutura que você escolher e começará a coletar evidências automaticamente de forma que te auxilie a dimensionar sua capacidade de auditoria na nuvem à medida que sua empresa cresce. Compute AWS Outposts – Disponível em novas regiões Os AWS Outposts agora podem ser enviados e instalados em datacenters de clientes e locais na Colômbia, Macau e Porto Rico. Amazon VPC – Novos preços para o VPC Peering O Amazon VPC anunciou que todas as transferências de dados por uma conexão de peering VPC que permanecem dentro de uma zona de disponibilidade (AZ) agora são gratuitas. Já as transferências de dados que cruzam zonas de disponibilidade continuarão a ser cobradas de acordo com as taxas de transferência na região padrão. Amazon Elasticsearch Service – Suporte a instâncias Graviton2 (M6g, C6g, R6g, and R6gd) O Amazon Elasticsearch Service agora oferece instâncias da família de instâncias AWS Graviton2. Os tipos de instância incluem as de uso geral (M6g), de otimização de computação (C6g) e de otimização de memória (R6g, R6gd). Os clientes podem desfrutar de até 38% de melhoria na taxa de transferência de indexação, redução de 50% na latência de indexação e 30% de melhoria no desempenho de consulta em comparação com as instâncias baseadas em x86 correspondentes da geração atual (M5, C5, R5). Amazon EC2 – Host Resource Groups agora suporta AWS CloudFormation O Amazon EC2 Host Resource Groups, que é uma coleção lógica de hosts dedicados que você pode gerenciar como uma única entidade, agora oferece suporte ao AWS CloudFormation, permitindo aos clientes criar Host Resource Groups usando modelos do CloudFormation e assim automatizar o gerenciamento de hosts dedicados EC2. Storage & Database Amazon RDS for Oracle e Amazon RDS for PostgreSQL – Suporte a backups automatizados e criptografados O Amazon Relational Database Service (RDS) para Oracle e o Amazon RDS para PostgreSQL agora oferecem suporte a backups automatizados criptografados entre regiões do Amazon RDS. Este recurso estende a funcionalidade de backup RDS existente, possibilitando a capacidade de configurar a replicação automática logs de transações de uma região primária para uma região secundária da AWS. Esses backups são criptografados usando uma chave mestra do AWS KMS na região de destino. Amazon DynamoDB – Suporte a AWS SDK for Java 2.x O Amazon DynamoDB anunciou suporte a AWS SDK para Java 2.x na versão local. Com o DynamoDB local, é possível desenvolver e testar aplicativos usando uma versão do DynamoDB em execução em seu ambiente de desenvolvimento local, sem incorrer em quaisquer custos adicionais. O DynamoDB local não requer conexão com a Internet e funciona com as chamadas API do DynamoDB existentes. Novos Lançamentos Amazon DevOps Guru – Disponível A AWS anunciou a disponibilidade geral do Amazon DevOps Guru, um serviço de machine learning que oferece uma maneira simplificada de medir e melhorar o desempenho operacional e a disponibilidade de um aplicativo e reduzir o tempo de inatividade. Quer saber as novidades da AWS das últimas semanas? Leia nosso blog! E acompanhe toda sexta-feira em nosso canal do Youtube nossa live sobre as Novidades da Semana.

Data Lake vs Data Warehouse

Você sabe a diferença entre Data Lake e Data Warehouse? Então confira esse artigo do blog da Darede que traz tudo sobre esses conceitos.

Novidades da Semana – 10 a 14 de maio

Por Ricardo Gulias Todos os dias a AWS lança uma série novidades e atualizações em seus produtos que visam melhorar a vida de seus usuários. Reunimos algumas delas que fazem mais sentido para nosso mercado e que certamente aplicaremos em nosso dia a dia. Confira as novidades das últimas semanas. Compute Amazon EC2 – Novas instâncias High Memory disponíveis nos modelos On-Demand e Savings Plan O Amazon EC2 anunciou a disponibilidade das instâncias EC2 High Memory de 6 TB, 9 TB e 12 TB que são construídas utilizando o AWS Nitro System, no modelos de contratação On-Demand e Savings Plans. Com isso é possível ter maior flexibilidade para aquisição destas instâncias, aumentando o desempenho e reduzindo os custos ($/GiB). Essas instâncias são certificadas pela SAP para executar Business Suite em HANA, SAP S / 4HANNA, Data Mart Solutions em HANA, Business Warehouse em HANA e SAP BW / 4HANA em ambientes de produção e estão disponíveis em Norte Virginia (EUA), Europa e Ásia. Database Amazon RDS for SQL Server – Suporte a Disaster Recovery (DR) gerenciado entre regiões O Amazon RDS para SQL Server agora oferece suporte a backups automatizados entre regiões do Amazon RDS, o que oferece a capacidade de configurar replicação automática de snapshots e transactional logs de uma região AWS primária para uma secundária, fornecendo desta forma a capacidade de recuperação de desastres em banco de dados de missão crítica. O RDS oferece suporte para SQL Server 2014 e posterior. Esse recurso está disponível entre as regiões us-east-1 (North Virginia) e us-weast-2 (Oregon), eu-central-1 (Frankfurt) e eu-west-1 (Ireland) e de ap-notheast-1 (Tokio) e ap-northeast-3 (Osaka). Amazon RDS for SQL Server – Disponível no AWS Outposts O Amazon RDS para SQL Server agora está disponível para o AWS Outposts, permitindo a implantação de instâncias de banco de dados gerenciadas On-Premises, estendendo a infraestrutura, os serviços, as APIs e ferramentas da AWS para qualquer Datacenter, melhorando a experiência para o modelo híbrido. Na prática, essa novidade possibilita a automatização de tarefas de administração, configuração de banco de dados, patching e backups, podendo utilizar as mesmas APIs disponíveis na AWS e podendo executar o Microsoft SQL Server 2016, 2017 e 2019 nas edições Enterprise, Standard e Web. Amazon Aurora PostgreSQL – Novos patches Estão disponíveis agora novos lançamentos de patch do Amazon Aurora PostgreSQL para clientes que usam a versão Compatible Edition. Management & Governance AWS Organizations – Nova console O AWS Organizations disponibilizou uma nova maneira de gerenciar o ambiente de Multi-Account, facilitando a navegação através da hierarquia de contas na unidade organizacional, assim como a execução de tarefas de uma forma mais simplificada, além de oferecer um acesso fácil à documentação e informações de produtos e recursos. Amazon CloudWatch Synthetics – Suporte a cron expression O CloudWatch Synthetics agora oferece suporte a cron expressions, permitindo flexibilidade ao programar canários para monitorar seus endpoints e APIs num horário ou intervalo de tempo específico. Cabe lembrar que os canários simulam as mesmas ações de um usuário nos permitindo monitorar a experiência do usuário de forma contínua. AWS Systems Manager – Novo recurso Incident Manager O AWS Systems Manager passa a contar com o Incident Manager, recurso que permite um tempo menor para resolução de problemas críticos de disponibilidade e desempenho dos aplicativos, ajudando a preparar o ambiente para incidentes com planos de resposta automatizados que reúnem as pessoas e as informações certas. Com o Incident Manager a resposta automática pode ser aplicada quando um problema crítico é detectado por um alarme no CloudWatch ou um evento do Amazon Eventbridge. AWS Systems Manager – Integração com recursos Change Calendar e State Manager O AWS Systems Manager agora integra os recursos Change Calendar e State Manager para que seja possível agendar eventos de calendário para controlar quando as alterações podem ser feitas nos recursos AWS, com isso conseguimos garantir que as atualizações de configuração do estado desejado não entrem em conflito com as atividades comerciais importantes, como evento de vendas ou lançamentos de novos produtos. Amazon Fraud Detector – Suporte a AWS CloudFormation O Amazon Fraud Detector é um serviço gerenciado que facilita a identificação online potencialmente fraudulentas, como a criação de contas falsas ou fraude de pagamento online e agora oferece suporte ao AWS CloudFormation para criação e configuração de recursos junto ao restante da infraestrutura AWS. O suporte para o AWS CloudFormation simplifica para os clientes criar e gerenciar recursos do Amazon Fraud Detector sem precisar configurá-los manualmente. Analytics & Containers Amazon EBS – Driver Container Storage Interface (CSI) disponível para uso geral O driver EBS CSI que permite provisionar, anexar e montar um volume EBS num Pod Kubernetes EKS – Amazon Elastic Kubernetes Service e também oferece suporte a configurações avançadas do EBS, como criptografia e IOPS agora está amplamente disponível para instalação em clusters ECS com versão 1.17 e superior. Amazon EKS – Suporte a manchas de nó do Kubernetes O Amazon Elastic Kubernetes Service (EKS) agora oferece suporte a manchas de nó do Kubernetes, o que traz uma simplificação no gerenciamento do ciclo de vida do nó para clusters com diversos requisitos de recursos de aplicativos. Na prática com este suporte é possível separar facilmente grupos de instâncias EC2 dentro do cluster, designando apenas para alguns aplicativos, sendo possível ainda aplicar uma tolerância aos pods, permitindo que eles sejam programados em nós com manchas correspondentes. Amazon Athena – Drivers do Athena com suporte Azure AD e PingFederate authentication O Amazon Athena agora suporta novas opções de autenticação que ficam disponíveis aos clientes que utilizam seus drivers JDBC e ODBC, sendo possível autenticar usando credenciais do AWS IAM, Microsoft Active Directory Federation Services (ADFS), PingFederate, Okta e provedores de identidade personalizados. Amazon Athena – Novo recurso de consulta de Banco de Dados e tabelas através AWS Glue Data Catalogs O Amazon Athena anunciou um novo recurso que permite consultar bancos de dados e tabelas em contas AWS por meio de suporte integrado para AWS Glue Data Catalogs em outras contas AWS, com isso fica mais fácil o

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações