You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The idea for this series of articles came to me while deep in the throes of making the journey from my warm and friendly Server environment to the wispy world of the Clouds. I am the solitary admin referenced in the title.
I had originally thought this would be a single, longish article. However, as the journey progresses, material for such an article continues to pile up, and it is indeed a pile. The naivete at an effort like this needing but one article to do more than brush the surface continues to cause a rueful chuckle. At least, in the prefaces for the first two episodes, I hedged my bets that it felt like 5 episodes. However, in episode 3, whilst in the throes of… many Bad Things, I was sure that 2 more wouldn’t cover it given the current pace and scope of articles. I no longer think that. The clouds broke, as it were, and things are rolling.
Even while things are rather brighter with this installment, my ability to evoke longer and longer streams of non-repeating invective continues to improve. The emotional roller coaster that became a mashup of the well known, "it was better than cats" quote and the immortal quote from John Cleese, as Brian Simpson in the movie "Clockwise", "It's not the despair, Laura. I can take the despair. It's the hope I can't stand” has morphed back to merely herding cats.
So, without further adieu....
That’s right… I said apace.
In the previous episode, I had glimmers of light from having gotten one simple but meaningful project in production on Jira Cloud. Since that those first rays of light, I am now in a full breaking dawn. There is still so, so much work to do but it has become, dare I say it, enjoyable.
With this moving along, I did set some definitive expectations with my user base to avoid unnecessary disappointment:
Migrations are seldom perfect. They might be good but not perfect. Day one might be annoying or even frustrating; by day twenty, you’ll wonder what all the fuss was about
I used a metaphor of moving house to describe “migration day”; when I get it all stuffed in there, it will be like “moving day”. We’ll have gotten to where we have all the big boxes in and unpacked enough of them that we don’t have to decide whether we can find our toothbrushes or just go buy new ones. There are lots of big boxes still to unpack and put away. Also, like moving house, the big boxes do get unpacked and put away pretty quickly. It’s the small ones with weird stuff in them that take the time. Small boxes with weird stuff == tech debt. It was there before. It will live on.
I am fortunate to have a great user base. I have always done my best for them, they know it, and if I say there will be some rough spots, they know I’ve done my utmost to smooth them out as much as I can. This effort would be a whole lot less fun without them as my partners.
You may recall that I had voiced a bit of trepidation over the Confluence Migration. Most of that was based on having been so focused on trying to solve for Jira that I had paid little attention to the Confluence effort. While perhaps not as technical, I knew there were hundreds, nay thousands of pages with macros that changed or didn’t exist in Cloud. That was weighing on my mind.
While it ended up not being utterly simple, it wasn’t terrible. A few notes for those facing this:
Read all the migration notes from the vendors of macros/plugins/apps you are keeping. There are likely some things to do before you migrate because after is just too late.
From one of the vendors, a neat tool that works across the storage format sitewide to do a search/replace of the macros ended up being not supported mere days before I planned to use it. For laughs I had build the latest Confluence LTS image and dropped in my test instance. Simple no fuss update. That, however, ended up being fortuitous as only a couple of days after I had tested that, notification for this showed up. I managed to make a quick update before this was broad news and was being widely exploited. Fortunately, this app is supported on the latest LTS and is a stellar tool to help with Confluence Migration.
Test all your migration efforts in a test instance! The aforementioned tool is great and has a lot of power. It also doesn’t have a lot of guardrails. A simple mistake in a search/replace ruined hundreds of pages that would NOT have been easy (or even possible) to reverse.
We ended up taking a “rip the bandage off” approach to migrate and it worked well. After doing a trial migration to determine if I could do it over a weekend, with some trepidation I had it broadcast company-wide that labor/labour day weekend was the time. The reasoning and the approach was:
Getting everyone configured and with access to Cloud would get all used to this new and weird URL.
I would do all the migration mitigation I could do but content owners would need to go in and fix their pages. I am leaving Confluence Server running for 2 months as reference with a sharply changed color scheme as a visual cue, banner message, and all site spaces set to read only.
It worked out great. All were excited to get to the new environment and dove right in updating their content (that wonderful user base I spoke of). I had crafted a set of pages with Confluence Cloud trips and/or tricks that helped lots of humans along the path. I also got the corollary benefit of smoothing out ongoing Jira migration efforts as all users are now active in Cloud. Migration tests that worked… ok… before are now going much smoother.
I’ll first qualify the “mostly” bit. The part of Jira Cloud Migration Assistant that… assists… with migrating Jira Service Desk to Jira Service Management is a bit weak. That aside, while determining mitigation/contingency plans to work around this, Jira Software projects are moving well. With Jira Cloud increasingly feeling like “home”, the efforts to mitigate a project for Cloud get faster all the time and it’s paying off.
One of the more time consuming elements to migration is reviewing and updating workflows to work in Cloud. Unless you have the most generic workflows using Atlassian only elements, they likely won’t move cleanly. The approach I’ve taken seems to be working, at least for me:
Do the initial test migration
Create a new, empty workflow scheme for the project with some naming convention indicating it’s Cloudy (I use a small c after the version number I set). Don’t add it to the project yet; wait until all the workflows are looked at.
For each workflow in the project:
Copy the workflow and add the Cloudy naming element
Go through every transition validation, condition, and post function. Some items migrate, some do not, and some do partially. Worse, some migrate in some cases and don’t in others. Fix 'em or change 'em to work Cloudy.
Add it to the scheme assigned to the same issue types as the scheme migrated from server.
After all workflows are mitigated, swap in the new scheme to the migrated project.
This buys you a few things:
If you have multiple projects using the same scheme, it makes it quick to add and be sure you have the Cloudy scheme as well as reducing the amount of duplicate work for common projects
Re-migration for test or the production migration has most of the detail work done when not under pressure. This greatly reduces the “This is broken and if it’s not fixed right now, <insert Bad Thing> will happen!” messages.
After three lonely projects migrated to Jira roughly coincident with the big labor day move of Confluence, the weekend after labor day found us migrate all the engineering projects. It was a fairly big lift but they’re live in production on Cloud and brings us to twenty-one projects moved, some of them rather large.
With some more early mornings, late nights, and weekends, the rest will get moved in; some as blocks of projects over a weekend and some solo projects moved on a weeknight.
The jury is still out what the next episode will bring. I am so far under water with the migration that the light has changed color. Given that, I am unsure whether I will have time for an interim episode before the migration is “done” or whether it ends up being the Migration Requiem because I am “done”.
Regardless, while I am sure there still be some face plants along the way to our destination, I feel I have honestly reached the “triumph” part of the journey.