Session

Umbraco 9 microservices with Docker and a cluster of Raspberry Pis

Traditional websites are frequently built on a monolithic architecture, where a content management system like Umbraco is the foundation for the content and the presentation layer, user management, permissions, and everything in between. Hosted on IIS server and attached to SQL server, you have everything you need for a website.

As they get more complicated and require additional services and more features the approach is frequently to bolt more and more onto the monolith - adding web APIs, search indexes - all wrapped up into one big architecture which must be deployed at the same time, and with a high level of interdependence. That adds a huge overhead of testing each time a new feature is added, and increases development time.

The Microservices approach is to add new features entirely self-contained but with the ability to interact with the main application in some way - frequently with a common database, or a message queue or some other common backbone. This allows new features to be tested entirely in isolation, and deployed independently of anything else, which means new features can be added with minimal impact on the rest of the application, and changes can be deployed quickly and easily.

To illustrate that approach I’ll be showing how to host a sample microservice application built around the Umbraco CMS but with additional features built on separate containers. The entire application will be hosted on Linux on a series of Raspberry Pis to imitate a high performance hosting platform on multiple servers but at a smaller scale and at a fraction of the cost.

This is more of a demonstration exercise, since nobody in their right mind would actually host an application on a Raspberry Pi, but the great thing about containers is that the same application can be deployed to a cloud like Azure with minimal changes. This is a low cost way of replicating what a production hosting environment would look like but using small, low power but still awesome devices!

The audience will learn a little about
- Networking setup for application hosting
- firewall setup (not the standard home-router)
- Docker
- Linux
- Microservices vs Monolithic architecture
- Architecture differences Arm vs x86
- Umbraco 9 running on .net 5 (6 if Umbraco upgrade)
- Message queues

Carl Sargunar

.NET developer and fan of learning new things, then sharing that knowledge

Bristol, United Kingdom

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top