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. Emotions are on a roller coaster. "I laughed, I cried, it was better than Cats", as it were. As such, this tale will come in episodes. It currently feels like 5 episodes with me currently at or around episode 3. I say it feels like 5 episodes because, at present and with how this journey feels like it will go after testing and experimenting, I will have something to say over that many installments. I will not, however, rule out more than 5 being the target should I happen to need one to talk about a Bad Thing That Happened. Coincidentally, a collateral Bad Thing seems to be unfolding as I write this and may make that extra episode With luck, however, it may just end up being errata. The more I considered it, the more I thought there just might well be other humans not all that far behind me to whom my little epistles might prove helpful.
So, without further adieu....
In the last episode, hope was born that I could, in fact, make the journey to the Clouds. However, as is the case so often with hopeful innocence, things went all pear shaped. In this case, the analogy was the pithy one liner my fellow pilots and I might share when discussing Bad Things happening with a Cloud alliteration about mountain flying - encountering fir tree stratus and granite cumulus.
When I began this effort, I knew, from peers and content found on the Atlassian Community, that Things Would Be Different. What I didn't know was just how much and in what ways. From the outset, I had caveated my pronouncement that we can be in the clouds to my management with the proviso that I might run up against a functional roadblock that would be a binary yes/no switch and they were cool with that. In my naivete, with many core project or even enterprise critical functionalities embodied in my instance, I thought my go/no go would rather quickly be either a "go" or run up against a discrete lack that said no go; break out the Data Center licenses. What I got was an experience best embodied as, "One by one the penguins steal my sanity."
One of the key items I looked at the first time around in 2018 was how much would Cloud cost vs. my Server environment. While a definitive lack of function made a firm no, the significant cost increment drove the proverbial final nail. Data Center Edition was quite similar. Not all my key apps were available in Data Center and the increased license costs were comparable to Cloud so, also no. I settled back in my warm, comfortable Server environment until 2020 when the ground shaking Server EOL announcement came in. I copied my 2018 analysis pages and refreshed them for 2020. I got the very different technical result as noted in my first installment. Where I initially went wrong was focusing too much on cost just as I had done in 2018. On the surface, Cloud vs. Data Center costs were about the same all in and both had the apps that I wanted to retain for the long run. As with 2018, both versions were a lot more expensive than Server but it was not inescapable that Atlassian was going to cost us a lot more. I wasn't all that happy about but, as with so many companies, we had other expensive SaaS items in our stack, many of them one trick ponies that didn't deliver as much stuff for the money, so the stoic in me sighed and moved on.
My final gating factor, this time, was a legal review. With the two options being (apparently) the same, I wanted legal to review the rather different T&Cs of Cloud before I put too much more effort into it. Perhaps part of me was hoping, or even expecting, I would get a "nope" thus allowing me to buy new DC licenses, change my operating environment, and continue largely unchanged. It didn't work out that way. They said yes.
Ok. Cloud it is.
With the functional go/no go agreed to by my management in my pocket and the yes from legal, I had a chat with @Boris Berenberg from my Atlassian Partner Atlas Authority (who has become an utterly stellar resource through this) about my decision. The concerns started to mount even while they weren't enough to change my course.
Boris: "An app might be in cloud but it almost certainly doesn't have all the functions of the hosted version and what is there probably works differently." Me: Mild tremors.
Boris: "Post functions are asynchronous in the Cloud." Me: Deer in the headlights.
Boris: "You'll have to re-write all your Groovy scripts." Me: Fetal Position.
We have now arrived at Deep Concerns status. These are big things to get past. I have a few apps, especially in Jira Server, that are among my Swiss Army Knife tools. A key one is Jira Misc Workflow Extensions (JMWE). All three of Boris' pronouncement of doom statements are touched on there. A quick scan of its documentations shows It doesn't do All the Things and what are these "Nunjucks" the documentation speaks of? I have a ton of Groovy embedded in JMWE. I have workflows where step X relies on the results of step X minus one. I have ScriptRunner with a lot of scripts extant.
This is Not Good but I consoled myself that, even with these Deep Concerns, I have overcome significant technical challenges in the past. I need to get in it and figure out how to all the whats with new hows.
There is a whole lot of awful embodied in the concerns but they're not going to solve themselves. I started to dive in and the despair started to mount as the sheer scope, grandeur, and apparent horror of the journey I have set myself on began to settle in.
Theory is always nice but I find I start to learn things where the rubber meets the road. As such, it's time to get an environment to work on. My first stop was the Atlassian Jira Cloud page where I see a fulsome promise of a 30 day free trial. I already knew I had a metric tonne of things to validate, try, break, and try again so this seemed.... a bit short. This is the when the first vestige of despair glimmers on the horizon but I put on a brave face and told my manager that I wanted to clear the decks of some operational things and user requests along with get a bit of maintenance done. After I was through that, go heads down for a month to really dig into this thing. In the meantime, between all the other day-to-day tasks, I would document as much as I could to be as directed and efficient as possible with this frugal amount of time.
As one might expect, with this Solitary Admin being "The Atlassian Team" in a busy shop with a complex implementation, that clear month to work on this was always just out of reach. I had a soft mandate to pursue Cloud migration but I didn't have a mandate that would let me push user requests off allowing me to work on this. The end date of my server maintenance licences was inexorably bearing down on me and, other than some lovely documents about what was and wasn't there based only on reading, not trying, I had nothing, much less a way to get there in real life. I maybe could have suggested we just buy the Cloud subscriptions along with the Server and I could chip away at the mountains with hand tools. However, rightly or wrongly, I try to be a good steward of the company's money and didn't want to (in my mind) spend like the proverbial inebriated mariner. While far from overwhelming, with respect to this ostensible migration, despair was now a constant companion.
I started pouring over the various documentation provided by Atlassian. In early 2021, it seemed like it did a great job of keeping one from losing sight of the forest for the trees. However, it also seemed they did a very good job not allowing any trees to be seen should one want or need to. The only step in the "guide" that I could do, for real, was "Assess". To me, that was a "well duh" step and had done that repeatedly for years. I could do the next "Plan" step all I wanted but until rubber met the road, that would all be a guess at the best. "Prep".... I could and did get rid of stale projects and spaces but just what was going to break when I was actually able to try something was an amorphous pile of dread. Almost nothing in that step could be done without some attempts at making this work. Guidance was offered if I was over 1,000 users. I am not. An aside; it is somewhat irksome that user count alone implies complexity. While under 1,000 users, I was doing Jira Work Management before it was a Thing and some of it is complex with little logic sharing possible across some groups. I feel like a little help might be useful.
While the text has changed a bit now on the Atlassian Migration pages, the "support" option was the traditional "If you're having trouble" type of text. With not starting on serious work to use my 30 free days wisely, I didn't know if I had "trouble' and would not until I was able to get my hands dirty. It felt a lot like I would be putting in a support request not dissimilar to the ones I see on my own JSD with the summary "My computer is broken" with no other information. Additionally, I have long known that, if someone tells you the answer, you've heard it. If you learn the answer, you know it. A vague "Help me; I've fallen and I can't get up" support request felt a lot like being told the answer.
All of the above caused me to write in a few places haunted by my Atlassian Administrator peers, "With all the Atlassian push to move to the cloud, why do they seem to insist on throwing up roadblocks at every turn?"
My howl at the moon saw a couple of humans reach out with help and guidance. @Daniel Eads from Atlassian popped up with a key bit of information; I had Cloud trial licenses for the term of my Server maintenance. This tidbit was there all along but, at the time, was someone hidden. I find this is a bit more prominently shown now but oh, the time I lost not knowing this. Once again Boris reached out and told me I need to get a MOVE ticket started. What isn't described well is that these are not a typical support ticket where one submits a "I'm having trouble with <insert discrete thing>" ticket to get help with said discrete thing. My original reticence putting in a ticket was based on not having trouble with a discrete thing but, rather, facing a seething cloud of unknowns. After putting in the MOVE ticket, what I actually got was my spirit guide for the migration usually embodied in one Atlassian, Houston B.
With these in place and me now having my hands on Cloud and doing things with it, the despair ebbed away. I was able to do a Thing and get a Result. Granted, it might have been the wrong thing and returned a bad result, but, I now had something tangible I could look at, learn from, correct, and move on. I have found the Cloud versions of Jira and Confluence to be, in many ways, name only analogs to hosted versions. It could best be described by thinking of a dream about a place very familiar to us but where doorways either don't exist or open somewhere different, and hallways lead to destinations only similar to "real life". At least, unlike some of the dreams, the doorways didn't move and the destinations didn't change (much) each time one one visited them.
I can learn this and do stuff with it.
I get into this effort in earnest and make some real progress but there are new hurdles to overcome.
Mike RathwellCommunity Leader
Hi Community, I’m Partha, the Head of Cloud Migrations at Atlassian, responsible for ensuring our server customers needs are met in cloud. As a long-time Atlassian (~14 years), it has always been imp...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events