Meet Utopia: DevOps with all the bells and whistles

Lately I’ve been working on a side project that I want to share with the world. Project Utopia is a public project hosted on GitHub and Azure DevOps that showcases all kinds of cool features of both GitHub and Azure DevOps in an easily accessible way.

I started building Utopia to have a single demo that I could use for all the talks I give. Before, I had a separate demo for things like ChatOps, DevSecOps, Database DevOps etc. Keeping all those demos up to date and making sure they functioned before giving a talk was becoming a hassle. I now have a single demo project that combines all those DevOps features and can be used to demo a variety of stuff.

And I want to share that publicly so everyone can learn from it and hopefully contribute.

Show me!

The code for the project is on GitHub in a public repository at: The user stories, pipelines and other resources are all located in Azure DevOps: The application is deployed to Azure.

You can view the deployed application here

As a public user of Azure DevOps, you can see the pipelines and some other features. If you want to see other details and get access to the Azure Portal to see the result of the pipelines, please drop me an email at and I’ll add you as a reader.

What does it do?

The project is a simple ToDo application that I based on the CleanArchitecture ASP.NET Core template from Steve Smith. For now, the app shows a list of ToDo items and allows you to add and remove items.

This is all very basic and that’s the idea. The focus is on the DevOps components, not on a very complex application.

I will try to update the application each time a new version of .NET Core is released. I will add new functionality in the future to the app if I need it to demo an aspect of DevOps. For example, for Database DevOps, I need a more complex database to showcase always on updates. For Feature Flags, I’ll need authentication. And maybe there are even some microservices in the future.

What DevOps features do you already have?

The basics are in place for now:

  • Git repository containing the application
  • A continuous integration build based on YAML that builds the application, runs unit tests and runs SonarQube and WhiteSource
  • A release pipeline that uses ARM templates to deploy the application to a test and production environment

This is a minimal set of functionalities that I want to expand upon in the coming months. I’ve created a second team (Iron Man) that contains user stories for all the things I would like to add.

Can I help?

Yes please! The project is open source and I happily accept pull requests. As you can see, the backlog is long and I’m pretty sure that the list will keep growing since Microsoft is continually releasing new functionality.

My goal is to make sure that Utopia becomes one of the most complete showcases of what DevOps can do for your organization.

If you want to contribute, please open a GitHub issue or send a pull request!

Wouter de Kort works as a lead architect and consultant. He helps organizations stay on the cutting edge of software development. Wouter focuses on DevOps. He loves solving complex problems and helping other developers to grow. Wouter authored the book DevOps on the Microsoft stack and a couple of other books. Wouter is a Microsoft MVP and an ALM Ranger. You can find him on Twitter (@wouterdekort), on his blog at and at the various conferences where Wouter speaks.


4 Responses

  1. Great Idea ! During the Xmas holiday, I did EXACTLY the same thing for my demo of AzDevOps, with whitesource (bolt+full one) sonarqube, etc, but my project is called “Lovely” <:-)
    you should had credscan for the threat modeling

  2. +1 on credscan
    Also, look at the group based automatic licensing. Nest the project team and reader groups in the license groups
    Finally look at VSTeam Powershell module to loop through your projects and setup the security groups

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.