DevCommerce Conference 2016: Microservices: poderes, padrões e dificuldades no e-commerce

188 views

Published on

Marcos Barbero, Sênior Developer da Netshoes, palestrou sobre "Microservices: poderes, padrões e dificuldades no e-commerce", no DevCommerce Conference 2016.

O DevCommerce Conference 2016 aconteceu nos dias 06 e 07 de junho de 2016, no Hotel Tivoli em São Paulo-SP http://devcommerce2016.imasters.com.br/

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
188
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DevCommerce Conference 2016: Microservices: poderes, padrões e dificuldades no e-commerce

  1. 1. MICROSERVICES - PODERES, PADRÕES E DIFICULDADES { email: marcos.hgb@gmail.com, linkedin: linkedin.com/in/marcosbarbero, github: github.com/marcosbarbero }
  2. 2. I AM... Marcos Barbero Senior Java Developer Netshoes Contribuidor Spring Framework
  3. 3. AGENDA O que são micro-serviços? O que NÃO são micro-serviços? Pre-requisitos / Desafios Conclusão
  4. 4. O QUE SÃO MICRO-SERVIÇOS? ... o modelo arquitetural de micro-serviços é a abordagem de desenvolver uma única aplicação como um grupo de serviços menores, cada um rodando seu próprio processo e deployaveis independentemente ... -- James Lewis and Martin Fowler
  5. 5. O QUE NÃO SÃO MICRO-SERVIÇOS?
  6. 6. WELCOME TO THE JUNGLE PATTERN
  7. 7. WELCOME TO THE JUNGLE PATTERN
  8. 8. PRE-REQUISITOS / DESAFIOS Service Discovery & Registration Configurações centralizadas Edge Services: Micro Proxies e API Gateways Roteamento e balanceamento Tolerância à falhas (Circuit Breakers) Security and Single Sign-On Complexidade Operacional Monitoração Distributed Tracing Cultura DevOps
  9. 9. SERVICE DISCOVERY & REGISTRATION Instâncias podem e vão mudar de endereço Desacoplar do client o endereço do serviço Catalogo de instâncias à partir do nome lógico
  10. 10. SERVICE DISCOVERY FLOW
  11. 11. FERRAMENTAS Netflix Eureka Apache Zookeeper HarshiCorp Consul
  12. 12. CONFIGURAÇÕES CENTRALIZADAS Manifesto Externalizar configurações do build Mesmo build rodando em qualquer ambiente 12factor
  13. 13. FERRAMENTAS Spring Cloud Config Netflix Archaius Apache Zookeeper HashiCorp Consul
  14. 14. CLOUD BUS
  15. 15. ROTEAMENTO E BALANCEAMENTO Client side Somente para comunicação entre serviços
  16. 16. CLIENT SIDE LOAD BALANCING
  17. 17. FERRAMENTAS Netflix Ribbon Netflix Feign
  18. 18. API GATEWAY Vivem na borda do datacenter Expostos através de um DNS
  19. 19. RESPONSABILIDADES Roteamento Balanceamento CORS Segurança Etc...
  20. 20. API GATEWAY PATTERN
  21. 21. CIRCUIT BREAKER Tolerância à falhas Efeito dominó
  22. 22. CIRCUIT BREAKER FLOW
  23. 23. CIRCUIT BREAKER FLOW
  24. 24. FERRAMENTAS Play Framework Netflix Hystrix
  25. 25. SEGURANÇA & SINGLE SIGN-ON Verificar procedência e autenticidade Requisições externas somente pelo API Gateway Auth Server OAuth2
  26. 26. FERRAMENTAS Spring Security OAuth
  27. 27. COMPLEXIDADE OPERACIONAL Monitoração Distributed Tracing
  28. 28. MONITORAÇÃO
  29. 29. FERRAMENTAS Spring Boot Actuator Dropwizard ELK Graylog Statsd Graphite
  30. 30. DISTRIBUTED TRACING
  31. 31. FERRAMENTAS Spring Cloud Sleuth Apache HTrace Twitter Zipkin
  32. 32. CULTURA DEVOPS
  33. 33. CONCLUSÃO It is not necessary to change. Survival is not mandatory. -W. Edwards Deming
  34. 34. PERGUNTAS?
  35. 35. LINKS { reference: [ martinfowler.com/microservices, martinfowler.com/articles/microservice-trade-offs.html, martinfowler.com/bliki/MicroservicePrerequisites.html, 12factor.net, presos.dsyer.com/decks/oauth-rest.html, github.com/joshlong/power-patterns-pains-of-microservices ], email: marcos.hgb@gmail.com, linkedin: linkedin.com/in/marcosbarbero, github: github.com/marcosbarbero }

×