Do not do Private Cloud

As you know, I am not a fan of private cloud. To me private cloud is nothing but virtualization with some smoke and mirrors on top of it. It is the early 2000s technology and trying to build your own private cloud is both ill-advised and expensive. Not only that, building a private cloud may also be a career limiting move for CIOs as more and more CFOs and CEOs are becoming aware of advantages of public cloud and are demanding IT budget reductions. Below are some of the reasons why you should go 100% public cloud.

  •          Elasticity to match the seasonality of your business

–      Scale up and down as your business needs change for ex: based on seasonality, a special marketing campaign or Reddit talks about your app. Do not make capacity planning a huge deal – deal with it as part of your day to day operations.

  •         (Practically) Infinite capacity

–      It is unlikely that you would ever hit the limits of public cloud capacity; you can assume to have access to unlimited infrastructure resource – do not let IT capacity be a limiting factor for your business growth.

  •         Rate of innovation

–      For most part, AWS and IAAS can innovate faster than your team ever can. IAAS is their core business, not yours. You do not want to enter a horse race in building infrastructure; you will put your app developers and company at a huge disadvantage compared to your competition. Your innovation should be in your core business and applications and leverage the scale of larger IAAS vendors. This is one reason you should move off of colo data centers and move to IAAS as soon as possible.

  •         World class SREs

–      The best Site Reliability Engineers now work for Google and Amazon. These are the experts in building scalable, highly available infrastructure – your current budget may not even come close to being assemble an excellent team of SREs if you maintain your own infrastructure. It is a fool’s errand, do not pursue it.

  •         Falling prices

–      Granted, IAAS prices are still bit more expensive than what you pay to hardware upgrades on what you already own, but IAAS vendors are dropping prices faster than Wal-Mart is dropping prices on Candy. Signing up with either Google or AWS would ensure that you will get the best price possible. Google does have slight advantage here because you don’t have to pre-commit to a reserved Instance as in the case of AWS. Unless there is a strong reason to go AWS, I would recommend Google here. If you build your own private cloud, not only you are spending CAPEX, which is a sunk cost and also you risk your infrastructure being outdated when compared to your competition.

  •         Space reduction

–      Data Centers are not cheap and renting space there is both expensive and painful. By going public cloud, you reduce this pain, and you may never have to set your foot into an ugly data center again.

  •         OPEX instead of CAPEX

–      Lower CAPEX means more CFO love. Yes, you can’t take advantage of depreciation on capital equipment for tax write off, but reducing CAPEX requirements will bring your IT in-line with rest of the industry and you will look good in the eyes of your CFO and CEO.

  •         No need for Data Center engineers

–      If you own and run your own data centers, you have to hire data center engineers to manage physical stuff and power. This used to be cute in the mid-90s and it stopped being so lately. You also have to buy insurance on your data center and concerns because data centers tend to get hot and often not the safest places to work in with wires dangling around. Would it not be better to cut off this expense? Now, you can mitigate some by going with Co-lo, but why go half way when you can fully get rid of all risk by going public cloud.

  •         Faster provisioning of resources – time to market

–      Your app development team wants servers and storage as fast as possible and instead of hiring an army of IT provisioning engineers, you would be better off enabling self-service cloud resource provisioning for your app development team. They would think you are cool and you also reduce the load on your team, so they can focus on value added tasks. Yes, you can give them a lab manager, but you will be having a different mess on your hand. Just say no to managing more infrastructure software.

  •         Security & Compliance

–      The balance has shifted – it can be argued that public cloud is more secure and you can demonstrate infrastructure compliance easily on public cloud than your owned infrastructure. The public cloud vendors have the best staff, tools, processes and resources to ensure that the infrastructure you rely on is both secure and compliant with whatever standard you need to meet. For ex: PCI, FedRamp and other compliance mandates are already supported by AWS.

So, when it comes time to refresh your technology infrastructure, trash it, and leverage public cloud – you would thank me later.

Disagree? Comment below or tweet away.




13 thoughts on “Do not do Private Cloud

  1. To say that private clouds are not needed because there are public clouds is like saying that espresso machines are not needed because we have Starbucks.

    Usually I don’t mind if people are for 100% public cloud, but as the author in this case is such a pre-eminent authority as Cloud Borat, I will write down my response below. We wouldn’t want Kazachstan to miss out on private cloud!

    On the top level it is about controlling your destiny. If development and deployment of software is a strategic everyday activity, then in most cases private clouds make sense. There is a common perception that controlling your IT destiny is complicated and expensive. It certainly has been so. But today with highly evolved hardware and highly automated cloud platforms, operation of your own infrastructure is becoming easier and less expensive by the day. As design patterns flow from the world of public clouds to the world of private clouds, those private clouds become much easier to manage than traditional datacenters. A great example is the startup MemSQL which runs all their continuous integration (CI) on a private cloud, saving a quarter of a million dollars a year. Their cloud is maintained by a GUI developer in his spare time.

    To the degree you seek convenience, use the public cloud. To the degree you seek control, use a private cloud. If you seek flexibility, use both – run a hybrid deployment.

    I completely agree that elasticity and infinite capacity are reasons to use the public cloud. This is also why API-compatibility between public and private cloud is vital. It allows you to move workloads back and forth to optimize for whatever you are optimizing for. AppDynamics runs dev&test on Eucalyptus and production on AWS.

    As for rate of innovation, I agree that AWS is moving at an astonishing speed, adding new innovative services faster than the other public clouds. This is also why Eucalyptus is following so rapidly in those footsteps.

    I do not agree with the point of “world-class SREs”. To be clear, I do agree that Amazon and Google may have some of the best site reliability engineers in the world. But those companies also operate clouds where the number of servers is measured in millions – 3 or more orders of magnitude more than a private cloud, which runs on tens, hundreds or thousands of servers. Site reliability in a private cloud is a different job than site reliability in a public cloud. You get great uptime with a small team in a private cloud.

    Falling prices. Yes, prices are falling. But it doesn’t really matter whether “IAAS vendors are dropping prices faster than Wal-Mart is dropping prices on Candy”. What matters is whether they are dropping their prices in line with Moore’s law. They aren’t. In the long run, renting is always more expensive than owning.

    Space reduction. Sure, if you don’t like datacenters, then by all means run only on a public cloud. But if you have portions of your application workloads where you need control, you will also have people who love managing infrastructure and server rooms. The argument about “No need for Data Center engineers” falls under this same rationale.

    OPEX vs. CAPEX. Both have their advantages. OPEX means no upfront commitment. But CAPEX means a diminishing on-going expense. Smart companies operate across the full OPEX-CAPEX range. Just as an example, if you move a dollar from OPEX to CAPEX, your EBITDA improves. CFOs love hybrid deployments because it gives them OPEX/CAPEX control.

    Faster provisioning of resources – time to market. I’d actually say this is faster on a private cloud than on a public one.

    As for security and compliance, I think we need to separate the two. Security is its own issue, challenging whether you are on-prem or on a public cloud. Wherever your data resides and your computation happens, human beings will make mistakes that threaten IT security. Compliance is different. Compliance means rules and regulations set by a government or similar body. Many times such compliance conditions stipulate the physical location or jurisdiction of the servers. A private cloud may be the only possibility.

    That was a long list of arguments in Cloud Borat’s text in favor of going 100% public cloud. I hope I addressed them in sufficient detail above. Let’s end with the main reasons why companies and other organizations run deploy own private clouds:
    • they save money
    • they maintain control over the infrastructure and get superior performance
    • they maintain control over the location of data and computation

    In short, by using a private cloud they control their destiny.

    And if the private cloud is API-compatible with the public one, they have a hybrid set-up out of the box and at no extra cost.

    Agree / disagree? I look forward to your comments.

    Marten Mickos

    • I disagree to an extent.

      I see private clouds, and hybrids as you mention, as a transition point in the evolution of cloud. I hate them, but I also hate Starbucks – who has done more to bring Americans to drink something other than that vile, over-roasted, burn crap they call coffee (including SBUX swill) than anyone else. I see a role for SBUX (people running away from their crap and trying real coffee, in the process elevating the quality of coffee in this country).

      I also see a role for private clouds, for now, but the core definition of cloud computing going back to the beginning, and still there – not falling off as an evolution as some say – is to have a public, open network.

      Don’t stop at the HW issues for cloud, that is early adoption. Focus on the long-term solution that cloud computing delivers: replaceable, competitive services that deliver ever-so-customized-and-optimized performance. Private networks cannot accommodate a public network of services that are pervasive – that is, without vetting and certifying and ensuring security and a million other layers that EACH organization will have to repeat, over and over.

      What is the downfall of public cloud? Everything that is said above is actually much more advanced that he is giving credit. He is not one to cause extreme controversy – but I am glad to do that.

      If you are faced with the decision between moving your legacy solution to cloud computing and building a private cloud to do so – the lazy person would chose the private cloud. It is a simpler solution in the short term, but unfortunately makes it also way harder to embrace the value of cloud computing in the long term. The more we find ways to keep legacy as it is (due to fear, ignorance, doubt of our abilities- i heard them all) the further we are from using a cloud computing model for what is supposed to do: provide secure, customizable, infinite elastic computing power on demand, that we pay as we go. That is what the goal of all this – and those that are shying away from private cloud will tell you how it works oh-ever-so-well.

      Your last statement is semi-true “And if the private cloud is API-compatible with the public one, they have a hybrid set-up out of the box and at no extra cost”. Technically I could say you are right – but you are missing the fact that you still have to maintain the old, private cloud infrastructure as usual – and still refresh / update it every time the public one advances (which you wouldn’t have to if you were there). If you think that is too often now, try it in a few years when more public cloud is adopted).

      We are continuing ad-finite the issues we had moving from mainframe to client-server, client-server to internet, etc. We are so afraid of committing to something new and different that we continue the old investments forever – or close to, in the case of some mainframe applications – just so we won’t have to figure out how to do it better.

      I will close by saying this: the people I talked to that had either 1) built cloud from the beginning (newer entities) or moved to public cloud (the vast, vast minority of established organizations) cannot say enough good things about the benefits outlined above.

      The ones that moved to private clouds as transition points are still complaining about the same issues they were before – but spending more money to do so.

      Of course, I’ve been known to be wrong and would be the first to admit it. But, given the 20+ years I spent chasing and doing distributed computing, and evolving with it, I think i got this one.

      Feel free to disagree (or comment) in reply.

    • Marten – Moore’s law does not apply to physical data center cost, heating/cooling, and especially data center operator salaries. You have to factor all of that in when comparing public clouds vs private.

    • Marten,
      I disagree with several aspects of your post.
      Costs – Costs in public clouds are falling much faster than the costs of running on-premise. Note that cost is not just processor or server cost, you also have to consider the cost of running and operating the data centers, the personnel, power etc. So Moore’s law is not the right analogy to use. As you know, several of these costs, such as IT data center operator salaries, do not follow Moore’s law.
      Even before last week’s seminal price cuts by GCE and AWS, for most use cases running in public cloud was cheaper. Now it is even cheaper. And you know that GCE and AWS will continue to lower prices. They have the cheapest cost basis. They buy servers and storage a whole lot cheaper than a private enterprise can, due to their scale. Also they have figured out ways to run reliably and faster on lower end hardware due to their intelligent software. A private enterprise would have to buy much more expensive hardware to get to the same levels of durability, performance and reliability. So I think that it is naive to think that a private enterprise can save costs by going at it themselves.

      Control and security: Public clouds offer granular levels of control via their APIs. And I would contend that security of private clouds is better than what you would get in a typical enterprise data center. They invest massively in security (much more than normal enterprises) as it forms the basis of the trust they need to develop with the customers. Also they do not get into the guest OS. And using things such as HSM you can be even more secure. Even if the govt were to grab the customers data, they would not be able to decipher it.

      Espresso machines vs Starbucks: Again not the right analogy. I have an Espresso machine because I do not always want to go to Starbucks. However if I had a faucet that piped in Espresso from Starbucks (which is more analogous, as you can easily spin up AWS off a browser), then yes I would never go to Starbucks :-).

    • isn’t that the equivalent of throwing good money after bad money?

      trying to fix what does not work by investing in more of the same is almost like the definition of insanity – doing the same expecting different results.


      ban private clouds, invest in public and do it right from the beginning says me…

  2. Re: Seasonality and ,your app is on reddit’
    Thanks for the laugh.

    Promise: I’ll immediately send you a mail when I hear of anything other than mostly irrelevant web startups having that issue!

  3. Thanks for all comments. Here is my take:

    1. Already owned infrastructure – sunk cost – do not upgrade them, use them for those apps that are on older infrastructure and can not move to Cloud yet. In parallel, look for replacing these apps with modern apps.
    2. Do not be dragged into spending more on older infrastructure – your goal is not squeezing more lemonade out of those lemons – it is building infrastructure for future.
    3. Recognize that private cloud technologies are a compromise and are an attempt by vendors to pull you back into the past.
    4. If it helps you sell better to your stakeholders, absolutely use something like Eucalyptus to build and execute on a migration strategy, so all infrastructure would look somewhat uniform. Euca is a fine choice. Recognize that Euca is helping you with migration to full public cloud on your schedule, its not the end goal. I could be wrong, but they are probably the only ones who can offer you a successful co-existence and migration.
    5. No matter what, do not start an OpenStack project on your existing servers – I do not believe you are a reincarnation of Sisyphus, and neither should you believe it. A Openstack based public cloud is fine, go with any vendor that offers it to you in a full public cloud manner( without trying to sell you into a multi-year license ).

    This is where I stand.

  4. I understand Marten’s point and believe that cloud is an ongoing journey and even as AWS, Google etc drop prices and boost their offerings, we will still see multiple cloud models co-exist. An alternate example to explain private vs public cloud – ‘you can drive your own car vs take the train’ to work. Both have benefits and drawbacks. You can have control and flexibility over your car and schedule but you need to be the one driving it (unless you can afford a chauffeur), ensuring it is maintained, pay for expensive gas etc. When you’re in a train, you can work on your laptop, read the newspaper or just look out of the window if you have nothing to do and sometimes the journey can cost considerably less than driving; however you are entirely dependent on the reliability and schedule of the operator which at times can be frustrating – I have had good and bad experiences with Amtrak. Expand this analogy globally, transportation preferences change geographically. Cloud is somewhat similar – at least right now, there isn’t one way. Analyze your business and applications & then decide where and how you want to run your cloud.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s