Umbraco HQ: The evolution of the
Umbraco Cloud platform
Martin Humlund Clausen - Cloud platform team lead
Mikkel Holck Madsen - Umbraco Cloud mastermind
Slide 3
Slide 3 text
Who are we?
Martin H. Clausen
- Umbraco Cloud Platform team lead
Mikkel H. Madsen
- Umbraco Cloud mastermind
Slide 4
Slide 4 text
What is the
platform team at
Umbraco?
Slide 5
Slide 5 text
Who is the
platform team at
Umbraco?
Slide 6
Slide 6 text
"Umbraco Cloud should be the best
place to run Umbraco.”
Why this talk
Slide 7
Slide 7 text
Chapter 1 - Where we started
Chapter 2 - …
Chapter 3 - …
Slide 8
Slide 8 text
Cloud Team 2014/15
Team
Slide 9
Slide 9 text
Team
Slide 10
Slide 10 text
Azure
Slide 11
Slide 11 text
Platform
Slide 12
Slide 12 text
Platform
Slide 13
Slide 13 text
Platform
Slide 14
Slide 14 text
Platform
Slide 15
Slide 15 text
Platform
Slide 16
Slide 16 text
Platform
Slide 17
Slide 17 text
Azure
Slide 18
Slide 18 text
CQRS
Event Sourcing
Infinite storage
SignalR
Long running processes
ASP.NET MVC
3
.NET 4
AngularJs
Code
Slide 19
Slide 19 text
Code
Slide 20
Slide 20 text
It was perfect - until it wasn’t..
It was perfect
Slide 21
Slide 21 text
● Time to provision
new hardware
● Maintaining
File servers!
● SQL server
optimization
● Team scalability
● Unable to extend the Hosting
platform further!
Slide 22
Slide 22 text
Features
Operations
Single region
Slide 23
Slide 23 text
Features
Operations
Single region
Slide 24
Slide 24 text
Features
Operations
Features
Operations
Multi regions
Slide 25
Slide 25 text
Features
Operations
Features
Operations
Multi regions
Features
Operations
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
Chapter 1 - Where we started
Chapter 2 - We need to do something, or else..
Chapter 3 - …
Slide 28
Slide 28 text
"Umbraco Cloud should be the best
place to run Umbraco.”
Slide 29
Slide 29 text
To not repeat history we had to ask ourselves
"What do we need to change internally
and what is the most important things to
get done right”
Slide 30
Slide 30 text
Provide guidelines and best practices
Infrastructure as code
Automated testing
Observability
Release with confidence
Guiding principles
Slide 31
Slide 31 text
Rethink
Identify challenges with the infrastructure,
and figure solutions to those challenges.
Slide 32
Slide 32 text
● Storage of website data
● CDN
● Control of traffic
● We don’t want to manage
hardware
● Identity management
● Proven technology
● Hosting support
● We want to get back to deliver
features to customers
Challenges
Slide 33
Slide 33 text
2020
2021
2022
● Make us independent from the whitelabel solution
● Take ownership of hosting data
● Move to Azure blob for image storage
● Identity management - Umbraco Id
Slide 34
Slide 34 text
2020
2021
2022
● Introduce native Azure hosting
● Decomposing the monolith into dedicated services
● Remember “23.100.15.180” ?
● Introducing Cloudflare - taking control of traffic
● Migrated all websites away from AP and on to the new
platform
Slide 35
Slide 35 text
2020
2021
2022
Slide 36
Slide 36 text
2020
2021
2022
Slide 37
Slide 37 text
2020
2021
2022
● Enabled CDN caching on content and media as well as
automatic minification of css, js and html
● Regional Hosting
Slide 38
Slide 38 text
2020
2021
Automatic Upgrades - old platform
2022
Slide 39
Slide 39 text
2020
2021
Automatic Upgrades - old platform
Online 24/7
2022
Slide 40
Slide 40 text
2020
2021
Automatic Upgrades - old platform
Online 24/7
2022
Slide 41
Slide 41 text
2020
2021
Automatic Upgrades - old platform
Online 24/7
2022
Slide 42
Slide 42 text
2020
2021
Automatic Upgrades - old platform
Online 24/7
Constraints on
- Scalability (time to run upgrades increased)
- Performance
- Hardware sitting idle for weeks
2022
Slide 43
Slide 43 text
2020
2021
Automatic Upgrades - new platform
2022
Slide 44
Slide 44 text
2020
2021
Automatic Upgrades - new platform
On demand
2022
Slide 45
Slide 45 text
2020
2021
Automatic Upgrades - new platform
2022
Slide 46
Slide 46 text
2020
2021
Automatic Upgrades - new platform
2022
Slide 47
Slide 47 text
2020
2021
Automatic Upgrades - new platform
2022
Slide 48
Slide 48 text
2020
2021
Automatic Upgrades - new platform
2022 done
Slide 49
Slide 49 text
2020
2021
2022
Slide 50
Slide 50 text
Chapter 1 - Where we started
Chapter 2 - This is meh, we need to do
something, or else
Chapter 3 - To infinity and beyond
Slide 51
Slide 51 text
Umbraco Cloud is in a good place
The foundation is right
Slide 52
Slide 52 text
Idea:
Feature environments
Slide 53
Slide 53 text
Idea:
Bring your own
repository
Slide 54
Slide 54 text
See you around at Codegarden
Don’t be a stranger!
We want to talk tech!
Thank you for listening
Microservices
AKS (Kubernetes)
Azure API Management
Docker
.NET 6
Azure App Configuration
KeyVault
Terraform
Cloudflare
Domain Driven Design principles
Event driven
Automated testing
Yaml pipelines
SpecFlow
Playwright
Azure B2C