microservices com asp.net 5
TRANSCRIPT
![Page 1: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/1.jpg)
UMA VISÃO DO FUTURO
Microservices com ASP.NET 5
![Page 2: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/2.jpg)
WALDYR FELIX
Arquiteto Líder no Time de Operações Críticas & Consultoria da FCamara
Microsoft MVP de ASP.NET desde 2012
Fundador do Grupo ASP.NET BRASIL
Blog: waldyrfelix.net
Twitter/LinkedIn/Facebook: waldyrfelix
![Page 3: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/3.jpg)
APLICAÇÕES MONOLÍTICAS
![Page 4: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/4.jpg)
APLICAÇÕES MONOLÍTICAS
1 esquema de build
1 esquema de deployment
1 única arquitetura
1 única pilha tecnológica
Vantagens
1. Simples de desenvolver
2. Simples de escalar horizontalmente
3. Fácil de padronizar
4. Fácil de replicar
![Page 5: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/5.jpg)
APLICAÇÕES MONOLÍTICAS
Desvantagens
1. Difícil de mudar, por alto impacto
2. Difícil adoção de novas tecnologias
3. Com o tempo fica complicado de manter
4. Refatorar pode levar horas
5. Escalabilidade limitada
6. Geralmente foge do controle
7. Rapidamente torna-se um gigante
![Page 6: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/6.jpg)
APLICAÇÕES MONOLÍTICAS
Casos Reais
1. Método com 1890 linhas
2. Classes com mais de 3 mil linhas
3. Manutenability Index = 0
4. Query SQL com 1780 linhas
![Page 7: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/7.jpg)
ARQUITETURA DE MICROSERVICES
![Page 8: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/8.jpg)
DEFINIÇÃO DE MICROSERVICES
Modelo arquitetural definido por decomposição de
uma aplicação em componentes gerenciáveis e
instaláveis independentemente.
![Page 9: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/9.jpg)
DEFINIÇÃO DE MICROSERVICES
A decomposição deve ser feita de forma vertical;
Instalação independente, significa que não deve haver estado compartilhado
entre serviços;
A comunicação deve ser feita entre processos via HTTP/REST;
O termo “micro” refere-se ao tamanho dos componentes.
![Page 10: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/10.jpg)
ARQUITETURA DOS MICROSERVICES
![Page 11: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/11.jpg)
ARQUITETURA DOS MICROSERVICES
![Page 12: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/12.jpg)
ARQUITETURA DOS MICROSERVICES
Filosofia Unix de aplicações
“Faça apenas uma coisa e faça bem”
Cada Microservice deve representar um recurso da aplicação
Por exemplo: Produto, Cliente, Carrinho, Pedido, etc.
Deve possuir sua própria forma de gestão de dados
![Page 13: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/13.jpg)
ARQUITETURA DOS MICROSERVICES
DEPLOYMENT
Chave para a construção dos Microservices
Habilita flexibilidade de tecnologia, escalabilidade
Deve ser tão fácil quanto apertar um botão
Evolução independente do código e features
![Page 14: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/14.jpg)
ARQUITETURA DOS MICROSERVICES
UMA BASE DE CÓDIGO
Fácil de ser mantido pelos desenvolvedores
Refatoração, merge, branch, build e testes
tornam-se mais rápidos
Sem forte acoplamento ou dependência circular
![Page 15: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/15.jpg)
ARQUITETURA DOS MICROSERVICES
PILHA TECNOLÓGICA INDEPENDENTE
Microservice #1 Microservice #2
![Page 16: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/16.jpg)
ARQUITETURA DOS MICROSERVICES
COMUNICAÇÃO
HTTP/HTTPS – Protocolo base de comunicação
REST – Interfaces de exposição de recursos e
operações baseadas nos métodos HTTP
JSON – Representação e serialização de dados
![Page 17: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/17.jpg)
ARQUITETURA DOS MICROSERVICES
Baseado em Padrões
Natural Web Architecture
Fácil de Escalar
Fácil e Rápido de Manter
Gestão de Código Independente
Gestão de Dados Independente
Fácil Fazer Deployment
![Page 18: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/18.jpg)
ARQUITETURA DOS MICROSERVICES
Comunicação Entre Serviços
Integração de Base de Dados
Difícil padronizar
Precisa de Infraestrutura Preparada
Precisa de Mais Automação
Precisa de Mais Monitoramento
Difícil Controle de Evolução
![Page 19: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/19.jpg)
CASES DE SUCESSO MICROSERVICES
![Page 20: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/20.jpg)
MICROSERVICES COM DOCKER
![Page 21: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/21.jpg)
DEMONSTRAÇÃO DOCKER + ASP.NET 5
1. docker pull microsoft/aspnet
2. docker images
3. git clone https://github.com/waldyrfelix/MicroservicesDemo.git
4. Dockerfile
5. docker build -t aspnetbr/produto .
6. docker images
7. docker run -it -p 80:5000 aspnetbr/produto
![Page 22: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/22.jpg)
REFERÊNCIA
BUILD MICROSERVICESSam Newman
![Page 23: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/23.jpg)
FUTURO DOS MICROSERVICES
Microsoft anunciou o Windows Nano Server para hosting de aplicações leves
Microsoft anunciou parceria com o Docker
Microsoft anunciou Windows 10 para IoT
Microsoft anunciou Windows Server Container
![Page 24: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/24.jpg)
REFERÊNCIAShttp://martinfowler.com/articles/microservices.html
http://azure.microsoft.com/blog/2014/10/15/new-windows-server-containers-and-azure-support-for-docker/
http://martinfowler.com/bliki/MicroservicePrerequisites.html
https://sudo.hailoapp.com/web/2014/12/08/webapps-as-microservices/
http://www.infoq.com/articles/microservices-intro
http://azure.microsoft.com/blog/tag/docker/
http://www.infoq.com/minibooks/emag-microservices
http://www.amazon.com/gp/product/1491950358
http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
https://msdn.microsoft.com/en-us/virtualization/windowscontainers.aspx
https://www.docker.com/
https://registry.hub.docker.com/u/microsoft/aspnet/
https://github.com/waldyrfelix/MicroservicesDemo
https://circleci.com/docs/docker
http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx
![Page 25: Microservices com ASP.NET 5](https://reader033.vdocuments.net/reader033/viewer/2022042716/55c72b0abb61eba54b8b4655/html5/thumbnails/25.jpg)
OBRIGADO DÚVIDAS?