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.

Introduction to microservices Jornada Microservices

Microservices Talk Summit Journey Day 2020

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Introduction to microservices Jornada Microservices

  1. 1. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices
  2. 2. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Who am I? 2 Roan Brasil @roanbrasil Java Developer at Astek Canada + JCP-Member + Open Source Contributor + Book and blog writer Speaker
  3. 3. Confidentialité:ConfidentielEntreprise ▪ DEFINITION OF MICROSERVICES ▪ MICROSERVICE ARCHITECTURE ▪ TOP Benefits and Drawbacks ▪ Example ▪ TIPS ▪ Message ▪ QUESTIONS ? Jornada Summit: Introduction to Microservices SUMMARY 3
  4. 4. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices A small introduction… before PANGAEA, after PANGAEA 4
  5. 5. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices A small introduction… Evolution History 5 Modular Programming Object-Oriented Distributed Objects Programming based on Components SOA Service Oriented Architecture REST Representational State Transfer
  6. 6. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices A small introduction… Granularity of Architectures 6
  7. 7. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices A small introduction… Monolithics x Microservices Model 7
  8. 8. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices A small introduction… Load Balancer in Monolithics Model 8
  9. 9. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices A small introduction… Monolithics Architecture 9
  10. 10. Confidentialité:ConfidentielEntreprise ▪ Small Autonomous services, that work together modelled around business domain. Jornada Summit: Introduction to Microservices A small introduction… Sam Newman definition of Microservices 10
  11. 11. Confidentialité:ConfidentielEntreprise ▪ "In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery." Jornada Summit: Introduction to Microservices A small introduction… Martin Fowler definition of Microservices 11
  12. 12. Confidentialité:ConfidentielEntreprise ▪ Jon Eaves, from RealEstate.com.au, told once, that microservice is something that could be rewritten in two weeks, a rule of thumb that makes sense for his particular context. Jornada Summit: Introduction to Microservices A small introduction… Best definition of Microservices 12
  13. 13. Confidentialité:ConfidentielEntreprise ▪ It is a small piece of business domain, (the sub-domain and bounded context) that is totally independent, and must be done by a Squad in Agile Environment, deployable anywhere in a private or public Cloud using IAAS, SAAS or PAAS using often the protocols such as Rest or gRPC in a continuous integration and continuous delivery. Jornada Summit: Introduction to Microservices A small introduction… My definition of Microservices 13
  14. 14. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Business Domain (The Sub-domain and Bounded Context) 14
  15. 15. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Independent 15 by Martin Fowler Blog
  16. 16. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Independent 16 by Martin Fowler Blog
  17. 17. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Squad in Agile Environment 17 For more information: https://medium.com/@achardypm/agile-team-organisation-squads-chapters-tribes-and-guilds-80932ace0fdc
  18. 18. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Deployable anywhere 18
  19. 19. Confidentialité:ConfidentielEntreprise LUNCH AND LEARN Introduction to Microservices Microservices Ecosystem: Explaining my definition: private or public Cloud 19
  20. 20. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: IAAS, SAAS, PAAS 20 Furnitures Plates Oven Ingredients Chef/Cooker Furnitures Plates Oven Ingredients Chef/Cooker Furnitures Plates Oven Ingredients Chef/Cooker Furnitures Plates Oven Ingredients Chef/Cooker Made at Home Home Based Frozen IaaS Infrastructure as a Service Delivered PaaS Plataforma as a Service Restaurant SaaS Software as a Service You manage You do not manage
  21. 21. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Rest or gRPC 21 REST is acronym for REpresentational State Transfer. It is architectural style for distributed hypermedia systems and was first presented by Roy Fielding in 2000 in his famous dissertation.
  22. 22. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: Rest or gRPC 22 gRPC is a modern open source high performance remote procedure call (RPC) framework that can run in any environment. Initially developed at Google 2015 using HTTP/2 protocol. https://grpc.io/ https://developers.google.com/protocol-buffers/ message Person { required string name = 1; required int32 id = 2; optional string email = 3; } Person.proto Person john = Person.newBuilder() .setId(1234) .setName("John Doe") .setEmail("jdoe@example.com") .build(); output = new FileOutputStream(args[0]); john.writeTo(output); Main.class
  23. 23. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: CI / CD 23
  24. 24. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: CI / CD 24
  25. 25. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Ecosystem: Explaining my definition: CI / CD 25
  26. 26. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Architectures 26 User Front-End API Gateway Microservices Role-Authorization Microservice B (Java) Microservice A (Go) Cloud
  27. 27. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Architectures 27
  28. 28. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices Architectures 28
  29. 29. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Microservices: TOP Benefits and Drawbacks 29 Benefits Drawbacks Smaller and faster deployments Harder to test and monitor because of complexity of the architecture Easy of understanding Debugging problems can be harder Better Scalability Communication between services is complex (networking latency, message processing) Faster time to market Security implementation is more complex than a Monolithic (inter-service communication) Isolated services have better fault tolerance Require Cultural Change (mature agile and DevOps culture) Platform and language agnostics services Hard to maintain with a small team
  30. 30. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Example Spring Boot 30
  31. 31. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Example Spring Boot 31
  32. 32. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Example Spring Boot 32
  33. 33. Confidentialité:ConfidentielEntreprise ▪ 12 Factor : → https://12factor.net/ ▪ Microservices Pattern: → https://microservices.io/ ▪ Cloud Native Computing Native: → https://www.cncf.io/ → https://www.landscape.cncf.io/ ▪ Martin Fowler Blog: → https://martinfowler.com/ Jornada SUmmit: Introduction to Microservices Great Tips for Starting Microservices 33
  34. 34. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Great Book for Starting Microservices 34
  35. 35. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Tips for Tools 35
  36. 36. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Tips for Tools 36
  37. 37. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices MESSAGE 37
  38. 38. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices Contatos 38 @roanbrasil
  39. 39. Confidentialité:ConfidentielEntreprise Jornada Summit: Introduction to Microservices QUESTIONS 39

×