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. 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. 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.
  4. 19.

    Copyright © 2016 Russel Winder 19 Each is a thing

    providing some entry points to some computation.
  5. 20.

    Copyright © 2016 Russel Winder 20 Encapsulated state Possibly independently

    active Various entry points Responsive to requests
  6. 22.

    Copyright © 2016 Russel Winder 22 Last Year • Pipelines

    • Dataflow • Graphs • CSP • Actors • Active objects Message passing
  7. 23.

    Copyright © 2016 Russel Winder 23 Most services just do

    a trivial database lookup and return some (JSON) document.
  8. 27.

    Copyright © 2016 Russel Winder 27 Some services may, just

    may, actually do some serious computation.
  9. 40.

    Copyright © 2016 Russel Winder 40 Software is about abstraction…

    Programming is about creating abstractions.
  10. 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
  11. 46.

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

    • Serial connection networks. • Bus networks. • Individual address spaces. • Global address space.
  12. 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++.
  13. 58.

    Copyright © 2016 Russel Winder 58 Choose your programming language

    to have the right abstractions for the job at hand
  14. 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