Book Image

Distributed .NET with Microsoft Orleans

By : Bhupesh Guptha Muthiyalu, Suneel Kumar Kunani
Book Image

Distributed .NET with Microsoft Orleans

By: Bhupesh Guptha Muthiyalu, Suneel Kumar Kunani

Overview of this book

Building distributed applications in this modern era can be a tedious task as customers expect high availability, high performance, and improved resilience. With the help of this book, you'll discover how you can harness the power of Microsoft Orleans to build impressive distributed applications. Distributed .NET with Microsoft Orleans will demonstrate how to leverage Orleans to build highly scalable distributed applications step by step in the least possible time and with minimum effort. You'll explore some of the key concepts of Microsoft Orleans, including the Orleans programming model, runtime, virtual actors, hosting, and deployment. As you advance, you'll become well-versed with important Orleans assets such as grains, silos, timers, and persistence. Throughout the book, you'll create a distributed application by adding key components to the application as you progress through each chapter and explore them in detail. By the end of this book, you'll have developed the confidence and skills required to build distributed applications using Microsoft Orleans and deploy them in Microsoft Azure.
Table of Contents (17 chapters)
1
Section 1 - Distributed Applications Architecture
4
Section 2 - Working with Microsoft Orleans
10
Section 3 - Building Patterns in Orleans
13
Section 4 - Hosting and Deploying Orleans Applications to Azure

Creating the required Azure resources

In this section, we will create all the resources required to run the Distel Orleans application in Azure App Service. The resources needed to run the Distel application are the following:

  • Azure App Service: The compute instance that runs the silo of the Distel application
  • Azure App Service plan: Defines the infrastructural needs of App Service
  • Azure Virtual Network: A private network for silo-to-silo and client-to-silo communication
  • Cosmos DB: A database to store the silo membership and the grain storage
  • Application Insights: To capture the telemetry of the Distel application

We can create the Azure resources using any of these:

  • The Azure CLI (Command-Line Interface): A cross-platform CLI to connect to Azure and administer Azure resources.
  • Azure Resource Manager (ARM): Provides a management layer to manage Azure resources. The details of resources to be managed are passed in declarative JSON syntax called...