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

What this book covers

Chapter 1, An Introduction to Distributed Applications, covers the fundamentals of distributed applications and serves as a fast tour of the distributed landscape.

Chapter 2, Cloud Architecture and Patterns for Distributed Applications, goes through the various cloud architectural patterns that can be used to create distributed applications and explains how they work.

Chapter 3, Introduction to Microsoft Orleans, introduces you to Microsoft Orleans and how it was created using Microsoft Research's Virtual Actor model concept.

Chapter 4, Understanding Grains and Silos, introduces grains, the primary building block of Orleans. You will learn about grain identification and how code generation works in Microsoft Orleans. Silo, and its lifespan and configuration, will also be covered.

Chapter 5, Persistence in Grains, will teach you about grain state persistence. Using an in-memory database, Azure Cosmos DB, and Azure Table storage, we will learn about distinct grain state storage components. We'll also learn how to have several states for grain. We'll show you how to build your own custom state provider. Then, we will learn how to directly interact with databases using patterns like repository.

Chapter 6, Scheduling and Notifying in Orleans, explores the role of different scheduling methods available in Orleans, timers and reminders. We'll look at the distinctions between them and how they're used.

Chapter 7, Engineering Fundamentals in Orleans, covers engineering principles such as unit testing, telemetry, and monitoring. For telemetry, we'll be using Azure Application Insights.

Chapter 8, Advanced Concepts in Orleans, explores some advanced concepts in Orleans such as streaming, grain interface versioning, and heterogeneous silos.

Chapter 9, Design Patterns in Orleans, delves into the most commonly used design patterns utilized in Orleans. Observer, Dispatcher, Smart Cache, and Reduce are the patterns we'll study.

Chapter 10, Deploying an Orleans Application in Azure Kubernetes, walks through how to host and deploy our Orleans application in Azure Kubernetes.

Chapter 11, Deploying an Orleans Application to Azure App Service, shows you how to use Azure App Service to host an Orleans application.