Pro Yearly is on sale from $80 to $50! »

The Architectures of Microservices: The Next Layer

Ca04455902d1b207348b6d406432718f?s=47 Russel Winder
November 08, 2016

The Architectures of Microservices: The Next Layer

My µCon 2016 session presentation slides. This was about introducing PGAS (partitioned global address space) as a new architectural form for use in microservices systems. As always I draw on the slides as I speak and this is not captured here, you need to watch the video https://skillsmatter.com/skillscasts/8737-on-the-architectures-of-microservices-the-next-layer

Ca04455902d1b207348b6d406432718f?s=128

Russel Winder

November 08, 2016
Tweet

Transcript

  1. Copyright © 2016 Russel Winder 1 On the Architectures of

    MicroServices The Next Layer Russel Winder @russel_winder russel@winder.org.uk https://www.russel.org.uk
  2. Copyright © 2016 Russel Winder 2 On the Architectures of

    MicroServices The Next Generation Russel Winder @russel_winder russel@winder.org.uk https://www.russel.org.uk
  3. Copyright © 2016 Russel Winder 3 µCon

  4. Copyright © 2016 Russel Winder 4 μCon

  5. Copyright © 2016 Russel Winder 5 #muCon

  6. Copyright © 2016 Russel Winder 6 #microCon

  7. Copyright © 2016 Russel Winder 7 Microservices muServices

  8. Copyright © 2016 Russel Winder 8 meowServices

  9. Copyright © 2016 Russel Winder 9

  10. Copyright © 2016 Russel Winder 10

  11. Copyright © 2016 Russel Winder 11

  12. Copyright © 2016 Russel Winder 12

  13. Copyright © 2016 Russel Winder 13 µCon µservices

  14. Copyright © 2016 Russel Winder 14 Convention Conference { Con

    =
  15. Copyright © 2016 Russel Winder 15 con = con

  16. Copyright © 2016 Russel Winder 16 µCon(fidenceTrick)

  17. Copyright © 2016 Russel Winder 17 µservices – The Belief

    System • Services should be small – whatever small means, whatever service means. • Services can use other services over some communications mechanism – usually a network but could be a bus. • Communications should be fast with low latency. • Communications should be asynchronous.
  18. Copyright © 2016 Russel Winder 18

  19. Copyright © 2016 Russel Winder 19 Each is a thing

    providing some entry points to some computation.
  20. Copyright © 2016 Russel Winder 20 Encapsulated state Possibly independently

    active Various entry points Responsive to requests
  21. Copyright © 2016 Russel Winder 21 Active Object

  22. Copyright © 2016 Russel Winder 22 Last Year • Pipelines

    • Dataflow • Graphs • CSP • Actors • Active objects Message passing
  23. Copyright © 2016 Russel Winder 23 Most services just do

    a trivial database lookup and return some (JSON) document.
  24. Copyright © 2016 Russel Winder 24 Online shopping

  25. Copyright © 2016 Russel Winder 25 Or deliver images of

    cats.
  26. Copyright © 2016 Russel Winder 26

  27. Copyright © 2016 Russel Winder 27 Some services may, just

    may, actually do some serious computation.
  28. Copyright © 2016 Russel Winder 28 Big Data

  29. Copyright © 2016 Russel Winder 29 Analytics

  30. Copyright © 2016 Russel Winder 30 Hadoop Apache Spark

  31. Copyright © 2016 Russel Winder 31 Data science Computational science

  32. Copyright © 2016 Russel Winder 32 Big Computation

  33. Copyright © 2016 Russel Winder 33

  34. Copyright © 2016 Russel Winder 34

  35. Copyright © 2016 Russel Winder 35

  36. Copyright © 2016 Russel Winder 36

  37. Copyright © 2016 Russel Winder 37 Multi-level cluster computing.

  38. Copyright © 2016 Russel Winder 38 Are µservices just active

    objects on computing clusters?
  39. Copyright © 2016 Russel Winder 39

  40. Copyright © 2016 Russel Winder 40 Software is about abstraction…

    Programming is about creating abstractions.
  41. Copyright © 2016 Russel Winder 41 Abstraction • We have

    abstracted out: – Stack – Heap – Cores – Synchronisation – (Processors) • Using the units of abstraction: – Functions – Classes and methods – Thread pools – Processes Message passing
  42. Copyright © 2016 Russel Winder 42 What’s left to abstract?

  43. Copyright © 2016 Russel Winder 43 The Networks.

  44. Copyright © 2016 Russel Winder 44 Some of them anyway.

  45. Copyright © 2016 Russel Winder 45

  46. Copyright © 2016 Russel Winder 46 The 1980s • Transputers.

    • Serial connection networks. • Bus networks. • Individual address spaces. • Global address space.
  47. Copyright © 2016 Russel Winder 47 Message passing.

  48. Copyright © 2016 Russel Winder 48 PVM MPI →

  49. Copyright © 2016 Russel Winder 49 SSH GASNet

  50. Copyright © 2016 Russel Winder 50 PGAS Partitioned Global Address

    Space
  51. Copyright © 2016 Russel Winder 51 Mid-2000s onwards • HPCS

    programme by DARPA. • Many stages, many projects. • All now over, any work now self-sustaining. • Only X10 and Chapel left, but these are now making serious inroads into the use of FORTRAN, Fortran, and C++.
  52. Copyright © 2016 Russel Winder 52 Example π

  53. Copyright © 2016 Russel Winder 53 Fortran C++ Chapel

  54. Copyright © 2016 Russel Winder 54

  55. Copyright © 2016 Russel Winder 55 Abstract over the networks

    and buses.
  56. Copyright © 2016 Russel Winder 56 Big Data

  57. Copyright © 2016 Russel Winder 57 Big Computation

  58. Copyright © 2016 Russel Winder 58 Choose your programming language

    to have the right abstractions for the job at hand
  59. Copyright © 2016 Russel Winder 59 https://conference.accu.org

  60. Copyright © 2016 Russel Winder 60 Questions…

  61. Copyright © 2016 Russel Winder 61 On the Architectures of

    MicroServices The Next Layer Russel Winder @russel_winder russel@winder.org.uk https://www.russel.org.uk