Orleans: A Distributed Systems Runtime

Orleans: A Distributed Systems Runtime
Slide Note
Embed
Share

Orleans is a runtime and programming model developed by the eXtreme Computing Group at Microsoft Research for building distributed systems based on the actor model. It was open-sourced in 2015 and has since been used internally for various projects. Orleans is designed for scalability, availability, and reliability, supporting over 11 million players and powering 1.5 billion games, including HALO 4. The system is ideal for building stateless services and data shipping paradigms, offering a powerful framework for developing complex distributed applications.

  • Orleans
  • Distributed Systems
  • Microsoft Research
  • Scalability
  • Reliability

Uploaded on Feb 25, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Walk in a distributed systems park with Orleans Yevhen Bobrov yevhen YouScan.io @

  2. Orleans is runtime and programming model for building distributed systems based on actor model

  3. Built by eXtreme Computing Group at Microsoft Research Has been used internally (during last few years) Open-sourced in 2015 (available on GitHub and Nuget)

  4. Scalability Availability Reliablity built for *

  5. 11+ million players 1.5 billion games 270 million hours powered by Orleans HALO4

  6. Why do we need it?

  7. Stateless Services Service

  8. Stateless Services Service

  9. Stateless Services Service Service

  10. Stateless Services Service Service

  11. Stateless Services Service Service

  12. Stateless Services Service Service Service

  13. Stateless Services Service Service Service

  14. Data Shipping Paradigm Service Service Service

  15. Data Shipping Paradigm Service Service Service

  16. Data Shipping Paradigm Service Service Service

  17. Data Shipping Paradigm Service Service Service

  18. Data Shipping Paradigm Service Service Service

  19. Data Shipping Paradigm Service Service Service

  20. Data Shipping Paradigm Service Service Service

  21. Data Shipping Paradigm Service Service Service

  22. Data Shipping Paradigm Service Service Service

  23. Data Shipping Paradigm Service Service Service

  24. Data Shipping Paradigm Service Service Service

  25. Data Shipping Paradigm Service Service Service

  26. Data Shipping Paradigm Service Service Service

  27. Data Shipping Paradigm Service Service Service

  28. Stateless Services (a.k.a 3-tier) scales very badly

  29. In a Cloud latency will kill you

  30. Stateful Services

  31. Function Shipping Paradigm Service Service Service

  32. Function Shipping Paradigm Service Service Service

  33. Function Shipping Paradigm Service Service Service

  34. Function Shipping Paradigm Service Service Service

  35. Function Shipping Paradigm Service Service Service

  36. Function Shipping Paradigm Service Service Service

  37. Function Shipping Paradigm Service Service Service

  38. Function Shipping Paradigm Service Service Service

  39. Function Shipping Paradigm Service Service Service

  40. Function Shipping Paradigm Service Service Service

  41. Function Shipping Paradigm Service Service Service

  42. Stateful Services

  43. Stateful Services shared state

  44. Stateful Services shared state concurrency, locks, and all that jazz

  45. Stateful Services shared state concurrency, locks, and all that jazz

  46. Actor Model Single-threaded execution (no need to use locks) Data locality and consistency (due to encapsulation) Objects on steroids

  47. Stateful Services Actors make it simple

  48. How to distribute?

  49. Akka / Erlang var game = activate( game , tcp://10.0.0.1 ) game.invoke( foo() ) 10.0.0.1 var user = activate( user , tcp://10.0.0.2 ) user.invoke( bar() ) 10.0.0.2

  50. Routing Problems 10.0.0.5 10.0.0.1 10.0.0.2 10.0.0.8

More Related Content