Anzeige

Reactive architecture e microservices microservices, ap is e event driven (1)

Software Architect um Sensedia
7. Oct 2016
Anzeige

Más contenido relacionado

Similar a Reactive architecture e microservices microservices, ap is e event driven (1)(20)

Anzeige

Último(20)

Reactive architecture e microservices microservices, ap is e event driven (1)

  1. + Reactive Architecture e Microservices: Microservices, APIs e Event Driven
  2. http://sensedia.com/blog/ Petterson Andrade Software Architect @ Sensedia petterson.andrade@sensedia.com @pett4j
  3. Topic Title Agenda 1. Microservice 2. Microservice 3. Microservice
  4. Arquitetura de software
  5. Pessoas
  6. Monolitico x Microservices Cruzeiro x Atlético Grêmio x Inter
  7. Microservices
  8. Single Responsibility principle Dividir para conquistar Foco Pequeno Bem Feito
  9. Por que adotar? - Escolha a tecnologia certa para resolver o problema - Você não precisa repassar um problema você pode isolar e se recuperar - Você precisa escalar somente o que vai utilizar - Desenvolva e teste rápido e focado - Serviço pequeno, menos conflito, menos erros e mais produtividade - Re-uso! Não reinvente a roda! - Otimize, joge fora e faça melhor!
  10. SOA == Microservices (true) SOA != Microservices (true)
  11. O princípios são iguais Desacoplamento Isolamento Composição Integração Serviços autồnomos
  12. A falta dos princípios não ESB ligando monolíticos Comunicação complicada Ineficiência Sem flexibilidade
  13. SOA == Microservices SOA Microservices
  14. Strangler Application Pattern Martin Fowler - 29 June 2004
  15. Paul Hammant http://paulhammant.com/2013/ 07/14/legacy-application-strang ulation-case-studies/
  16. Você venceu sua jornada: é o fim do monolítico
  17. Mas lembre-se: Você está em rota de colisão
  18. E agora? Quem poderá nos defender?
  19. San Newman samnewman.io
  20. Chris Richardson microservices.io
  21. Jonas Bonér www.lightbend.com
  22. Martin Fowler martinfowler.com
  23. Eric Evans domainlanguage.com/ddd
  24. The Reactive Manifesto Published on September 16 2014. (v2.0)
  25. - Aplicações eram gigantes e com dezenas de servers - Segundo é a unidade de medida de resposta - Horas de manutenção e de sistemas fora do ar - Gigabytes é a unidade de medida de armazenamento
  26. - Aplicações distribuídas - Você faz tudo com um comando pelo smartphone - Nuvem rodando milhares de máquina multi-core - Milissegundos é obrigatoriamente a unidade de medida de resposta - 100% uptime. - Data is measured in Petabytes.
  27. Transformação Digital
  28. S M A C IoT TODO NEGÓCIO SERÁ DIGITAL
  29. The Reactive Manifesto Se um sistema é: Responsive, Resilient, Elastic and Message Driven, Ele pode ser chamado de Reactive System
  30. The Reactive Manifesto: Responsive Sempre da feedback aos usuários Responde em tempo hábil Detecta problemas e trata Rápido e consistente Alta confiabilidade .
  31. The Reactive Manifesto: Resilient Responde em caso de falha Replicação contenção, isolamento e delegação.
  32. The Reactive Manifesto: Elastic Continua responsivo mesmo com aumento da demanda Aumenta e diminui os recursos conforme a demanda Distribui demanda
  33. The Reactive Manifesto: Message Driven Usa mensagens assíncronas Baixo acoplamento Tratamento de erros por mensagem Comunicação não blocante Evita desgaste do sistema
  34. Aqui é reativo p…! BIIIIRRRLLL! Sai de casa escrevi código pra c……!
  35. Fonte de dados isolada
  36. Event Driven Data
  37. Event Source
  38. Synchronous Versus Asynchronous
  39. 100 ms 70 ms 50 ms 100 ms Synchronous 320 ms Req Resp
  40. Req 70 ms 50 ms 100 ms Asynchronous Resp 100ms
  41. Req 70 ms 50 ms 100 ms Asynchronous Resp ?
  42. Backpressure
  43. - O sistema precisa ser capaz de reagir ao erro - Tempo de resposta não pode ser afetado - Não pode propagar o erro - Precisa ser capaz de fazer Rollback
  44. Asynchronous
  45. Orchestration vs Choreography
  46. Service 1 Service 3 Service 4 Service 2 Orchestration
  47. Service 1 Service 3 Service 4 Service 2 Choreography Service 3 pub sub sub sub
  48. API Management
  49. API Gateway
  50. API Gateway Simplifica o client side Roteamento Encapsulamento de serviços Tradução de protocolo
  51. Service Discovery
  52. - Inversão de controle - Cada serviço se registra - Configuração deixa de ser estática - Pode ser aplicado ao cliente - Deve ser aplicado ao server
  53. API / REST / RESTFul
  54. APIs The Digital Glue Backend Ecossistema de Parceiros Digitais Integrações com Aplicações SaaS Aplicações Móveis e Internet of Things
  55. - Over HTTP - Tira dependência de tecnologia - O sistema precisa ser capaz de reagir ao erro - Use padrões - Implemente Restful de verdade
  56. Hypermedia
  57. - Use HAL (Hypertext Application Language) - Hypermedia garante flexibilidade - Possui suporte de várias bibliotecas
  58. Front-end isolado
  59. Aplicação 1 Aplicação Web App HTML JS Services Acoplado Desacoplado Web App HTML JS Aplicação 2 Services
  60. WEB Sockets
  61. - Padrão no HTTP 2.0 - Torna o sistema mais responsivo Client API WebSocket Server Fire and forget Events
  62. Programação reativa
  63. - Padrão no HTTP 2.0 - Torna o sistema mais responsivo
  64. Programação reativa
  65. - Use ferramentas para auxiliar - RXJava - RXJS - Avalie usar imutabilidade - Avalie usar funcional
  66. Monitoramento
  67. - Monitore tudo que for possível e mais um pouco - Alerte a performance do serviço - Alerte qualquer anomalia a estrutura - Evite falsos positivos, refine os alertas - Avalie o tempo todo as métricas - Automatize e depois automatize de novo
  68. Scalability
  69. - Scale out - Services Stateless - Comunicação por eventos - Nunca use pooling - Deployment
  70. Deployment
Anzeige