A brief summary of the project: The new infrastructure for Umbraco Cloud will provide a state-of-the-art development experience as well as increased stability and allow us to expand the service and feature-set drastically in the future.
We’ve previously published 3 status blog posts announcing and detailing the new infrastructure on Umbraco Cloud. This is a follow-up to these blog posts:
- The future of Umbraco Cloud (December 2020)
- Status on new Umbraco Cloud infrastructure, February 2021
- Status on new Umbraco Cloud infrastructure, March 2021
First sites running on the new infrastructure
Our focus has been on making the new infrastructure available for existing clients first. When we start migrating the first existing client projects in batches (ETA Q2), we will enable new projects to be created on the new infrastructure as well.
Over the past month, we’ve focused on 2 main parts of the project:
Firstly, we’ve been working on ensuring that you’re able to manage projects on both the old and new infrastructure in the Umbraco Cloud portal, seamlessly. In other words, you will not see a difference in the portal as we start migrating projects.
Secondly, we’ve been testing the new infrastructure and have successfully performed the first migrations of internal projects. This includes both test projects and projects that are live, such as personal blogs and community sites. This means the first projects are already running and we’re very happy with the migration process and how the sites are performing.
These projects have been the perfect test case for all the steps involved in the migration and we’ve used the outcome to plan how the process will roll out over the coming months. We’ll continue the process of migrating internal projects and are also in direct contact with the first batch of partners and Cloud Powerhouses, planning the migration of the first client sites.
How does the migration work?
The following is an overview of how the migration process will work. It’s important to note that we will not touch the database during the migration. It’s purely a matter of serving the project files for each environment from the new infrastructure.
Step 1: Project verification
Each environment on a project will be individually verified, to ensure all requirements are met and the environment is working as expected. The migration process will run separately for each environment, starting from left to right, so Development -> Staging -> Live.
Step 2: New website environment
A new website will be created on the new infrastructure with all of the application settings from the current/original environment. This also includes the connection string to the database for the environment.
Step 3: Settings and files
The files that make up the website running in the webroot (wwwroot) are deployed to the newly created environment via the git repository. So in many ways, the migration is the same as deploying the website to a new environment.
As the site is migrated any config transforms are applied, so it should be one to one with the current/original environment.
Step 4: Project Url and Verification
The newly created environment now has the website deployed and it's time to verify that the new environment is working as expected. In order to verify the website running in the new infrastructure a new internal hostname will be available. This is the hostname you will see and use within the Umbraco Cloud Portal when clicking “View Page” or “Access Backoffice” under the Project.
Note that the project URL to the new infrastructure is slightly different. It will change from projectalias.s1.umbraco.io to projectalias.euwest01.umbraco.io. The git repository can be accessed both through <project-alias>.s1.umbraco.io and <project-alias>.euwest01.umbraco.io, so any cloned repositories will continue to work.
Step 5: Updating origin for hostname routing
With everything verified in Step 4, it is now time to point existing custom hostnames to the newly created environment with the site running on the new infrastructure. This part is handled by Umbraco and is an internal change.
The effect is that there will be no downtime as the new site will be running prior to changing anything that is live, and the hostname routing is almost instant without anything being unavailable.
Step 6: Disable old environment
Once everything has been verified and the custom hostnames now point to the new environment, it is time to turn off the old/original website running in the old infrastructure.
It’s also important to note that the outgoing IP address for the environments will change once the new websites are enabled. You will receive specific details on this when projects are scheduled for migration.
When will my project(s) be migrated?
As mentioned earlier we’re working closely with select partners on the first round of migrations. The process is exactly as described above but with manual approval of each step and close monitoring.
Once we’re satisfied with the first round of manual migrations, we will start scheduling eligible projects in batches starting with Pro and Enterprise clients as well as continuing the collaboration with partners and Cloud Powerhouses. We will add as many automated checks to the process as possible and also do manual verification as we move ahead.
You will receive direct communication when your project(s) have been scheduled for migration. We’re hoping to send out emails to the first batch of scheduled projects end-of-May. You will receive the information 2 weeks prior to the migration.
Prepare your site for the upcoming migrating
There are a few requirements that have to be met before a project can be moved to the new infrastructure. These all help to ensure a smooth migration with minimum impact on running projects:
- Media served from blob storage - DONE
We have completed the migration to Cloud storage for all eligible projects.
- Updated DNS settings - you might need to update settings
Your projects need to be updated to use the new DNS settings. If you aren’t using this already you will be contacted directly to update your DNS entries. Please be aware that from May 1st, 2021, we will deprecate the old DNS settings. It will no longer be possible setup a CNAME record pointing to the internal hostname for an Umbraco Cloud Project ie. project-alias.s1.umbraco.io nor will it be possible to set up an A-record pointing to the old Public IP (126.96.36.199). We continue to recommend that everyone updates their DNS settings as described above, see the Manage Hostnames documentation for more information.
- Minimum versions for Umbraco CMS - you might need to upgrade your project(s)
As we get ready for the new infrastructure, we are aiming to reduce the number of versions currently present on Umbraco Cloud in order to improve security, stability and overall experience of Umbraco Cloud which the new infrastructure enables. If you have projects on versions 8.6.6, 7.7.7 or earlier, we highly encourage you to upgrade to the latest minor and patch version and if possible, do this within the next 2 months. Minimum supported versions on the new infrastructure will be:
- Umbraco 8.6.7 for version 8 projects
- Umbraco 7.7.8 for version 7 projects.
You can find more information in the documentation article for upgrading to the latest minor or if you’re using the UaaS.cmd tool refer to the manual upgrade documentation.
Projects that do not meet the requirements, will not be part of the initial migration to the new infrastructure. We know this requires additional work for you and are thrilled to see how many have already updated their projects and settings - thank you! As always, you’re welcome to reach out to us in the Umbraco Cloud chat or on firstname.lastname@example.org if you have any questions or concerns.
What actions do you need to take for the migration?
Aside from meeting the prerequisites listed above (blob storage for Media, updated DNS settings and minimum required version of the CMS), there are no additional actions required from you. We will reach out directly about the migration when the time comes.
We encourage you to add (or update) technical contacts for your projects (this can be done on the team Settings page for each project) and sign up for notifications on status.umbraco.io. If you have any questions, you’re always welcome to reach out to us using the support chat in the Umbraco Cloud portal, create a ticket if you have a support agreement or write to us at email@example.com.
When will new projects be created on the new infrastructure?
First of all, it’s important to note that all Umbraco Cloud projects will be moved to the new infrastructure. Thus, there’s no need for you to wait if you want to create a new project in the coming months - and if you create a new project now, you don’t have to worry about the above requirements as they are already handled in the latest version on Cloud.
We plan for new projects to be created by default in the new infrastructure during Q2 and will communicate more about this in a future status blog post.
Keep an eye out for the next update
We will continue to provide you with updates going forward and plan to publish the next blog post when the first batch of projects is scheduled for migration. We’ll give an update on the manual migrations and if any changes have been made to the process. Additionally, we will have some exciting news to share about the git repository urls for Umbraco Cloud projects, which should make it a lot easier to work with.
Look forward to welcoming all our clients to the new infrastructure and would like to say thanks to everyone who has participated so far.