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

The Architectures of Microservices: The Next Layer

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

Russel Winder

November 08, 2016
Tweet

More Decks by Russel Winder

Other Decks in Technology

Transcript

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

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

    MicroServices The Next Generation Russel Winder @russel_winder [email protected] https://www.russel.org.uk
  3. 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. Copyright © 2016 Russel Winder 19 Each is a thing

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

    active Various entry points Responsive to requests
  6. Copyright © 2016 Russel Winder 22 Last Year • Pipelines

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

    a trivial database lookup and return some (JSON) document.
  8. Copyright © 2016 Russel Winder 27 Some services may, just

    may, actually do some serious computation.
  9. Copyright © 2016 Russel Winder 40 Software is about abstraction…

    Programming is about creating abstractions.
  10. 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. Copyright © 2016 Russel Winder 46 The 1980s • Transputers.

    • Serial connection networks. • Bus networks. • Individual address spaces. • Global address space.
  12. 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. Copyright © 2016 Russel Winder 58 Choose your programming language

    to have the right abstractions for the job at hand
  14. Copyright © 2016 Russel Winder 61 On the Architectures of

    MicroServices The Next Layer Russel Winder @russel_winder [email protected] https://www.russel.org.uk