Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What is a Microservice?

86de5d185c65b3581247a2e1d7e32c3c?s=47 Chris
September 05, 2021

What is a Microservice?

It was 10 years ago that the term "microservice" was coined - that makes it as old as Agile on the Beach! But where did it come from, and what is it? In this light-hearted talk, we'll cover the history, the design and hopefully answer the question "what is a microservice?"

86de5d185c65b3581247a2e1d7e32c3c?s=128

Chris

September 05, 2021
Tweet

Transcript

  1. What is a microservice? Chris O’Dell Agile on the Beach

    2021
  2. @ChrisAnnODell About Me Senior Software Engineer 15+ years experience (inc:

    Monzo, Contino, JustEat, and 7digital) Speaker, Author, and Course Tutor
  3. What is a microservice? Chris O’Dell Agile on the Beach

    2021
  4. @ChrisAnnODell Microservice architecture – a variant of the service-oriented architecture

    (SOA) structural style – arranges an application as a collection of loosely-coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. - Wikipedia
  5. @ChrisAnnODell Where did the name come from? https://en.wikipedia.org/wiki/Microservices#History

  6. @ChrisAnnODell According to this paper https://arxiv.org/abs/1606.04036

  7. @ChrisAnnODell According to this paper https://arxiv.org/abs/1606.04036

  8. @ChrisAnnODell According to James Lewis & Martin Fowler https://martinfowler.com/articles/microservices.html

  9. @ChrisAnnODell According to James Lewis & Martin Fowler https://martinfowler.com/articles/microservices.html#footnote-etymology

  10. @ChrisAnnODell It’s everywhere! https://www.dataversity.net/a-brief-history-of-microservices/ https://www.infoq.com/presentations/microservices-roundtable-2020/ https://devopedia.org/microservices

  11. @ChrisAnnODell … so I contacted James

  12. @ChrisAnnODell Bruce Eckel

  13. @ChrisAnnODell Bruce Eckel

  14. @ChrisAnnODell Bruce Eckel

  15. @ChrisAnnODell Bruce Eckel Jimmy Nilsson

  16. @ChrisAnnODell Jimmy Nilsson

  17. What is a microservice? Chris O’Dell Agile on the Beach

    2021
  18. @ChrisAnnODell Microservice architecture – a variant of the service-oriented architecture

    (SOA) structural style – arranges an application as a collection of loosely-coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. - Wikipedia
  19. @ChrisAnnODell Service Oriented Architecture (SOA) https://www.flickr.com/photos/davegray/6865783407/

  20. @ChrisAnnODell SOA Principles Service Contract Composable Autonomy Stateless Reusable Loose

    Coupling Black boxes Granular Normalised Long lived
  21. @ChrisAnnODell Simple Object Access Protocol (SOAP) https://flylib.com/books/en/2.439.1.22/1/

  22. @ChrisAnnODell Distributed Computing https://www.sciencedirect.com/topics/computer-science/distributed-computing

  23. @ChrisAnnODell Modular Programming https://resources.altium.com/p/product-design-trends-in-2020-modular-hardware-vs-modular-software

  24. @ChrisAnnODell Microservices Modular Programming SOA Distributed Computing

  25. @ChrisAnnODell Back to Venice...

  26. @ChrisAnnODell Struggling with the maintenance of large codebases

  27. @ChrisAnnODell Instead of large things, why not make small things?

  28. Multiple Discovery

  29. @ChrisAnnODell Invention of the Telephone

  30. @ChrisAnnODell Invention of the Telephone

  31. Multiple Discovery Of Microservices

  32. @ChrisAnnODell The “workshop” in Venice http://2012.33degree.org/ James Lewis

  33. @ChrisAnnODell Alternative universe? Fred George https://www.slideshare.net/fredgeorge/micro-service-architecure

  34. @ChrisAnnODell Alternative universe? Adrian Cockcroft https://www.slideshare.net/adrianco/netflix-velocity-conference-2011

  35. So, what is a microservice?

  36. @ChrisAnnODell So, what is a microservice? https://twitter.com/ChrisAnnODell/status/1423618814390964224

  37. @ChrisAnnODell So, what is a microservice? https://twitter.com/bascule/status/1423706101531381767

  38. @ChrisAnnODell So, what is a microservice? https://twitter.com/graham_r_smith/status/1423627130022334466

  39. @ChrisAnnODell So, what is a microservice? https://twitter.com/DivZero_/status/1423843330169794561

  40. @ChrisAnnODell Let’s go back to wikipedia...

  41. @ChrisAnnODell There is no single definition for microservices. - Wikipedia

  42. @ChrisAnnODell There is no single definition for microservices. A consensus

    view has evolved over time in the industry. - Wikipedia
  43. @ChrisAnnODell There is no single definition for microservices. A consensus

    view has evolved over time in the industry. Some of the defining characteristics that are frequently cited include: - Wikipedia
  44. @ChrisAnnODell 1. Processes that communicate over a network to fulfil

    a goal using technology-agnostic protocols such as HTTP
  45. @ChrisAnnODell 2. Services are organized around business capabilities

  46. @ChrisAnnODell 3. Services can be implemented using different programming languages,

    databases, hardware and software environment, depending on what fits best
  47. @ChrisAnnODell 3. Services can be implemented using different programming languages,

    databases, hardware and software environment, depending on what fits best.
  48. @ChrisAnnODell 4. Services are small in size, messaging-enabled, bounded by

    contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes
  49. @ChrisAnnODell Myths

  50. @ChrisAnnODell So, what is a microservice? https://twitter.com/Lilobase/status/1423641694856269828

  51. @ChrisAnnODell You need to use kubernetes Myth

  52. @ChrisAnnODell You need containers Myth

  53. @ChrisAnnODell You need to be on the Cloud Myth

  54. @ChrisAnnODell

  55. @ChrisAnnODell You need to use gRPC Myth

  56. @ChrisAnnODell You need to be a startup Myth

  57. Cultural Changes

  58. @ChrisAnnODell So, what is a microservice? https://twitter.com/kieranmch/status/1423619285155565570

  59. @ChrisAnnODell 4. Services are small in size, messaging-enabled, bounded by

    contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes
  60. @ChrisAnnODell 4. Services are small in size, messaging-enabled, bounded by

    contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes
  61. @ChrisAnnODell 4. Services are small in size, messaging-enabled, bounded by

    contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes
  62. @ChrisAnnODell 4. Services are small in size, messaging-enabled, bounded by

    contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes
  63. @ChrisAnnODell 4. Services are small in size, messaging-enabled, bounded by

    contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes
  64. Pitfalls

  65. @ChrisAnnODell So, what is a microservice? https://twitter.com/malk_zameth/status/1423637160381624330

  66. @ChrisAnnODell Underestimating the Increased Operability Costs Pitfalls

  67. @ChrisAnnODell Underinvestment in build and deployment Pitfalls

  68. @ChrisAnnODell Tight coupling between microservices Pitfalls

  69. Have we taken it too far?

  70. @ChrisAnnODell A web https://twitter.com/JackKleeman/status/1190354757308862468

  71. @ChrisAnnODell Adding in groupings https://twitter.com/JackKleeman/status/1190973434601324544

  72. @ChrisAnnODell Swing back to monoliths?

  73. @ChrisAnnODell Continue to evolve Modular Programming SOA Microservices Distributed Computing

    ?
  74. @ChrisAnnODell So, what is a microservice?

  75. @ChrisAnnODell So, what is a microservice? https://twitter.com/da5is/status/1423635467145203717

  76. CREDITS: This presentation template was created by Slidesgo, including icons

    by Flaticon, and infographics & images by Freepik Do you have any questions? Chris O’Dell @ChrisAnnODell THANKS