SlideShare a Scribd company logo
1 of 19
Felipe Adorno
- Head of IT Monkey Exchange
- Contribuições:
https://github.com/FelipeAdorno
https://br.linkedin.com/in/felipeadorno
https://twitter.com/felipe_adorno
https://fadorno.wordpress.com
felipeadsc@gmail.com
Microservices, o que ainda
não ficou claro?
Como era o
desenvolvimento de
software no passado?
Com o que a gente se preocupava?
- Divisão do projeto em módulos
- Usar uma camada de facade?
- Usar JSF, Spring MVC e etc.
- O sucesso do projeto e as falhas eram menores?
- Quais eram os pontos de falha?
Onde eu quero chegar com
isso?
Algumas perguntas que ouço:
- Vou começar um projeto novo, então já começo com microservices?
- Onde eu tenho que usar Circuit Breaker?
- Qual ferramenta de fila eu vou usar?
- Subo tudo em docker? Vou subir tudo na amazon?
- Vou usar NoSql ou SQL?
- Vou trabalhar com DDD?
E porque sempre
começamos pensando na
tecnologia?
Mas, o mais importante não
é o negócio?
O que isso tem haver com
microservices?
Microservice é um Bounded
Context, se não é deveria :)
E como os monolitos fazem
a integração de Bounded
Contexts?
E como os microservices
fazem a integração entre
Bounded Contexts?
E qual é a maneira certa?
Banco de dados?
Separa a minha camada de
dados da minha camada de
API?
API Gateway como usar e
quando usar?
E a parte de autenticação,
deixo no api gateway ou
criou um microservice para
autenticação?
O que fazer pra melhorar?
- Comece seu projeto pensando no negócio e não na tecnologia.
- Antes de sair escrevendo código entenda e tenha certeza do que você está fazendo.
- Crie seus pacotes divididos em contexto de negócio.
- Cada pacote é o “bounded context” dentro do microservice.
- Pulic são apenas suas classes de data e suas interfaces.
- Remova o public da sua IDE.

More Related Content

What's hot

[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
Jaqueline Ramos
 

What's hot (18)

Testando o intestável com Microsoft Fakes
Testando o intestável com Microsoft FakesTestando o intestável com Microsoft Fakes
Testando o intestável com Microsoft Fakes
 
Aspnetmvc
AspnetmvcAspnetmvc
Aspnetmvc
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016
 
Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?
 
#Javou10 - Testes E2E com JavaScript
#Javou10 - Testes E2E com JavaScript#Javou10 - Testes E2E com JavaScript
#Javou10 - Testes E2E com JavaScript
 
Porque nosso time parou de estimar
Porque nosso time parou de estimarPorque nosso time parou de estimar
Porque nosso time parou de estimar
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
É possível desenvolver com Windows
É possível desenvolver com WindowsÉ possível desenvolver com Windows
É possível desenvolver com Windows
 
JAVA + WEB + CODESHOUSE
JAVA + WEB + CODESHOUSEJAVA + WEB + CODESHOUSE
JAVA + WEB + CODESHOUSE
 
Automatizando a entrega/deploy de software
Automatizando a entrega/deploy de softwareAutomatizando a entrega/deploy de software
Automatizando a entrega/deploy de software
 
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
 
Make Java fun again com Spring Boot
Make Java fun again com Spring BootMake Java fun again com Spring Boot
Make Java fun again com Spring Boot
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
 
Qs5
Qs5Qs5
Qs5
 
ASP.Net MVC 3 - o que há de novo (TechEd)
ASP.Net MVC 3 - o que há de novo (TechEd)ASP.Net MVC 3 - o que há de novo (TechEd)
ASP.Net MVC 3 - o que há de novo (TechEd)
 
Automatizando a entrega de software
Automatizando a entrega de softwareAutomatizando a entrega de software
Automatizando a entrega de software
 

Similar to Microservices

Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - Campinas
Anderson de Castro
 

Similar to Microservices (20)

99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring Boot
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Micro frontend
Micro frontendMicro frontend
Micro frontend
 
DevInCachu 2012: Desenvolvendo Aplicacoes RIA com ExtJS 4 e Sencha Touch 2
DevInCachu 2012: Desenvolvendo Aplicacoes RIA com ExtJS 4 e Sencha Touch 2DevInCachu 2012: Desenvolvendo Aplicacoes RIA com ExtJS 4 e Sencha Touch 2
DevInCachu 2012: Desenvolvendo Aplicacoes RIA com ExtJS 4 e Sencha Touch 2
 
Os príncipios por trás do DevOps
Os príncipios por trás do DevOpsOs príncipios por trás do DevOps
Os príncipios por trás do DevOps
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - Campinas
 
Mvc 3 & razor
Mvc 3 & razorMvc 3 & razor
Mvc 3 & razor
 
MVC 3 & razor (DevBrasil Summit 2011)
MVC 3 & razor (DevBrasil Summit 2011)MVC 3 & razor (DevBrasil Summit 2011)
MVC 3 & razor (DevBrasil Summit 2011)
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
 
Microsoft -> apps
Microsoft -> appsMicrosoft -> apps
Microsoft -> apps
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Gerenciando seus Crushs com Power BI e Node JS
Gerenciando seus Crushs com Power BI e Node JSGerenciando seus Crushs com Power BI e Node JS
Gerenciando seus Crushs com Power BI e Node JS
 
DevOps - Operação contínua
DevOps - Operação contínuaDevOps - Operação contínua
DevOps - Operação contínua
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?
 
Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
além do mvp com php
além do mvp com phpalém do mvp com php
além do mvp com php
 

Microservices

  • 1. Felipe Adorno - Head of IT Monkey Exchange - Contribuições: https://github.com/FelipeAdorno https://br.linkedin.com/in/felipeadorno https://twitter.com/felipe_adorno https://fadorno.wordpress.com felipeadsc@gmail.com
  • 2. Microservices, o que ainda não ficou claro?
  • 3. Como era o desenvolvimento de software no passado?
  • 4.
  • 5. Com o que a gente se preocupava? - Divisão do projeto em módulos - Usar uma camada de facade? - Usar JSF, Spring MVC e etc. - O sucesso do projeto e as falhas eram menores? - Quais eram os pontos de falha?
  • 6. Onde eu quero chegar com isso?
  • 7. Algumas perguntas que ouço: - Vou começar um projeto novo, então já começo com microservices? - Onde eu tenho que usar Circuit Breaker? - Qual ferramenta de fila eu vou usar? - Subo tudo em docker? Vou subir tudo na amazon? - Vou usar NoSql ou SQL? - Vou trabalhar com DDD?
  • 8. E porque sempre começamos pensando na tecnologia?
  • 9. Mas, o mais importante não é o negócio?
  • 10. O que isso tem haver com microservices?
  • 11. Microservice é um Bounded Context, se não é deveria :)
  • 12. E como os monolitos fazem a integração de Bounded Contexts?
  • 13. E como os microservices fazem a integração entre Bounded Contexts?
  • 14. E qual é a maneira certa?
  • 16. Separa a minha camada de dados da minha camada de API?
  • 17. API Gateway como usar e quando usar?
  • 18. E a parte de autenticação, deixo no api gateway ou criou um microservice para autenticação?
  • 19. O que fazer pra melhorar? - Comece seu projeto pensando no negócio e não na tecnologia. - Antes de sair escrevendo código entenda e tenha certeza do que você está fazendo. - Crie seus pacotes divididos em contexto de negócio. - Cada pacote é o “bounded context” dentro do microservice. - Pulic são apenas suas classes de data e suas interfaces. - Remova o public da sua IDE.