Private Cloud or Public Cloud?

July 22, 2015 Off By David
Object Storage
 
Article written by Leo Reiter
I’ll be very clear up front… I am not a big believer in private cloud (versus public cloud) for most organizations and use cases. But in the spirit of objectivity, let’s look at both approaches and when one makes more sense over the other. I reserve the right to offer my biased but carefully thought out perspective along the way, because well, this is my column after all!
 
Let’s start at the beginning…
 
What is Private Cloud?

Private cloud, unlike public cloud, begins with dedicated infrastructure. Customers leveraging private cloud enjoy the benefits of not having to compete with other “tenants” for resources. The flip side of this (among many other issues) is that capacity is fixed, until it’s explicitly increased, but more on that later.

In theory, private cloud is also more secure than public cloud precisely because there is no resource sharing between tenants. In reality, public cloud providers generally do a great job at addressing security and tenant isolation, both when data is resting as well as when it’s processing or moving. But in some cases there are strict regulatory and compliance guidelines that explicitly demand separate infrastructure, which private cloud addresses well.
 
Here’s what private cloud is not (necessarily):
  1. Ordinary data center infrastructure that happens to leverage virtualization and IT finds sexy to refer to as “cloud”
  2. Dedicated server hosting (unless it actually offers self-service and rapid elasticity)
  3. Some collection of existing workgroup and file servers that happen to be networked together
What’s wrong with any of the 3 points above? Absolutely nothing – and in fact, these mechanisms actually cover what most organizations really need. Layering the complexity of cloud on top of that doesn’t necessarily make sense, unless:
  1. Your organization actually needs to implement “DevOps” (a despicably overused and abused term in its own right, but I digress) – because your business model demands a lot of rapid development and prototyping, and traditional IT process can no longer keep up.
  2. Your organization can no longer keep up with managing the myriad of computing, networking, and storage resources without deploying some uniform abstraction layer (e.g. a cloud controller)
  3. Your organization is constantly cutting the CIO’s budget, and decentralizing IT (and implementing self-service of resources by extension) is the only way to continue operating under these constraints
  4. Your organization one day plans to adopt public cloud, and decides to start migrating applications and processes with existing resources rather than “pay to learn”
I’ll argue that the fourth bullet is the most important, because I believe all organizations should be looking at a public cloud strategy. Owning (or outsourcing) dedicated infrastructure is prohibitively expensive for the elastic usage patterns we see across all industries today. Unless there is a compliance/regulatory reason not to, it’s time to at least start thinking about a migration strategy – certainly ahead of any further investment in dedicated resources. Hybrid cloud (bursting to public for more capacity/new applications) is an interesting alternative, but this demands migrating legacy infrastructure to cloud mechanisms anyway. Otherwise you are not bursting, you are simply using public cloud as a new pool of resources – which is fine too, but let’s call a spade a spade!
 
What’s involved in Deploying a Private Cloud?

Assuming private cloud is right for your organization, consider some basic deployment requirements and their associated costs:
  1. Acquiring the skills (either learning, hiring, or outsourcing) – it’s unlikely you have these skills in house, and unless you have very relaxed deadlines, you can’t afford to invest the time to become proficient. You’ll find that good cloud talent is quite expensive, and outsourcing comes with its own major costs and pitfalls. You can’t just “throw your cloud deployment over the wall” and expect to get back a turn-key solution after some short period of time. Speaking of time…
  2. Planning, executing, testing, and fixing the migration process – your applications and mechanisms need to be adapted to work in a cloud framework, and this won’t happen overnight, even if you have the talent on hand. Expect plenty of “break/fix”. Depending on the complexity of your infrastructure, these processes can take months (or longer).
  3. Navigating the convoluted ecosystem of vendors and technologies. OpenStack? vCloud? Azure? All of the above? Who integrates and supports it? HP, Red Hat, Microsoft, IBM, VMware? Other? All of the above? What about compatibility with public cloud APIs like AWS? Prepare to do some serious homework here, and still have to make a choice based on incomplete information/unforeseen variables. Mistakes can be costly, but they are almost unavoidable due to the breadth of choices. Ask 10 IT professionals what a cloud implementation should precisely look like and you’ll get 10 different answers.
  4. Measure and control effectiveness and ROI – if you don’t put management systems in place early and often, you won’t know if you are getting any real business value from your private cloud. Remember, this can easily be a huge investment. Organizations don’t just throw this kind of time, money, and opportunity cost at problems and just let things “play out”. If you don’t demonstrate ROI with credible data from your deployment, others will assume you’re just wasting money.
One other very key factor to consider with private cloud is that you must build it from the infrastructure up. Whether you own the resources, or you outsource them (e.g. to a service provider). This means you are starting with compute, storage, and network – also known as IaaS (Infrastructure as a Service). In the public cloud space, you have the choice of immediately available higher classes of service to solve problems more effectively – e.g. SaaS and PaaS. While you can eventually get there with private cloud, you must build the underpinnings. For a refresher, read “Choosing the Right Class of Public Cloud Service”, and think about how to address this with your private cloud implementation. You don’t just want to hand out IaaS to all your end users, as this can be disastrous in terms of productivity and even adoption.
 
Softening the Blow with Hyper Converged Infrastructure

Hyper Converged Infrastructure (HCI) is a relatively new trend aimed specifically at mid-sized companies looking to implement private clouds (or turn-key dedicated resource pools). These solutions combine storage, networking, and compute into a vertically integrated, horizontally scaling appliance model. Obviously this doesn’t always mean “best of breed” for all capabilities, but at least it eliminates much of the initial build complexity. If your organization needs to add new infrastructure to implement private cloud, this is a good solution space to look at. Again, expect to navigate some confusing vendor waters and cut through a lot of hype, but trust that the “sticker shock” pales in comparison to what it would cost you to build that all from scratch. (CRN has a good introductory overview of 13 Hyper Converged Infrastructure solutions.)
 
Of course, if you don’t really need private cloud, just start consuming public cloud with no up-front investment! Which brings us to…
 
Why Public Cloud Makes Better Sense

Assuming you are not able to reuse a lot of infrastructure and software for your private cloud implementation, and you have no compelling reason to use private cloud (such as regulatory/compliance pressures), then I’ll argue public cloud almost always makes more sense. This also assumes that your use cases actually benefit from cloud more than from “reserved”, or “dedicated” infrastructure – that is, they are very dynamic/on-demand in nature versus static and predictable. Remember that cloud is not the most cost-effective way to operate steady, predictable workloads. In fact it exists for quite the opposite reason. So, assuming that your use cases are actually a good fit for cloud in the first place, consider the following:
  1. Public cloud always scales “right now” – private cloud needs infrastructure build out in order to scale. Even if your TCO looks better, you still have to procure and configure new resources, which takes time, risk, and opportunity cost.
  2. Public cloud already offers multiple solutions in all classes of service – e.g. you don’t have to build a SaaS platform for your CRM on top of your private IaaS, because services like Salesforce.com already offer that as a turn-key solution.
  3. Public cloud is probably what your organization will end up using in the long run anyway. Just like PCs replaced mainframes (for the most part), public cloud will replace dedicated infrastructure. It just makes sense to consume IaaS like an energy utility (cheap and by the hour), and SaaS like a cellular plan (high value and on subscription). Sure, you could live off the proverbial grid (metaphorically generating your own electricity and using HAM radio to communicate with others), but the world has pretty much moved on – as will IT in the long run.
What you end up doing largely depends on how far along into your cloud journey your organization already is. If you are just now looking to take that first step, and the arguments for private cloud include things like control and security, I urge you to think about how much better your organization can do than established multi-billion dollar practices like Amazon Web Services, Microsoft and Google, or mature, focused solutions such as Salesforce.com and Nimbix. Don’t let ego and the NIH (“not invented here”) mentality make the huge investment of your cloud migration even more nebulous (pun intended)!
 
##
 
About the Author
Leo Reiter is a cloud computing pioneer who has been designing, developing, and evangelizing large scale, on demand systems and technologies since the mid 1990’s.  He co-founded Virtual Bridges and helped introduce VDI and desktop cloud (DaaS) to the market.  Currently, Leo serves as Chief Technology Officer of Nimbix, Inc., a global provider of High Performance Computing applications and platforms on demand.  

Leo is on a long-term mission to help more people from all walks of life derive more value from advanced technology, particularly in the cloud.

In his spare time, Leo enjoys reading, cooking, and exercising.

Follow Leo Reiter’s CloudCow Column – Demystifying the Cloud

 
Twitter: @VirtualLeo
LinkedIn: https://www.linkedin.com/in/leoreiter