SlideShare uma empresa Scribd logo
UMA VISÃO DO FUTURO
Microservices com ASP.NET 5
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
APLICAÇÕES MONOLÍTICAS
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
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
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
ARQUITETURA DE
MICROSERVICES
DEFINIÇÃO DE MICROSERVICES
Modelo arquitetural definido por decomposição de
uma aplicação em componentes gerenciáveis e
instaláveis independentemente.
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.
ARQUITETURA DOS MICROSERVICES
ARQUITETURA DOS MICROSERVICES
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
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
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
ARQUITETURA DOS MICROSERVICES
PILHA TECNOLÓGICA INDEPENDENTE
Microservice #1 Microservice #2
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
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
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
CASES DE SUCESSO MICROSERVICES
MICROSERVICES COM DOCKER
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
REFERÊNCIA
BUILD MICROSERVICES
Sam Newman
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
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
OBRIGADO DÚVIDAS?

Mais conteúdo relacionado

PPSX
Comunicação em Tempo Real com ASP.Net SignalR
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
PPTX
Campus Party 2014 - Desenvolvimento Web com ASP.NET
PDF
Vantagens e desvantagens de uma arquitetura microservices
PPTX
Novidades do ASP.NET 5.X
PDF
Workshop soa, microservices e devops
PPTX
Estudo de caso ASP.NET MVC e Silverlight
PDF
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Comunicação em Tempo Real com ASP.Net SignalR
Futuro do ASP.NET vNext - MVP ShowCast
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Vantagens e desvantagens de uma arquitetura microservices
Novidades do ASP.NET 5.X
Workshop soa, microservices e devops
Estudo de caso ASP.NET MVC e Silverlight
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)

Mais procurados (20)

PDF
Introdução à Microservices
PDF
TDC 2014 - Arquitetura front-end com AngularJS
PPTX
O Futuro do ASP.NET
PPTX
Introdução aos Conceitos do WSO2 ESB
PPTX
Microservices
PPTX
Integração utilizando REST API e Microservices
PPTX
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
PDF
WSO2 - Portfólio de Produtos, Soluções e Suportes
PPTX
A nova geração da arquitetura web para a era da nuvem
PPSX
Netshoes - API Gateway
PPTX
ASP.NET Web Forms X ASP.NET MVC
PPTX
ASP.NET MVC
PPTX
Docker para devs .NET
PPTX
Amadurecendo Equipes com Microservices
PDF
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
PPTX
Integrating Microservices
PPTX
Introdução ao AngularJS!
PDF
PPTX
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
PDF
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
Introdução à Microservices
TDC 2014 - Arquitetura front-end com AngularJS
O Futuro do ASP.NET
Introdução aos Conceitos do WSO2 ESB
Microservices
Integração utilizando REST API e Microservices
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
WSO2 - Portfólio de Produtos, Soluções e Suportes
A nova geração da arquitetura web para a era da nuvem
Netshoes - API Gateway
ASP.NET Web Forms X ASP.NET MVC
ASP.NET MVC
Docker para devs .NET
Amadurecendo Equipes com Microservices
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
Integrating Microservices
Introdução ao AngularJS!
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
Anúncio

Destaque (11)

PPTX
Microservice vs. Monolithic Architecture
PPTX
Performance do ASP.NET Core, um comparativo com Node.js
PPTX
ASP.NET SignalR + SPA com AngularJS
PPTX
ASP.NET Web API no Windows Azure
PPTX
ASP.NET MVC, para sua vida melhorar
PDF
Introduction to the Nancy Framework
PPTX
Ionic + Cordova para Desenvolvimento Mobile
PDF
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
PPTX
ECMAScript 6 / ECMAScript 2015 no Node.js
PPTX
PDF
MVP Canvas
Microservice vs. Monolithic Architecture
Performance do ASP.NET Core, um comparativo com Node.js
ASP.NET SignalR + SPA com AngularJS
ASP.NET Web API no Windows Azure
ASP.NET MVC, para sua vida melhorar
Introduction to the Nancy Framework
Ionic + Cordova para Desenvolvimento Mobile
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
ECMAScript 6 / ECMAScript 2015 no Node.js
MVP Canvas
Anúncio

Semelhante a Microservices com ASP.NET 5 (20)

PDF
Workshop Microservices - Arquitetura Microservices
PPT
Desvendando ASP.NET MVC
PPT
Desvendando ASP.NET MVC
PPTX
Microserviços - Universidade Metodista - EETI 2016
PPTX
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
PDF
Um método para o desenvolvimento de software baseado em microsserviços
PPTX
DevTalk 08/2019
PDF
Arquitetura evolutiva
PPTX
Comtec2010 asp.net mvc
PDF
Micro serviços com node.js
PPTX
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
PDF
Arquitetura de Micro Serviços
PDF
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
PPTX
Microservices
PPTX
Microservices - Canal .NET Dev Weekend
PPTX
Microservices 2
PDF
Tdc 2020 gerenciamento de incidente neste novo mundo
PPTX
Microservices - ALM Roadshow 2015
PDF
Aula-17-Semana-06-Microserviços Aula.pdf
PDF
Desafios de implantar uma arquitetura de microservices
Workshop Microservices - Arquitetura Microservices
Desvendando ASP.NET MVC
Desvendando ASP.NET MVC
Microserviços - Universidade Metodista - EETI 2016
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Um método para o desenvolvimento de software baseado em microsserviços
DevTalk 08/2019
Arquitetura evolutiva
Comtec2010 asp.net mvc
Micro serviços com node.js
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Micro Serviços
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
Microservices
Microservices - Canal .NET Dev Weekend
Microservices 2
Tdc 2020 gerenciamento de incidente neste novo mundo
Microservices - ALM Roadshow 2015
Aula-17-Semana-06-Microserviços Aula.pdf
Desafios de implantar uma arquitetura de microservices

Mais de Waldyr Felix (20)

PDF
Apache Kafka: Comunicando microsserviços com performance
PDF
Kubernetes: Escalando containers do Docker
PDF
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
PDF
HTTP/2. O que você precisa saber a nova versão do HTTP.
PPTX
Escalando Aplicações com Redis
PPT
Sistema de Notificações com SignalR TDC 2014
PPTX
ASP.NET MVC 5.x
PPTX
ASP.NET MVC & Entity Framework
PPTX
ASP.NET WEB API
PPTX
Produtividade na criação de websites com ASP.NET MVC
PPTX
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
PPTX
Asp.net web api
PPTX
Explorando Microsoft Fakes
PPTX
ASP.NET Web API
PPTX
Usando Scrum com Team Foundation Server 2012
PPTX
ASP.NET WebAPI HTTP Basic Auth
PPTX
ASP.NET Web API no Windows Azure
PPTX
Design de Software com ASP.NET MVC
PPTX
Entity Framework 5 & Migrations
PPTX
Novidades do ASP.NET MVC 4
Apache Kafka: Comunicando microsserviços com performance
Kubernetes: Escalando containers do Docker
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
HTTP/2. O que você precisa saber a nova versão do HTTP.
Escalando Aplicações com Redis
Sistema de Notificações com SignalR TDC 2014
ASP.NET MVC 5.x
ASP.NET MVC & Entity Framework
ASP.NET WEB API
Produtividade na criação de websites com ASP.NET MVC
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Asp.net web api
Explorando Microsoft Fakes
ASP.NET Web API
Usando Scrum com Team Foundation Server 2012
ASP.NET WebAPI HTTP Basic Auth
ASP.NET Web API no Windows Azure
Design de Software com ASP.NET MVC
Entity Framework 5 & Migrations
Novidades do ASP.NET MVC 4

Último (11)

PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Eng. Software - pontos essenciais para o início
PDF
Manejo integrado de pragas na cultura do algodão
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Utilizando code blockes por andre backes
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Arquitetura de computadores - Memórias Secundárias
Mecânico de Manutenção de Equipamentos.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Eng. Software - pontos essenciais para o início
Manejo integrado de pragas na cultura do algodão
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Utilizando code blockes por andre backes
Viasol Energia Solar -Soluções para geração e economia de energia

Microservices com ASP.NET 5