Microsoft Orleans Deep Drive Training Course
Microsoft Orleans is an easy to use framework for building high-performance distributed applications in .NET.
This instructor-led, live training (online or onsite) is aimed at .NET developers who wish to make the best of Microsoft Orleans, while knowing what's happening under the hood.
This is a fast-paced, theory-heavy course, covering beginner to advanced topics, including internals, primers on integrating with other tools, performance optimizations and advanced design patterns.
By the end of this training, participants will be able to:
- Set up Orleans for different architectures.
- Develop a full-featured Orleans application.
- Use distributed tracing to track requests.
- Ensure code quality and measure performance of the application.
- Apply performance optimizations.
- Understand advanced design patterns for Orleans applications.
Format of the Course
- Interactive lecture and discussion.
- High amount of internals and protocol theory.
- Labs to perform at one's own pace, during or after the course.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline
Introduction
- Sample App Tour
- Scaling Headaches
- The Orleans Solution
- Development Model
Internals
- Cluster Membership Design
- Cluster Recovery Protocol
- Distributed Messaging Internals
Development
- Solution Architecture Options (Classic, Cohost, Mixed)
- Solution Project Structure Options (Simple, DDD-Style)
- Creating a Silo
- Clustering Providers
- Orleans Dashboard
- Creating a Client
- Creating a Grain
- Grain Identity
- Grain Key
- Grain Interface
- Grain Class
- Calling Grain Methods
- Timeout & Exception Protocols
- Lifecycle Hooks
- Implementing Grain Persistence
- Implementing Streaming
- Implementing Timers
- Implementing Reminders
Distributed Tracing
- Using the RequestContext
- Using Grain Call Filters
- Integrating w/ OpenTelemetry
Quality
- Unit Testing w/ Orleans Test Host
- Load Testing w/ NBomber
- Configuring the Orleans ADO.NET providers w/ SSDT
Performance Optimizations
- Per-Method Interleaving
- Full Reentrancy
Advanced Design Patterns
- Stateless Worker Pools
- Cadence Pattern
- Aggregator Pattern
- Reduce Pattern
- Reactive Caching Protocol
- Reactive Caching Pattern
Requirements
- .NET programming experience.
- Comfortable with the TPL.
Audience
- .NET Developers
Open Training Courses require 5+ participants.
Microsoft Orleans Deep Drive Training Course - Booking
Microsoft Orleans Deep Drive Training Course - Enquiry
Microsoft Orleans Deep Drive - Consultancy Enquiry
Consultancy Enquiry
Testimonials (5)
Practical examples.
Mateusz - Aplikacje Krytyczne
Course - BizTalk for Developers
interesting content
Mike Bassi - SRC Aus
Course - OpenCL
The trainer's proper knowledge and deep understanding of the topic and his capability to present and transfer the knowledge in a clear and efficient way.
Balazs Farkas - Greentube GmbH
Course - Implementing the Actor Model with Microsoft Orleans
I like how helpful Clement is.
Mateera Kaikko - ASML US, LLC
Course - gRPC
I was very lucky to have one-to-one training and it gave me a good grounding in the subject as well as exploring some of my real use-cases that were really complex.
Melissa Harrison
Course - XQuery
Upcoming Courses
Related Courses
BizTalk for Developers
21 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at intermediate-level developers who wish to use BizTalk to connect legacy systems with newer applications.
By the end of this training, participants will be able to:
- Install and configure BizTalk.
- Automate business processes using BizTalk.
- Understand BizTalk messaging.
- Integrate BizTalk with Azure and Sharepoint.
- Deploy and troubleshoot a BizTalk installation.
Biztalk for Administrators
35 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at admins and engineers who wish to design, deploy and manage a multi-server BizTalk Server environment.
By the end of this training, participants will be able to:
- Install and configure BizTalk Server.
- Set up and manage BizTalk users.
- Set up and secure message routing within an organization.
- Configure EDI-based integration with partners outside of the organization.
- Deploy, monitor, and manage business rules.
- Automate the deployment of BizTalk applications.
- Track, monitor and analyze Business Activity.
- Plan and implement high-availability and disaster recovery for Biztalk Server.
BizTalk for Administrators - Beginner to Advanced
70 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at admins and engineers who wish to design, deploy and manage a multi-server BizTalk Server environment.
By the end of this training, participants will be able to:
- Install and configure BizTalk Server.
- Set up and manage BizTalk users.
- Set up and secure message routing within an organization.
- Configure EDI-based integration with partners outside of the organization.
- Deploy, monitor, and manage business rules.
- Automate the deployment of BizTalk applications.
- Track, monitor and analyze Business Activity.
- Plan and implement high-availability and disaster recovery for Biztalk Server.
- Optimize the performance of BizTalk Server and its envrionment.
- Automate the monitoring of business activity.
- Troubleshoot runtime exceptions.
- Automate testing of Biztalk.
- Plan and execute systematic maintenance of Biztalk.
C++, QT, ZeroMQ and Protocol Buffers
35 HoursThis instructor-led, live training in Switzerland (online or onsite) provides introductory coverage of C++, the Qt GUI framework, and various communication technologies such as ZeroMQ and Protocol Buffers that can be used for writing distributed applications.
By the end of this training, participants will have the necessary knowledge and practice to write and compile an application using C++, Qt and gcc on Linux Centos 6/7. Participants will also integrate asynchronous messaging capabilities using Zero MQ and Protocol Buffers.
gRPC
7 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at software engineers, programmers, and developers who wish to create, implement, and manage gRPC services in their applications.
By the end of this training, participants will be able to:
- Set up a gRPC service to connect to a server and create projects.
- Implement server and client to integrate with applications.
- Monitor gRPC services using authentication systems and benchmarking tools.
HashiCorp Nomad
14 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at DevOps engineers and developers who wish to use HashiCorp Nomad to deploy and scale applications with ease while reducing overhead on operations.
By the end of this training, participants will be able to:
- Install and configure HashiCorp Nomad.
- Deploy and manage containers and non-containerized applications.
- Manage resources, scheduling, and operations within a consolidated system.
- Enable scaling nodes and integration of services in a single cluster.
HashiCorp Vault
14 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at DevOps engineers or developers who wish to use HashiCorp Vault to control access to passwords, database credentials, API keys, tokens, and certificates in an integrated system.
By the end of this training, participants will be able to:
- Install and deploy HashiCorp Vault.
- Understand and use the different services and components of HashiCorp Vault.
- Implement authentication methods, security policies, and execute administrative tasks to secure an infrastructure.
- Deploy and use HashiCorp Vault services on container orchestrators such as Nomad and Kubernetes.
Apache Mesos
14 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at IT administrators, software engineers, and developers who wish to use Apache Mesos to efficiently manage resource workloads and applications in large-scale clustered environments.
By the end of this training, participants will be able to:
- Install, configure, and run Apache Mesos for distributed systems.
- Manage resource sharing and allocation of multiple applications and frameworks.
- Implement scheduling mechanism for managing tasks.
- Set up and use Marathon to handle container orchestration on Apache Mesos.
OpenCL
21 HoursOpenCLis a standard for programming heterogeneous computers built from CPUs, GPUs, and other processors. It includes a framework to define the platform in terms of a host, such as a CPU, and one or more compute devices, such as a GPU plus a C-based programming language for writing programs for the compute devices. Using OpenCL, a programmer can write task-based and data-parallel programs that can take advantage of these different types of processors in a single system.
Implementing the Actor Model with Microsoft Orleans
14 HoursThis instructor-led, live training in Switzerland (online or onsite) is aimed at developers who wish to use Microsoft Orleans to build distributed enterprise .NET applications.
By the end of this training, participants will be able to:
- Install and configure Microsoft Orleans.
- Understand the actor model framework and how its implemented in Orleans
- Build distributed applications without having to manage complex concurrency and other scaling patterns.
XML Fundamentals
21 HoursThis course is intended for analysts, designers and administrators of systems based on XML technology.
The training is an introduction to XML and its key technologies. Allows you to acquire the skills involved in creating valid XML documents, modeling the structure of an XML document (using DTP or XML Schema) and transformations of XML files to other formats (XHTML, HTML, TXT, PDF).
XQuery
14 HoursThis training provides:
- A high-level overview and quick tour of XQuery
- Information to write sophisticated queries, without being bogged down by the details of types, namespaces, and schemas
- Advanced concepts for users who want to take advantage of modularity, namespaces, typing and schemas
- Guidelines for working with specific types of data, such as numbers, strings, dates, URIs and processing instructions
- A complete alphabetical reference to the built-in functions and types
Participants will also learn about XQuery's support for filtering, sorting, and grouping data, as well as how to use FLWOR expressions, XPath, and XQuery tools for extracting and combining information. During the training they will find out how to apply all of these tools to a wide variety of data sources, and how to recombine information from multiple sources into a single final output result.