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.
Copyright © 2016 Russel Winder 1
On the Architectures of MicroServices
The Next Layer
Russel Winder
@russel_winder
russel@...
Copyright © 2016 Russel Winder 2
On the Architectures of MicroServices
The Next Generation
Russel Winder
@russel_winder
ru...
Copyright © 2016 Russel Winder 3
µCon
Copyright © 2016 Russel Winder 4
μCon
Copyright © 2016 Russel Winder 5
#muCon
Copyright © 2016 Russel Winder 6
#microCon
Copyright © 2016 Russel Winder 7
Microservices
muServices
Copyright © 2016 Russel Winder 8
meowServices
Copyright © 2016 Russel Winder 9
Copyright © 2016 Russel Winder 10
Copyright © 2016 Russel Winder 11
Copyright © 2016 Russel Winder 12
Copyright © 2016 Russel Winder 13
µCon
µservices
Copyright © 2016 Russel Winder 14
Convention
Conference
{Con =
Copyright © 2016 Russel Winder 15
con = con
Copyright © 2016 Russel Winder 16
µCon(fidenceTrick)
Copyright © 2016 Russel Winder 17
µservices – The Belief System
● Services should be small – whatever small means,
whateve...
Copyright © 2016 Russel Winder 18
Copyright © 2016 Russel Winder 19
Each is a thing providing some
entry points to some computation.
Copyright © 2016 Russel Winder 20
Encapsulated state
Possibly independently active
Various entry points
Responsive to requ...
Copyright © 2016 Russel Winder 21
Active Object
Copyright © 2016 Russel Winder 22
Last Year
● Pipelines
● Dataflow
● Graphs
● CSP
● Actors
● Active objects
Message passing
Copyright © 2016 Russel Winder 23
Most services just do a trivial
database lookup and return some
(JSON) document.
Copyright © 2016 Russel Winder 24
Online shopping
Copyright © 2016 Russel Winder 25
Or deliver images of cats.
Copyright © 2016 Russel Winder 26
Copyright © 2016 Russel Winder 27
Some services may, just may, actually
do some serious computation.
Copyright © 2016 Russel Winder 28
Big
Data
Copyright © 2016 Russel Winder 29
Analytics
Copyright © 2016 Russel Winder 30
Hadoop
Apache Spark
Copyright © 2016 Russel Winder 31
Data science
Computational science
Copyright © 2016 Russel Winder 32
Big
Computation
Copyright © 2016 Russel Winder 33
Copyright © 2016 Russel Winder 34
Copyright © 2016 Russel Winder 35
Copyright © 2016 Russel Winder 36
Copyright © 2016 Russel Winder 37
Multi-level cluster computing.
Copyright © 2016 Russel Winder 38
Are µservices just active objects on
computing clusters?
Copyright © 2016 Russel Winder 39
Copyright © 2016 Russel Winder 40
Software is about abstraction…
Programming is about creating
abstractions.
Copyright © 2016 Russel Winder 41
Abstraction
● We have abstracted out:
– Stack
– Heap
– Cores
– Synchronisation
– (Proces...
Copyright © 2016 Russel Winder 42
What’s left to abstract?
Copyright © 2016 Russel Winder 43
The Networks.
Copyright © 2016 Russel Winder 44
Some of them anyway.
Copyright © 2016 Russel Winder 45
Copyright © 2016 Russel Winder 46
The 1980s
● Transputers.
● Serial connection
networks.
● Bus networks.
● Individual addr...
Copyright © 2016 Russel Winder 47
Message passing.
Copyright © 2016 Russel Winder 48
PVM MPI→
Copyright © 2016 Russel Winder 49
SSH
GASNet
Copyright © 2016 Russel Winder 50
PGAS
Partitioned Global Address Space
Copyright © 2016 Russel Winder 51
Mid-2000s onwards
● HPCS programme by DARPA.
● Many stages, many projects.
● All now ove...
Copyright © 2016 Russel Winder 52
Example
π
Copyright © 2016 Russel Winder 53
Fortran
C++
Chapel
Copyright © 2016 Russel Winder 54
Copyright © 2016 Russel Winder 55
Abstract over the
networks and buses.
Copyright © 2016 Russel Winder 56
Big
Data
Copyright © 2016 Russel Winder 57
Big
Computation
Copyright © 2016 Russel Winder 58
Choose your programming language to have
the right abstractions for the job at hand
Copyright © 2016 Russel Winder 59
https://conference.accu.org
Copyright © 2016 Russel Winder 60
Questions…
Copyright © 2016 Russel Winder 61
On the Architectures of MicroServices
The Next Layer
Russel Winder
@russel_winder
russel...
Upcoming SlideShare
Loading in …5
×

On the Architectures of Microservices: the next layer

352 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

On the Architectures of Microservices: the next layer

  1. 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. 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. 3. Copyright © 2016 Russel Winder 3 µCon
  4. 4. Copyright © 2016 Russel Winder 4 μCon
  5. 5. Copyright © 2016 Russel Winder 5 #muCon
  6. 6. Copyright © 2016 Russel Winder 6 #microCon
  7. 7. Copyright © 2016 Russel Winder 7 Microservices muServices
  8. 8. Copyright © 2016 Russel Winder 8 meowServices
  9. 9. Copyright © 2016 Russel Winder 9
  10. 10. Copyright © 2016 Russel Winder 10
  11. 11. Copyright © 2016 Russel Winder 11
  12. 12. Copyright © 2016 Russel Winder 12
  13. 13. Copyright © 2016 Russel Winder 13 µCon µservices
  14. 14. Copyright © 2016 Russel Winder 14 Convention Conference {Con =
  15. 15. Copyright © 2016 Russel Winder 15 con = con
  16. 16. Copyright © 2016 Russel Winder 16 µCon(fidenceTrick)
  17. 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. 18. Copyright © 2016 Russel Winder 18
  19. 19. Copyright © 2016 Russel Winder 19 Each is a thing providing some entry points to some computation.
  20. 20. Copyright © 2016 Russel Winder 20 Encapsulated state Possibly independently active Various entry points Responsive to requests
  21. 21. Copyright © 2016 Russel Winder 21 Active Object
  22. 22. Copyright © 2016 Russel Winder 22 Last Year ● Pipelines ● Dataflow ● Graphs ● CSP ● Actors ● Active objects Message passing
  23. 23. Copyright © 2016 Russel Winder 23 Most services just do a trivial database lookup and return some (JSON) document.
  24. 24. Copyright © 2016 Russel Winder 24 Online shopping
  25. 25. Copyright © 2016 Russel Winder 25 Or deliver images of cats.
  26. 26. Copyright © 2016 Russel Winder 26
  27. 27. Copyright © 2016 Russel Winder 27 Some services may, just may, actually do some serious computation.
  28. 28. Copyright © 2016 Russel Winder 28 Big Data
  29. 29. Copyright © 2016 Russel Winder 29 Analytics
  30. 30. Copyright © 2016 Russel Winder 30 Hadoop Apache Spark
  31. 31. Copyright © 2016 Russel Winder 31 Data science Computational science
  32. 32. Copyright © 2016 Russel Winder 32 Big Computation
  33. 33. Copyright © 2016 Russel Winder 33
  34. 34. Copyright © 2016 Russel Winder 34
  35. 35. Copyright © 2016 Russel Winder 35
  36. 36. Copyright © 2016 Russel Winder 36
  37. 37. Copyright © 2016 Russel Winder 37 Multi-level cluster computing.
  38. 38. Copyright © 2016 Russel Winder 38 Are µservices just active objects on computing clusters?
  39. 39. Copyright © 2016 Russel Winder 39
  40. 40. Copyright © 2016 Russel Winder 40 Software is about abstraction… Programming is about creating abstractions.
  41. 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. 42. Copyright © 2016 Russel Winder 42 What’s left to abstract?
  43. 43. Copyright © 2016 Russel Winder 43 The Networks.
  44. 44. Copyright © 2016 Russel Winder 44 Some of them anyway.
  45. 45. Copyright © 2016 Russel Winder 45
  46. 46. Copyright © 2016 Russel Winder 46 The 1980s ● Transputers. ● Serial connection networks. ● Bus networks. ● Individual address spaces. ● Global address space.
  47. 47. Copyright © 2016 Russel Winder 47 Message passing.
  48. 48. Copyright © 2016 Russel Winder 48 PVM MPI→
  49. 49. Copyright © 2016 Russel Winder 49 SSH GASNet
  50. 50. Copyright © 2016 Russel Winder 50 PGAS Partitioned Global Address Space
  51. 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. 52. Copyright © 2016 Russel Winder 52 Example π
  53. 53. Copyright © 2016 Russel Winder 53 Fortran C++ Chapel
  54. 54. Copyright © 2016 Russel Winder 54
  55. 55. Copyright © 2016 Russel Winder 55 Abstract over the networks and buses.
  56. 56. Copyright © 2016 Russel Winder 56 Big Data
  57. 57. Copyright © 2016 Russel Winder 57 Big Computation
  58. 58. Copyright © 2016 Russel Winder 58 Choose your programming language to have the right abstractions for the job at hand
  59. 59. Copyright © 2016 Russel Winder 59 https://conference.accu.org
  60. 60. Copyright © 2016 Russel Winder 60 Questions…
  61. 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

×