Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
• 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 Azure Talks
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
• Um pouco mais sobre Docker
• Docker + Bancos de Dados
• Docker Compose: deployment de aplicações e suas dependências
• Integração Docker + Visual Studio 2017
• Azure Web App for Containers
• Exemplos práticos
Um pouco mais sobre
Conceitos Fundamentais
• Imagens → “receita” para criação de
containers (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
• Integração contínua (Jenkins,
VSTS)
Principais usos
• Arquitetura de microserviços
Principais usos
• Soluções escaláveis através do uso de
orquestradores e alternativas do tipo PaaS
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
Principais benefícios
• Isolamento
• Utilização mais racional de recursos
• Rapidez no deployment
• Menor dependência do ambiente
E com isto temos o fim do “bordão”...
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 2017
docker run --name testesqlserver2017 -e
"ACCEPT_EULA=Y" -e
"MSSQL_SA_PASSWORD=DockerSql2017!" -e
"MSSQL_PID=Developer" --cap-add SYS_PTRACE -p
11433:1433 -d microsoft/mssql-server-linux:2017-latest
+
Como conciliar projetos, dependências e
containers?
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
• Extremamente útil com microserviços
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
Integração Docker + Visual Studio 2017
+
Docker + Visual Studio 2017
• Integração para a criação de imagens e containers
Docker em aplicações ASP.NET Core
• Possibilidade até de debug a partir de um
container
Criar uma imagem Docker da aplicação
Exemplos práticos
ASP.NET Core 2.1 + Docker Alpine
+
ASP.NET Core 2.1 + Docker Alpine
https://github.com/renatogroffe/ASPNETCore2.1_Docker
ASP.NET Core 2.1 + Redis +
Marvel API + Docker Compose
+ +
+
ASP.NET Core 2.1 + Redis +
Marvel API + Docker Compose
https://github.com/renatogroffe/ASPNETCore2.1_Docker-Compose
Uma dificuldade recorrente entre Devs...
• Como implementar soluções
similares a Windows Services e
multiplataformas?
• Como conseguir isto com o
máximo de reaproveitamento
de código?
Docker de novo!!!
Monitoramento de sites/hosts - Exemplo
+ +
+
Monitoramento de sites/hosts - Exemplo
https://github.com/renatogroffe/Services-DotNetCore2-Docker
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 Container Service
• 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
Azure Web App for Containers
• Hospedagem de aplicações
• Anteriormente conhecido como Azure
Web App on Linux
• Uso de Containers Docker
• Suporte a Continuous Integration
Azure Web App for Containers
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
• Criação de recursos a partir de
imagens, Docker Compose ou Pods do
Kubernetes
Azure Web App for Containers - Suporte
Exemplos Práticos
+ +
Exemplo Práticos com o Azure
• API REST criada com o ASP.NET Core 2.1
• Esta aplicação foi também publicada no
Docker Hub como a imagem
renatogroffe/apicontagem
• Contagem de acessos, além de exibição do
nome da máquina e do sistema
operacional em uso
Aplicação
• Fontes:
https://github.com/renatogroffe/ASPNETCore2.1_Kubernetes
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?
Utilizando orquestradores
E como a nuvem Microsoft fica nisto?
Azure Container Service
E mais recentemente
Azure Kubernetes Service (AKS)
conhecido anteriormente como AKS (managed Kubernetes)
+
Kubernetes: uma visão geral
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
• Diversas funcionalidades para gerenciamento
• kubectl → ferramenta de linha de comando
• Minikube → ambiente de testes
Kubernetes: gerenciamento de containers
• Orquestração
• Auto recuperação
• Reinício
• Replicação
• Escalonamento
Kubernetes: arquitetura
• Master
• Máquina que controla os Nodes (Nós)
• Responsável pelas atribuições de tarefas
aos Nodes
• Nodes
• Máquina que realizam as tarefas
atribuídas pelo Master
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
• Replication Controller
• Controla quantas cópias idênticas de um Pod
serão executadas e em quais locais do cluster
• Kubelet
• Serviço que garante a inicialização e execução
dos containers nos Nodes
Kubernetes: arquitetura
Exemplo Prático
• API REST criada com o ASP.NET Core 2.1
• Será utilizada a mesma API de contagem
de acessos dos exemplos anteriores
(publicada no Docker Hub como a imagem
renatogroffe/apicontagem)
• Criação de um cluster através do Azure
Kubernetes Service (AKS)
Aplicação
• Fontes:
https://github.com/renatogroffe/ASPNETCore2.1_Kubernetes
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
medium.com/@renato.groffe/

Mais conteúdo relacionado

PPTX
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
PPTX
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
PPTX
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
PPTX
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
PPTX
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
PPTX
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
PDF
Estendendo o kubernetes
ODP
Estaleiro o uso de kubernetes no serpro
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Estendendo o kubernetes
Estaleiro o uso de kubernetes no serpro

Mais procurados (20)

PPTX
Docker | Minicurso Gratuito - Azure na Prática
PDF
Kubecon EU 2019 Remarks
PDF
Workshop Docker
PPTX
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
PDF
O poder dos microsserviços com Docker e Kubernetes
PPTX
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
PPTX
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
PDF
Deploying Docker Containers
PDF
TDC 2016 Floripa - Workshop docker
PPTX
Kubernetes New Contributors Workshop - Brasil 2022
PPTX
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
PPTX
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
PDF
Troubleshooting docker
PDF
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
PDF
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
PDF
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
PDF
5. rodando containers docker na aws
PDF
Orquestrando Docker Containers: Machine, Swarm e Compose
PPTX
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
PDF
O poder do Docker (7 Masters)
Docker | Minicurso Gratuito - Azure na Prática
Kubecon EU 2019 Remarks
Workshop Docker
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
O poder dos microsserviços com Docker e Kubernetes
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Deploying Docker Containers
TDC 2016 Floripa - Workshop docker
Kubernetes New Contributors Workshop - Brasil 2022
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Troubleshooting docker
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
5. rodando containers docker na aws
Orquestrando Docker Containers: Machine, Swarm e Compose
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
O poder do Docker (7 Masters)
Anúncio

Semelhante a Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018 (20)

PPTX
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
PPTX
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
PPTX
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
PPTX
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
PPTX
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
PPTX
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
PPTX
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
PPTX
Docker para Desenvolvedores - Developers-BR - Agosto-2018
PPTX
Docker para Desenvolvedores - Developers-BR - Julho-2018
PPTX
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
PPTX
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
PPTX
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
PPTX
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
PPTX
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
PPTX
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
PPTX
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
PPTX
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
PPTX
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
PPTX
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
PPTX
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
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...
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Anúncio

Mais de Renato Groff (20)

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

Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018