Summary
It is not simple and straightforward to design a distributed system. To achieve the ideal system, there are a lot of obstacles, such as concurrency, scalability, and fault tolerance, that must be overcome. Microsoft Orleans helps us by abstracting many of the challenges posed by distributed system development. It lets the developer focus on the core business logic. In this chapter, we have seen the challenges we face with an N-tier system and how Orleans assists developers in addressing them. We have also seen the key design choices made by Orleans, which we are going to put into practice in the upcoming chapters.
After a lot of theory and concepts in this chapter, it is time to get our hands dirty. In the next chapter, we will learn more about cloud-native grain objects and the systems that host them, silos.