Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura de APIs e Containers na AWS

241 views

Published on

João Emilio (Director, devThinkers)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura de APIs e Containers na AWS

  1. 1. Arquiteto de Soluções Substituindo Servidores de Aplicação por Arquitetura de APIs em Containers João Emilio
  2. 2. 1. Aplicações Monolíticas vs. Microserviços 2. Cenário Atual e Futuro de uma Aplicação 3. Migração de uma aplicação Monolítica para MSA a. WSO2 MSF4J: Decompondo serviços b. Docker na AWS: Containers e Orquestração c. WSO2 API Manager: Expondo serviços d. Mobile: Consumindo APIs numa mobile app 4. Considerações Finais Agenda O que vamos discutir hoje? 2
  3. 3. 1. Martin Fowler, James Lewis, Sam Newman, Adrian Cockcroft 2. WSO2, Netflix TechBlog, IBM Developer Works 3. Edgar (WSO2), Fabio Santos (IBM), Bruno Tonetto (Oracle), Renato César (Cognizant) Background Recursos, Referências e discussões 3
  4. 4. Aplicações Monolíticas vs. Microserviços
  5. 5. Aplicações Monolíticas 5 HTML MVCJavaScript Service Service Data Access Database UI Storage Access Storage
  6. 6. MicroServices Architecture (MSA) 6 ?
  7. 7. MicroServices Architecture (MSA) 7 Service Storage Access Database UI Service Data Access UI Service Storage Events
  8. 8. MicroServices Architecture (MSA) 8 Service Storage Access Database UI Service Data Access UI Service Storage Events X
  9. 9. Cenário Atual e Futuro
  10. 10. Cenário Atual 10 EC2 Instance1 MySQL DB instance EC2 Instance2 AWS ELB
  11. 11. Cenário Atual 11 EC2 Instance1 MySQL DB instance EC2 Instance2 AWS ELB ? Aplicativos com novas funcionalidades?
  12. 12. 1. Aplicativo Móvel: Ask The Vet a)  Buscar veterinário para fazer perguntas b)  Submeter perguntas Cenário Futuro O que precisa ser feito? 12
  13. 13. Cenário Futuro 13 EC2 Instance1 PetClinic DB instanceEC2 Instance2AWS ELB Vets DB instance AskTheVet DB Instance Ask The Vet
  14. 14. Migração: WSO2 MSF4J – Decompondo e Criando Serviços
  15. 15. Decompondo Serviços Por onde começar? 15 q MSA não é apenas Design q O que é “micro”? q Strangler Application q “Pare de cavar” (Stop Digging) q Separar FrontEnd e BackEnd
  16. 16. Criando Serviços Por onde começar? 16 q Tentar Netty em vez de Tomcat (non-blocking I/O speedup) + Lightweight, “Thiner” Jar vs. Fat Jar. q WSO2 MSF4J q Descentralizar Gerenciamento de Dados q Fluxos de compensação (ESB / Broker / Integration) q Monolith First q Client Libaries q Versioning
  17. 17. WSO2 MSF4J Live Demo 17
  18. 18. Migração: Docker na AWS - Containers e Orquestração
  19. 19. 19   Best Practices
  20. 20. 20   Images
  21. 21. • Use Amazon ECS Base AMI (Linux fork Redhat/ CentOS) • 1 processo por container • 1 container por Task (reduzir acoplamento) • NÃO “dockerize” tudo (Avoid Golden Hammer) – Databases fora de containers – Containers são “efêmeros” • Centralize seus logs em apenas um lugar (tags, search, format, devops) 21   Best Practices
  22. 22. • Application Load Balancers – Path based – Dynamic ports • EFS quando possível / pay per use – Latência pode ser um problema • CloudFormation / Terraform 22   Best Practices
  23. 23. Cenário Futuro 23 EC2 Instance1 PetClinic DB instanceEC2 Instance2AWS ELB Vets DB instance Amazon ECS - Cluster Amazon ECS - Cluster AskTheVet DB Instance Ask The Vet /petclinic
  24. 24. Containers e Orquestração com AWS ECS Live Demo 24
  25. 25. Migração: WSO2 API Manager - Expondo Serviços
  26. 26. 26   WSO2 API Manager
  27. 27. 27   API Management http://sanjeewamalalgoda.blogspot.com.br/2016/07/
  28. 28. WSO2 API Manager Live Demo 28
  29. 29. Migração: Consumindo APIs numa Aplicação Móvel
  30. 30. 30   AWS Cognito
  31. 31. •  Live Demo Aplicação Móvel 31
  32. 32. Referências
  33. 33. •  https://wso2.com/library/articles/2016/10/article-the-benefits-of-exposing- microservices-in-wso2-api-manager/ •  https://github.com/wso2/msf4j •  http://wso2.com/blogs/thesource/tag/microservices/ •  https://www.infoq.com/presentations/migration-cloud-native •  https://www.martinfowler.com/bliki/StranglerApplication.html •  https://www.nginx.com/wp-content/uploads/2015/01/ Building_Microservices_Nginx.pdf Referências (1) 33
  34. 34. •  James Lewis Podcast –  http://www.se-radio.net/2014/10/episode-213-james-lewis-on- microservices/ •  Martin Fowler – Monolith First –  https://martinfowler.com/bliki/MonolithFirst.html •  Refactoring a Monolith –  https://www.nginx.com/blog/refactoring-a-monolith-into- microservices/ •  Martin Fowler – Microservice Premium –  https://martinfowler.com/bliki/MicroservicePremium.html Referências (2) 34
  35. 35. wso2.com 35

×