Monday, March 27, 2017

Why Private Cloud, Seriously?

Sometimes, I just can't keep my big mouth shut.

A while back I got called out on Twitter.



I was trying to make a point about the business case for cloud and Michael Ward over at Pearson correctly pointed out that I hadn't really made a case for Private Cloud.  It was a fair point.  I actually wrote this response way back then but didn't get around to publishing this until now.  Sorry about that!

So, here it goes.

Premise:  "Cloud" as a thing is as much about business model as it is about technology.  Thus, the difference between "Private Cloud" and "Public Cloud" is primarily the difference between in-sourcing and out-sourcing.

Discussion:  If you read this blog or have read my book, you will know that I am a big fan of the NIST definition of cloud.   Under this definition, there are a few mandatory elements like self service and rapid elasticity but no references to technology.  Thus, you can see that this is fundamentally a business model change that has been enabled by things like the internet and virtualization but that this is not fundamentally about any one technical implementation.

Why is this distinction important?  I believe that this distinction is vital because it implies that the only way you can truly judge one cloud platform vs. another is based on business criteria.  In some ways, the cloud signals the end of the highly technical infrastructure wars that we have been fighting for many years.  Like other utilities, the implementation details become irrelevant.  Don't believe me?  Go ask AWS for details of how EC2 works.  They won't tell you, even under NDA.  You don't need to know that. 

Since we spend most of our time discussing implementation  details, it means that we in the industry are spending most of our time focusing on things that our actual customers don't care about.



What started the whole "friendly twitter discussion" was a comment about how dumb it was to make your own cloud.  "If you ask you to take me from point A to B would you take out your phone for an Uber or would you start ordering vehicle parts?"

My response was "If you ask me 10,000 times an hour, I might look into building my own cars."

The point here is that there is definitely a volume issue that the analogy was missing.  This leads to my first point:

POINT ONE:  Private Clouds Make Sense at High Scale.

The reality is that when you use public cloud you are making a decision to outsource part of your operations to a 3rd party.  Sometimes, this is a brilliant idea.  In many cases, the public cloud vendor is operating with a huge scale and is able to buy equipment at a much lower price than you can buy it at.  Of course, they are also making a profit.  So, there is a balance between their profit and your operational scale.  At some point, these two curves cross and you can operate your own data center for less than they can sell their data center to you.

When do those curves cross?  It depends.  How much does it cost you to deliver a single VM in your private cloud?  If you don't know the answer to this question, you may want to seriously consider buying public cloud because it's an indication that your operations are not mature enough to really compete with public cloud on price.  If you are not actively managing the ROI for your data center, you probably aren't operating at the high efficiency that public clouds operate at.


POINT TWO:  Private Clouds are Good for Your PETS.

I am sure we have all heard the pets vs. cattle argument.  I won't repeat it here.  Suffice it to say that if you have workloads that you really care about and that can never go down, Private Cloud has some attraction for you.

Yes, you can argue that having pets in your data center is a bad idea.  You may even be right.  That's not the point.  The point is that every major enterprise IT shop I have ever talked to has at least one app that's more like a pet than like cattle.  If you run an IT shop, you know what I'm talking about.

Should you re-platform that application so that it's more like cattle?  I don't know.  It depends.  Who wrote that app?  Is that person still alive?  Did you buy it from a 3rd party?  Do you even have the code?  Lord only knows.  Perhaps it's simply cheaper to keep that app running than try to mess with it.

As your infrastructure vendor, I don't get to make that choice.  I will urge you to take a look and figure out what apps can be or should be re-platformed.  But I don't get to force you to do it.


POINT THREE:  Regulatory and other issues drive this.

There are many, many organizations that have significant governmental regulatory pressures that drive IT decisions.  This may be something simple like PCI or something heinously complex like FedRAMP but there are tons of issues here that drive placement decisions.

If you have spent the last 20 years getting your core infrastructure to be compliant to some unwieldy regulatory structure, you aren't going to walk away from that quickly (or ever).

Because a Private Cloud is precisely tailored to your exact operating environment, it will always be more precisely tailored to your exact requirements.  Again, an argument can be made that this customization is bad but that is also not a decision that we vendors get to make.  Only customers get to make the trade-off between customization and cost.


POINT FOUR:  The car analogy is broken.  

What really started this whole thing off was the idea that Uber is way better than building your own car.

That analogy is broken.

Nobody builds their own private cloud from scratch any more.  If you buy vRealise Automation from VMware or an OpenStack distro from Mirantis you are actually buying most of a car.  You're not buying a bunch of parts and assembling it from scratch.

So, the question is really:  Do I buy a car or do I rent one by the hour from Uber?

Answer:  It depends.

I take Uber all the time.  When I'm away from home, it makes way more sense to take an Uber than it does to buy a new car in that city only to sell it again the next day.

On the other hand, I also own a car.  I like having my own car.  I enjoy customizing it.  It's cheaper to operate than taking an Uber everywhere.

For Private Cloud, I argue it's the same thing.  I operate a private cloud when that makes sense.  I also use Public Cloud when that makes sense.  This is not an either or choice.

If you look at what's happening in enterprise IT closely, you will find that less than 10% of all enterprise IT organizations have more than 50% of their IT on public cloud today.  While we should fully expect this to rise significantly, we should not expect that private infrastructure will go away.  Over time, each will find their niche.  Just like Uber has found a niche that buying a car cannot fill.

Summary:  Horses for courses

When you watch large IT organizations make a decision and then you say "that's wrong" you should step back and consider.  It's easy to say something from a technical perspective or an architectural perspective because things like technical features don't change much from organization to organization.  However, business requirements can be radically different from place to place.  Unless you really understand the business requirements driving an IT decision, you should be slow to judge.

In the end, cloud is a business model.  Thus, any cloud adoption is a business decision, not a technical one.

So, Michael (if you read this far), did I convince you that Private Cloud is a thing?












2 comments:

Unknown said...

Alex - Always good to hear from you.

"Private Clouds Make Sense at High Scale."
I would caveat this comment with 'consistently' high scale and very little requirement for flexibility. If the business model does not require even a medium pace of innovation or the potential to pivot in completely different directions then sure.
However there are a ton of advantages to be gained with public cloud through:
1) the speed of innovation around public cloud vendors
2) the ability to blow away or reduce resources of infrastructure at a moment notice with zero repercussions
3) or to scale with a burst in traffic which would require significant amounts of resources to achieve in a private cloud

"Private Clouds are Good for Your PETS."
This is really only viable for a short duration of time. Meaning the time it takes for said Pet to no longer be worth having around. 3-5 years max? And even then its probably costing them more to keep this Pet around than to 'reinvent the wheel' and go through the pain of moving it. Reverse Engineering, what a beautiful thing.

"Regulatory and other issues drive this."
The vast majority public cloud vendors comply with all the various standards and regulatory compliance. There is some room for this in the government agencies arena but even those are being whittled away. Gov Cloud is a prime example. Fact is, government agencies are beginning to recognize that even they can not guarantee levels of security that are "out of the box" with many public cloud vendors.

"The car analogy is broken."
I agree the car analogy is broken. Which is why I didn't make it. ;)


My thoughts:
There is a balance to be struck between public and private cloud. There is money to be saved by businesses in the private cloud arena where a known base of load can be used consistently. The problem is, there simply aren't that many companies at the level of maturity (despite the number of years so many large businesses have been running private data centers) that can measure their consistent load across the estate and then leverage that knowledge to build and operate a private cloud. I could be wrong but I've yet to see a single company utilize 30% of their private infrastructure consistently. I've seen plenty that said they were, until the numbers came out. (caveat: I hear Facebook does well in this arena)
If the private cloud model were utilized for consistent load, the public cloud could be used for burstability. This has been passed around quite a bit but I've not seen anyone do this well enough to justify the complexity of managing private and public cloud infrastructure.



Alex Jauch said...

Thanks for reading!!

Yes, I think the point we agree on is that this isn't an all or nothing decision. The actual cost difference between re-platform and private cloud will obviously vary from customer to customer. The point I was trying to make is that this is a business decision based on cost, speed and business goals.

While we all agree that pets are bad, all IT shops have them. It's just a practicality thing for me. My customers have pets so I sell them pet food.