Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020

Renato Groff
Renato GroffAon Corporation
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
• Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience
Contributor (MTAC)
• Mais de 15 anos de experiência na área de
Tecnologia
• Autor Técnico e Palestrante
• Um dos organizadores do Canal .NET, do .NET
São Paulo e do DevOps Professionals
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
Agenda
• Docker: primeiros passos
• Dicas e truques na utilização de containers Docker
• Exemplos práticos
Um pouco mais sobre
Conceitos Fundamentais
• Imagens → base para criação de
containers, são geradas a partir do
arquivo Dockerfile; contém todos os
arquivos e dependências de uma
aplicação – incluindo sistema operacional
• Containers → pacote com tudo que é
necessário para a execução de uma
aplicação (serviço, site, API)
Onde encontrar imagens?
Imagens Alpine
• Baseadas na distribuição Alpine Linux
• Preocupação com segurança e
simplicidade
• Imagens Docker menores (contendo
apenas o mínimo necessário para a
execução da aplicação)
Principais usos
• Deployment de APIs REST e sites
• Arquitetura de microserviços
• Soluções escaláveis através do
uso de orquestradores e
alternativas do tipo PaaS
Por que utilizar containers Docker?
• Isolamento
• Utilização mais racional de recursos
• Rapidez no deployment
• Menor dependência do ambiente
E com isto temos o fim do:
Mas é só isso?
O que mais podemos utilizar com Docker?
• Serviços de processamento
contínuo
• Servidores de bancos de dados
• Rotinas de processamento em
geral
Algumas tecnologias com suporte a Docker
Montando ambientes de testes com containers
• Rapidez na instalação
• Desinstalação sem grandes dificuldades
• Diferentes versões de um software numa mesma máquina
Criando containers Docker na prática
Docker + SQL Server
+
• Criação de containers do SQL Server 2017 e 2019 em
portas diferentes
Criando uma imagem e publicando no Docker Hub
+
• Uso do NGINX para a geração de uma imagem com um
site estático
Criando uma imagem com ASP.NET Core 3.1
• API REST criada com o ASP.NET
Core 3.1
• Contagem de acessos/requisições
recebidas
Um questionamento importante...
• Como evitar criar separamente múltiplos
containers, que possuem algum tipo de
relação entre si?
Docker Compose é a resposta!
Docker Compose: uma visão geral
• Criação e execução conjunta dos múltiplos
containers de uma aplicação
• Facilita o deployment em ambientes de
desenvolvimento e testes
• Suporte a integração contínua
Docker Compose: uma visão geral
• É comum a criação de networks (redes) do
Docker para deployment
• Arquivo com configurações no formato YAML
(docker-compose.yml)
• Suporte também do Visual Studio Code
Docker Compose: exemplo prático
Criação de um ambiente com:
• SQL Server 2017
• SQL Server 2019
• PostgreSQL + pgAdmin 4
• MySQL + Adminer
• MongoDB + mongo-express
E quanto ao suporte a Docker no Microsoft Azure?
+
Suporte a Docker no Azure
• Azure Container Instances
• Azure Container Registry
• Azure Web App for Containers
• Azure Kubernetes Service (AKS)
Azure Container Instances
• Criação de containers de forma
descomplicada
Azure Container Registry
• Armazenamento de imagens
Docker privadas na nuvem
• Alternativa ao Docker Hub /
Docker Store
Azure Container Registry – Publicação
docker tag apicontagem:latest groffecr.azurecr.io/apicontagem
docker login groffecr.azurecr.io -u USUÁRIO -p SENHA
docker push groffecr.azurecr.io/apicontagem
Dificuldades na adoção de containers...
• Como escalar containers?
• Como garantir o trabalho coordenado
entre os diferentes containers de uma
aplicação?
• Como detectar containers com falhas e
corrigir isso automaticamente?
E como superar tais dificuldades?
Azure Web App for Containers
• Hospedagem de aplicações
• Uso de Containers Docker (imagens
Linux e Windows)
• Suporte a Continuous Integration
Azure Web App for Containers
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
• Criação de recursos a partir de imagens
ou Docker Compose
Deployment Automatizado
• Fácil integração com Azure DevOps
• Build Automatizado com publicação de
imagens e deployment no Azure App
Service/Azure Web App for Containers
Utilizando orquestradores…
Azure Kubernetes Service (AKS)
+
Azure Kubernetes Service (AKS)
• Serviço gerenciado na nuvem
• Alocação da infraestrutura necessária
para criação dos nós
• Necessidade de uso do Azure CLI para
liberar o acesso ao cluster Kubernetes
via kubectl
Kubernetes: uma visão geral
• Também conhecido como K8s ou kube
• Desenvolvido originalmente pela Google
• Mantido pela Cloud Native Computing Foundation
• Escrito em Go
• Open source
Kubernetes: uma visão geral
• Cluster com máquina Master e Nodes
• Criação de objetos através de arquivos no formato YAML
• Funcionalidades para gerenciamento, orquestração e auto
recuperação de containers
• kubectl → ferramenta de linha de comando
• Minikube → ambiente de testes
Kubernetes: arquitetura
kubectl
Kubernetes: arquitetura
• Pod
• Grupo de um ou mais containers
implantados em um Node (Nó)
• Compartilham o mesmo endereço IP,
IPC, nome do host e outros recursos
POD
Kubernetes: arquitetura
• Deployment
• Abstração de um Pod com
recursos adicionais
• Conta com gerenciamento de
estados
Deployment
POD
Kubernetes: arquitetura
• Service
• Objeto mais estável (Pods são criados ou
removidos continuamente)
• Cuidará do acesso aos Pods, funcionando
como um Load Balancer
Kubernetes: arquitetura
Exemplo Prático
• API REST criada com o ASP.NET Core 3.0
• Será utilizada a mesma API de contagem
de acessos dos exemplos anteriores
(publicada no Docker Hub como a imagem
renatogroffe/apicontagem-3-0-alpine)
• Criação de um cluster através do Azure
Kubernetes Service (AKS)
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
medium.com/@renato.groffe/
1 de 46

Recomendados

Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... por
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
299 visualizações23 slides
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az... por
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Renato Groff
7.8K visualizações33 slides
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -... por
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groffe
13.1K visualizações22 slides
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour... por
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Renato Groff
4K visualizações22 slides
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018 por
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018Renato Groff
4.6K visualizações57 slides
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018 por
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Renato Groff
8.7K visualizações33 slides

Mais conteúdo relacionado

Mais procurados

Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019 por
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
236 visualizações46 slides
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ... por
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Renato Groff
5.4K visualizações25 slides
Docker para Desenvolvedores - Developers-BR - Agosto-2018 por
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
35 visualizações41 slides
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei... por
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Renato Groff
8.5K visualizações40 slides
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock... por
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Renato Groff
6.8K visualizações15 slides
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET... por
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
94 visualizações24 slides

Mais procurados(20)

Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019 por Renato Groff
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Renato Groff236 visualizações
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ... por Renato Groff
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Renato Groff5.4K visualizações
Docker para Desenvolvedores - Developers-BR - Agosto-2018 por Renato Groff
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Renato Groff35 visualizações
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei... por Renato Groff
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Renato Groff8.5K visualizações
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock... por Renato Groff
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Renato Groff6.8K visualizações
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET... por Renato Groffe
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
Renato Groffe94 visualizações
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .... por Renato Groff
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .....NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
Renato Groff1.8K visualizações
Docker para Desenvolvedores - Developers-BR - Julho-2018 por Renato Groff
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
Renato Groff94 visualizações
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes... por Renato Groff
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
Renato Groff1.8K visualizações
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur... por Renato Groff
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Renato Groff35 visualizações
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere... por Renato Groff
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
Renato Groff2.5K visualizações
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl... por Renato Groff
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
Renato Groff425 visualizações
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março por Renato Groff
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
Renato Groff1.3K visualizações
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand... por Renato Groff
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Renato Groff1.7K visualizações
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019 por Renato Groff
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Renato Groff1.3K visualizações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações por Renato Groff
.NET Core + Docker: containers e seus benefícios no deployment de aplicações.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações
Renato Groff747 visualizações
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ... por Renato Groff
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Renato Groff136 visualizações
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ... por Renato Groff
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...
Renato Groff113 visualizações
Docker e Kubernetes: Dicas e Truques - Dezembro-2019 por Renato Groff
Docker e Kubernetes: Dicas e Truques - Dezembro-2019Docker e Kubernetes: Dicas e Truques - Dezembro-2019
Docker e Kubernetes: Dicas e Truques - Dezembro-2019
Renato Groff108 visualizações
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se... por Renato Groff
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Renato Groff2.6K visualizações

Similar a Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020

Docker para Desenvolvedores .NET - .NET SP - Novembro-2018 por
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Renato Groff
56 visualizações49 slides
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018 por
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
71 visualizações65 slides
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018 por
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
24 visualizações66 slides
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab... por
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
1.2K visualizações28 slides
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur... por
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Renato Groff
2.1K visualizações34 slides
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur... por
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Renato Groff
66 visualizações28 slides

Similar a Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020(20)

Docker para Desenvolvedores .NET - .NET SP - Novembro-2018 por Renato Groff
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Renato Groff56 visualizações
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018 por Renato Groff
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Renato Groff71 visualizações
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018 por Renato Groff
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Renato Groff24 visualizações
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab... por Renato Groff
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Renato Groff1.2K visualizações
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur... por Renato Groff
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Renato Groff2.1K visualizações
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur... por Renato Groff
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Renato Groff66 visualizações
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP por Renato Groffe
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPDocker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Renato Groffe466 visualizações
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP por Renato Groff
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPDocker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Renato Groff328 visualizações
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv... por Renato Groff
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Renato Groff425 visualizações
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020 por Renato Groff
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Renato Groff440 visualizações
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ... por Renato Groff
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Renato Groff24 visualizações
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O... por Renato Groff
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
Renato Groff4.8K visualizações
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ... por Renato Groff
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Renato Groff890 visualizações
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ... por Renato Groff
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Renato Groff41 visualizações
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F... por Renato Groff
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Renato Groff2K visualizações
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ... por Renato Groff
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Renato Groff1K visualizações
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020 por Renato Groff
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Renato Groff580 visualizações
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global... por Renato Groff
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Renato Groff2.1K visualizações
Docker | Minicurso Gratuito - Azure na Prática por Renato Groff
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
Renato Groff1.4K visualizações
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ... por Renato Groff
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Renato Groff1.6K visualizações

Mais de Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
312 visualizações40 slides
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
98 visualizações19 slides
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
250 visualizações18 slides
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
141 visualizações19 slides
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
117 visualizações14 slides
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
160 visualizações15 slides

Mais de Renato Groff(20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por Renato Groff
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Renato Groff312 visualizações
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por Renato Groff
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Renato Groff98 visualizações
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por Renato Groff
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Renato Groff250 visualizações
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por Renato Groff
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Renato Groff141 visualizações
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por Renato Groff
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
Renato Groff117 visualizações
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por Renato Groff
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
Renato Groff160 visualizações
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf... por Renato Groff
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Renato Groff88 visualizações
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV... por Renato Groff
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Renato Groff85 visualizações
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020 por Renato Groff
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Renato Groff122 visualizações
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020 por Renato Groff
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Renato Groff209 visualizações
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |... por Renato Groff
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
Renato Groff169 visualizações
Aplicações Distribuídas com .NET | TDC Recife Online 2020 por Renato Groff
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Renato Groff130 visualizações
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020 por Renato Groff
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Renato Groff224 visualizações
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ... por Renato Groff
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Renato Groff184 visualizações
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -... por Renato Groff
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Renato Groff485 visualizações
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie por Renato Groff
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
Renato Groff257 visualizações
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ... por Renato Groff
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Renato Groff576 visualizações
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática por Renato Groff
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Renato Groff569 visualizações
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020 por Renato Groff
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Renato Groff435 visualizações
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020 por Renato Groff
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Renato Groff241 visualizações

Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020

  • 2. • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Mais de 15 anos de experiência na área de Tecnologia • Autor Técnico e Palestrante • Um dos organizadores do Canal .NET, do .NET São Paulo e do DevOps Professionals Renato Groffe h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
  • 3. Renato Groffe - Contatos h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e / /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe /canaldotnet /renatogroff
  • 4. Agenda • Docker: primeiros passos • Dicas e truques na utilização de containers Docker • Exemplos práticos
  • 6. Conceitos Fundamentais • Imagens → base para criação de containers, são geradas a partir do arquivo Dockerfile; contém todos os arquivos e dependências de uma aplicação – incluindo sistema operacional • Containers → pacote com tudo que é necessário para a execução de uma aplicação (serviço, site, API)
  • 8. Imagens Alpine • Baseadas na distribuição Alpine Linux • Preocupação com segurança e simplicidade • Imagens Docker menores (contendo apenas o mínimo necessário para a execução da aplicação)
  • 9. Principais usos • Deployment de APIs REST e sites • Arquitetura de microserviços • Soluções escaláveis através do uso de orquestradores e alternativas do tipo PaaS
  • 10. Por que utilizar containers Docker? • Isolamento • Utilização mais racional de recursos • Rapidez no deployment • Menor dependência do ambiente
  • 11. E com isto temos o fim do:
  • 12. Mas é só isso?
  • 13. O que mais podemos utilizar com Docker? • Serviços de processamento contínuo • Servidores de bancos de dados • Rotinas de processamento em geral
  • 14. Algumas tecnologias com suporte a Docker
  • 15. Montando ambientes de testes com containers • Rapidez na instalação • Desinstalação sem grandes dificuldades • Diferentes versões de um software numa mesma máquina
  • 17. Docker + SQL Server + • Criação de containers do SQL Server 2017 e 2019 em portas diferentes
  • 18. Criando uma imagem e publicando no Docker Hub + • Uso do NGINX para a geração de uma imagem com um site estático
  • 19. Criando uma imagem com ASP.NET Core 3.1 • API REST criada com o ASP.NET Core 3.1 • Contagem de acessos/requisições recebidas
  • 20. Um questionamento importante... • Como evitar criar separamente múltiplos containers, que possuem algum tipo de relação entre si?
  • 21. Docker Compose é a resposta!
  • 22. Docker Compose: uma visão geral • Criação e execução conjunta dos múltiplos containers de uma aplicação • Facilita o deployment em ambientes de desenvolvimento e testes • Suporte a integração contínua
  • 23. Docker Compose: uma visão geral • É comum a criação de networks (redes) do Docker para deployment • Arquivo com configurações no formato YAML (docker-compose.yml) • Suporte também do Visual Studio Code
  • 24. Docker Compose: exemplo prático Criação de um ambiente com: • SQL Server 2017 • SQL Server 2019 • PostgreSQL + pgAdmin 4 • MySQL + Adminer • MongoDB + mongo-express
  • 25. E quanto ao suporte a Docker no Microsoft Azure? +
  • 26. Suporte a Docker no Azure • Azure Container Instances • Azure Container Registry • Azure Web App for Containers • Azure Kubernetes Service (AKS)
  • 27. Azure Container Instances • Criação de containers de forma descomplicada
  • 28. Azure Container Registry • Armazenamento de imagens Docker privadas na nuvem • Alternativa ao Docker Hub / Docker Store
  • 29. Azure Container Registry – Publicação docker tag apicontagem:latest groffecr.azurecr.io/apicontagem docker login groffecr.azurecr.io -u USUÁRIO -p SENHA docker push groffecr.azurecr.io/apicontagem
  • 30. Dificuldades na adoção de containers... • Como escalar containers? • Como garantir o trabalho coordenado entre os diferentes containers de uma aplicação? • Como detectar containers com falhas e corrigir isso automaticamente?
  • 31. E como superar tais dificuldades?
  • 32. Azure Web App for Containers • Hospedagem de aplicações • Uso de Containers Docker (imagens Linux e Windows) • Suporte a Continuous Integration
  • 33. Azure Web App for Containers • Escalabilidade (vertical e horizontal) • Suporte a HTTPS • Criação de recursos a partir de imagens ou Docker Compose
  • 34. Deployment Automatizado • Fácil integração com Azure DevOps • Build Automatizado com publicação de imagens e deployment no Azure App Service/Azure Web App for Containers
  • 36. Azure Kubernetes Service (AKS) • Serviço gerenciado na nuvem • Alocação da infraestrutura necessária para criação dos nós • Necessidade de uso do Azure CLI para liberar o acesso ao cluster Kubernetes via kubectl
  • 37. Kubernetes: uma visão geral • Também conhecido como K8s ou kube • Desenvolvido originalmente pela Google • Mantido pela Cloud Native Computing Foundation • Escrito em Go • Open source
  • 38. Kubernetes: uma visão geral • Cluster com máquina Master e Nodes • Criação de objetos através de arquivos no formato YAML • Funcionalidades para gerenciamento, orquestração e auto recuperação de containers • kubectl → ferramenta de linha de comando • Minikube → ambiente de testes
  • 40. Kubernetes: arquitetura • Pod • Grupo de um ou mais containers implantados em um Node (Nó) • Compartilham o mesmo endereço IP, IPC, nome do host e outros recursos POD
  • 41. Kubernetes: arquitetura • Deployment • Abstração de um Pod com recursos adicionais • Conta com gerenciamento de estados Deployment POD
  • 42. Kubernetes: arquitetura • Service • Objeto mais estável (Pods são criados ou removidos continuamente) • Cuidará do acesso aos Pods, funcionando como um Load Balancer
  • 44. Exemplo Prático • API REST criada com o ASP.NET Core 3.0 • Será utilizada a mesma API de contagem de acessos dos exemplos anteriores (publicada no Docker Hub como a imagem renatogroffe/apicontagem-3-0-alpine) • Criação de um cluster através do Azure Kubernetes Service (AKS)