Microservices com ASP.NET 5

1.379 visualizações

Publicada em

Palestra sobre Microservices ministrada no evento ASP.NET Brasil Conference 2015.

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.379
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Microservices com ASP.NET 5

  1. 1. UMA VISÃO DO FUTURO Microservices com ASP.NET 5
  2. 2. 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
  3. 3. APLICAÇÕES MONOLÍTICAS
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. ARQUITETURA DE MICROSERVICES
  8. 8. DEFINIÇÃO DE MICROSERVICES Modelo arquitetural definido por decomposição de uma aplicação em componentes gerenciáveis e instaláveis independentemente.
  9. 9. 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.
  10. 10. ARQUITETURA DOS MICROSERVICES
  11. 11. ARQUITETURA DOS MICROSERVICES
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. ARQUITETURA DOS MICROSERVICES PILHA TECNOLÓGICA INDEPENDENTE Microservice #1 Microservice #2
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. CASES DE SUCESSO MICROSERVICES
  20. 20. MICROSERVICES COM DOCKER
  21. 21. 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
  22. 22. REFERÊNCIA BUILD MICROSERVICES Sam Newman
  23. 23. 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
  24. 24. REFERÊNCIAS http://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
  25. 25. OBRIGADO DÚVIDAS?

×