End to End Akka.NET Distributed Programming

Welcome to another self-paced Akka.NET learning course from Petabridge!

This course is designed to help teach Akka.NET developers the best practices for building distributed systems using Akka.NET, .NET Core, Docker, and Kubernetes.


Prior to starting this workshop, you will need to do the following:

  1. Complete the Akka.NET Bootcamp, in order to learn Akka.NET fundamentals and syntax.
  2. Install Docker for Windows on your laptop - we will be running on Linux containers primarily in this course. You should be able to follow long using OS X and Linux PCs as well, but this course was primarily developed for Windows. You should also install Kitematic while you’re at it, as this will make it easier to manage some of your containers during the course of the training.
  3. Enable Kubernetes on Docker for Windows.
  4. Install the latest .NET Core SDK on your laptop.
  5. Install the Petabridge.Cmd pbm Global Tool.
  6. Install a Git client on your local machine, as you’ll need it in order to clone our code samples. We recommend Github for Windows.

Once you’ve done all of the following, you should be ready to participate in all of the live coding and DevOps exercises in this course.

Working with the Sample Code

To get started with this workshop, use Git to clone the sample code from here: https://github.com/petabridge/akkadotnet-cluster-workshop

You check out the start branch once you’ve cloned the repository - it contains all of the code you’ll need to start the hands-on exercise for lesson 1.

If you want to skip ahead to the final stage of the code sample, simply check out the master branch:

git checkout master

During the beginning of each lesson you may be asked to checkout to a new branch in order to make sure you have a “clean” start for the next subsequent lesson. However, this workshop is also designed to work linearly so if you get your solution fully into the “completed” state for each lesson you should be able to continue working on your own sample code without any branch changes.


Get started here:

  1. Lesson 1 - Working with Akka.NET and Akka.Cluster
  2. Lesson 2 - Docker-izing Akka.NET and Akka.Cluster
  3. Lesson 3 - Akka.Cluster Best Practices for Continuous Deployment
  4. Lesson 4 - Advanced Akka.Cluster Techniques: DistributedPubSub, Sharding, and ClusterClient
  5. Lesson 5 - Deploying Akka.Cluster inside Kubernetes
  6. Lesson 6 - Monitoring Akka.NET with Phobos

About Petabridge

Petabridge logo

Petabridge is a company dedicated to making it easier for .NET developers to build distributed applications using OSS technologies such as Akka.NET, NBench, and more!

Petabridge also offers Akka.NET consulting and training - so please sign up for our mailing list!

Copyright 2015-2024 Petabridge, LLC

If you liked this post, you can share it with your followers or follow us on Twitter!
Written on



Observe and Monitor Your Akka.NET Applications with Phobos

Did you know that Phobos can automatically instrument your Akka.NET applications with OpenTelemetry?

Click here to learn more.