New Infrastructure
The Umbraco Cloud platform is a complex platform that aims to deliver end-to-end development workflows, maintenance capabilities, hosting services and a long list of end user-focused features through the products (Umbraco CMS, Cloud, Uno and Heartcore) and add-ons (Umbraco Forms and Deploy) that combine to make up the offering. It’s all tied together in the Umbraco Cloud Portal where you can create, update and manage your Umbraco projects.
To deliver all that we want, both now and in the future, we have changed the underlying infrastructure of the web hosting platform of Umbraco Cloud. We have moved away from an Infrastructure as a Service (IaaS) based solution to one where Umbraco Cloud is more closely integrated with Azure's native Platform as a Service (PaaS) offering (Azure App Service). Umbraco Cloud has always been based on services from Azure, but a lot has happened since we launched Umbraco Cloud in 2015 and it makes perfect sense to update the platform to be able to take advantage of all the new features.
If you want technical details on what you get with the different plans on the new Infrastructure see the Umbraco Cloud Plans documentation.
Cloud-based Media Storage, improved hosting services, and single sign-on
The first batch of new features was launched at the end of 2020. These were platform-enabling features that helped lay the groundwork for moving to a new infrastructure but also provide several improvements and new features to Umbraco Cloud.
All Media is now stored in Azure blob storage as opposed to on the same fileserver as the project. This is a more cloud-native approach that provides better resource/workload management and makes it easier to migrate existing projects to the new infrastructure.
Automated TLS certificate renewal, CDN and DNS services are now handled using Cloudflare. The new service takes advantage of Cloudflare's extensive content delivery network, reduced latency, and security capabilities. We’ve just recently seen Cloudflare take proactive steps to mitigate the effects of the log4j security issue and even though Umbraco’s products and service were not affected, it gives us great confidence in the provider. The new DNS service was also a crucial component in the migration process, allowing us to easily switch running projects from the old to the new infrastructure.
Single sign-on for Umbraco Cloud was also introduced, providing improved security and an easier workflow for logging in to Umbraco projects both across the Cloud portal, the backoffice on all environments and even on local clones. This benefits everyone using Umbraco Cloud from developers to editors. Umbraco Cloud’s SSO functionality is based on a new centralized account management system, also powered by Azure services. Aside from the benefits already mentioned, this enabled us to seamlessly transfer authentication to the new infrastructure.
New deployment and service layer
With the platform enabling features in place, the work started on building an entirely new infrastructure for Umbraco Cloud. This includes the deployment engine, allocating projects, automatic upgrades and managing multiple environments and transferring changes between environments. There is also a large service layer for Umbraco Cloud for handling all the features in the Cloud Portal, managing minor and automated patch upgrades, baseline functionality, monitoring and a whole lot more.
While a massive task, it was also very exciting - it’s not often you get to rebuild a project, with all the learnings and feedback gathered over 6+ years, improve and optimize both the architecture and functionality and deliver to both existing and new users. If you’re interested in how it all (or at least some of it works), Mikkel Holck Madsen from the Cloud Platform Team has written a blog post for 24 days in Umbraco detailing how we manage the automated upgrades of thousands of Umbraco sites every month. It’s well worth a read!
Improved monitoring and incident management
A large focus in the new architecture has been to increase internal monitoring and reporting in order to act on performance degradation and incidents in a more efficient way. We’ve already seen measurable improvements in this area, with fewer sites affected and vastly decreased time to resolution.
It has been easier to identify and address the few incidents we have seen on the new platform. Most importantly, only a dozen or so sites were affected, as opposed to hundreds if not thousands previously. The average recovery time from incidents has also been reduced from between 4 to 8 hours, it’s now down to 20 minutes. This clearly shows that the new platform is more resilient and we will continue to improve on this going forward to provide the best possible and most stable service to our customers.
Feature Parity
December 1st we celebrated complete feature parity between the old and the new platform as well as a whole bunch of additional features only available on the new infrastructure such as friendly GIT URLs, support for IDN hostnames, and more, including support for the recently released Umbraco 9.