We have attended all the Drupalcons, paid close attention to all the workshops on Drupal migration, read all the blog posts, and interviewed several of the key people within the Drupal organization. So, when it came time to migrate (or upgrade) from Drupal 8 to Drupal 9, all sources of information indicated that it was mostly an automated process. Hah!
Agileana specializes in Drupal development, operations, and maintenance of mostly federal government websites. We have Drupal grand masters and a handful of people who are only one cert short of a grand master. We are hardly amateurs at this.
So, when it came time to migrate one of our client’s sites from Drupal 8 to Drupal 9, we did some basic estimation. Just as a sanity check, we hired an outside consultant (Drupal expert) to give us his/her opinion on the level of effort. That estimate came in at 8 hours – one day. Hmm, piece of cake. I guess all those blog posts and Drupalcon workshops were right on target.
But, just to be safe, we set aside an entire week for the D8>D9 migration. Once we got in there, however, we realized that a lot of the servers settings and configurations were not fully compatible with D9. So, we spent a good half a day just getting those up to speed. Like peeling back the layers of an onion, you update one thing and discover another incompatibility. By the time we implemented the container, enforced security, tested, etc., well … two days later, we were ready to focus on the actual Drupal 9 upgrade.
Not so fast. We realized that a lot of the functionality of the modules installed for D8 became deprecated because the D9 core assumed many of those responsibilities. So, there was some module clean up. Then there was some refactoring of JS scripts.
Well, a week had gone by and we are finally ready to focus on getting out of Drupal 8 and moving into Drupal 9. The actual work was probably only a few days but when a developer says, “it’s done,” I know it’s not done. What he/she really means is that it’s ready for testing. You can’t just take for granted that it is done.
Long story short, upgrading from Drupal 8 to Drupal 9 is not easy peasy. The site that we are referring to was relatively simple. We did not originally build it, but we maintained it for a couple years. We were pretty familiar with the code. Based on our readings, we thought it would be a day. Based on our experience, it ended up being a couple weeks of work with two veteran Drupal professionals on it.
Total cost of the “simple” D8 to D9 upgraded ended up being about $20,000.