Can we talk about “cloud” for a minute? I mean, if you’re reading this – you probably spend a measurable portion of your day talking about, working with, hating, or otherwise thinking about “the cloud.” And I’m sure a majority - or at least a plurality - of you have spent time thinking about, discussing or being lectured on why “cloud” is a great thing.
And you know what, the people saying that are probably right. Probably. In many situations, cloud resources are awesome for a whole host of reasons including rapid development and deployment, elastic resources, consumption-based cost model, cloud-only features or functionality, platform consistency – all awesome reasons to build on the cloud. Heck, even many of the educational firms I interface with (not usually famous for being early adopters) are jumping in aggressively.
So if cloud is so great, why then did I recently get put off when I was talking to a CIO who very proudly said: “we are moving everything to the cloud” when talking about their company’s infrastructure plans over the next few years. I probed at this and pushed gently to see if their strategy was really as monodimensional as he was asserting it was. Surely, there had to be some nuance in there. More frustrating is that there was no real rationale presented. No cost justification, or time-to-market analysis. Sadly, I believe this CIO was a victim of a golf-course strategy. Which is to say, something that sounds good on a golf course, but makes little sense in the practical, real world we live in.
Now, before I go lambasting this (intentionally) anonymized CIO, let me just put out there that this is a genuinely decent person who I’ve known for some time, who I believe legitimately wants to do the right thing by their company but has somehow fallen victim to a massive oversimplification that likely doesn’t actually serve the best needs of their company. They started to talk in blanket statements and absolutes.
There is a well-known phenomenon among those in decision-maker roles where you never want to be the last person to do something – and so if it seems like everyone else is going crazy with AR and VR, you may very well feel pressure (especially from non-technical executives who you report to) to make sure you have a play there even if you have no solid use case for doing so. How else can you explain Mastercard launching an augmented reality app that would be better served by a text file listing off card benefits?
Okay back to this CIO, who I will call “Sam.” Sam’s statement that they were going to move everything to the cloud reeked of oversimplification. First of all, which cloud are they referring to? I don’t mean Azure or AWS, I mean private, public, franchised, hybrid? Just exactly where do you expect this workload to run? So, let’s assume (like most) they were referring public cloud – and likely in one of the big two – Azure or AWS. Here’s a pro-tip – if you can’t clearly articulate and explain where your workload is going to run, you might have bigger problems than strategy development if you are leading IT.
If we assume that Sam was going to move their entire workload into the public cloud, we’d hope that they had done an exhaustive study around cost (or at least done their due diligence.) Except, I’m certain that wasn’t the case here. Our first clue is that Sam said they were “moving” to the cloud, not “building” in the cloud. The issue here is that virtually all legacy apps do not take advantage of some of the awesome cost-savings opportunities presented by cloud providers such as pre-emptible execution, distributed system, and ephemeral processes that only run when necessary. Instead, they were written in the client/server era and expect that they have unfettered access to compute and storage; in the cloud era, that is an expensive proposition. I have personally evaluated moving several legacy apps to the cloud and absolutely could not get cost justification. There was no labor reduction as the app wasn’t being run as SaaS in the cloud, so required the same team to manage it, and we were paying through the nose for continual access to the cloud resources. It was an expensive exercise.
Since we’re talking about utilization a bit, I have often heard people refer to using cloud resources as “renting” their infrastructure – which I think is a pretty good summarization. Let’s explore that for a bit by way of a parable I like to tell in the office about Pete and Sue:
Pete and Sue are both are contractors that work on different types of projects. Pete works on residential and commercial construction, and Sue works on municipality construction. They both do pretty well, but have different types of businesses. Pete digs holes every so often because he needs to put in a foundation, insert a pylon, etc. But mostly, he’s working to build buildings above the ground. His company usually works one shift during the day. Sue does a lot of work on bridges, roads and drainage. Her company needs to dig almost every day and works multiple shifts depending on when they can close roads, etc.
Now, with that information we can pretty safely say that Pete probably doesn’t need to use an excavator every day – maybe just a few times a month. Sue, on the other hand, is using an excavator almost every day. Should either of these folks rent their excavator? Most likely, (depending on price) Pete should rent the equipment when he needs it, and Sue should absolutely not do that. It would cost her far more to rent that equipment very frequently than it would to simply own it. Now, perhaps Sue occasionally has a need for more than one excavator at the same time – maybe when those cases arise, she would rent one to add to the one she owns. Hey! Hybrid excavators!
Another way to look at this is using Uber. To say that you are only going to use cloud is like saying that you’re only going to use Uber. Maybe that makes sense if you live in midtown Manhattan and have no need to leave the city. You probably don’t need a car. But if you live in rural Kansas, that’s an expensive proposition. It all comes down to utilization and your cost model. When I’ve run the numbers – most of the time you end up doing better with cloud when you don’t need it to be “ramped up” 24/7. So for instance, a retail system might be a great fit for public cloud if you’re really busy in Q4 but dead in Q’s 1 and 2. Why run and own all that infrastructure 12 months a year when you only need it for three?
Ultimately, what I’m trying to say with respect to the cloud, specifically is that it’s not a tool for every use case, every time. It’s not a great idea to just assume that because it’s getting a lot of traction it’s a got to be the best play for your business and use case. I’m advocating for you to actually do the analysis and find out if your use case is a good fit for the cloud, or if maybe you need to change the apps and operating model before you consider moving that function to the cloud. If it’s not a great fit, you may want to look at other options until such time as the situation changes.
What really irks me is that we seem to have forgotten there’s a great middle ground between owning and running your own datacenters and dumping everything up to the cloud – colocation and hosted services. If you’re really struggling with capital costs vs operational costs, you can consider leasing hardware and space from one of many providers that is likely in your local metro area. You get some of that accounting benefit while also not needing to buy a bunch of hardware. Of course you’ll end up paying more, but sometimes the lack of needing to depreciate a capital asset and invest upfront makes up for that. That depends in some part on your accounting systems.
I can tell you from experience that renting space in a colocation facility has been great for us – all of the benefits of not running a datacenter and spending time on what I believe to be undifferentiated work and none of the extreme cost overruns of trying to pay per cycle – which is especially helpful for legacy applications that are fully utilized or have no ability to “ramp down.”
Now, please don’t get me wrong: I realize that I sound like I’m pretty anti-cloud right now, but I’m not. I’m not anti anything. Instead, I’m pro-analysis, pro-thoughtfulness, and pro-intentionality. If you take your time to do the analysis and make sure your decisions are on good footing, you’ll really make a dynamic impact for your organization and the industry as a whole. And hey, there are great reasons to go to cloud even if it costs more – there are some platforms, and therefore some functionality that you can only get via one cloud provider or another. If you see value in those features and can justify the costs because of the benefit they bring, I’m not going to show up at your office and yell at you. Of course, if you have donuts I may show up at your office just because. I’m especially fond of chocolate-frosted donuts.
Let’s zoom out for a bit and land this thing: Ultimately life is full of nuance, and management and leadership should be no different. While a strategy should be simple to understand, it shouldn’t be so simplistic as to be limiting. It’s absolutely okay to prefer one option over another, but it’s usually not the best idea to pre-select an option with blatant disregard for the consequences. And I mean this in all areas of your life. Be thoughtful about when and how you make decisions and set strategies, and don’t get locked-in to your own decisions. Even if they were well-intentioned, be willing to flex on them when it makes sense.
I’m pretty sure you’ll do better in the long-run.
Okay, time for you to chime in:
Have you ever had a manager issue a decision or strategy that seemed foolishly inflexible?
What areas of your life have you set up hard-and-fast rules that you or your organization might benefit from flexing?
How have you been doing moving workload to the cloud? How have the bills been?
Is your company putting in enough effort to re-platform apps or just trying to move the legacy code around?