Private or Public clouds? Or why not both?

General

Private or Public clouds? Or why not both?

(This post was sparked by an interesting email conversation with a user. I promised that I will post my views in a new blog article, so here it is)

Why doesn't Plunify yet provide a hybrid solution, a solution that works seamlessly on private and public clouds? For those who are finding out about us for the first time, Plunify helps FPGA designers use the cloud to achieve their design objectives in a much shorter time, such as achieving timing closure, exploring different constraints in parallel or simply regression testing. To do this, Plunify uses Amazon Web Services (public cloud)  and we are an AWS solutions provider.  Click here to if you're interested in  how we do it

Why public clouds for us
There are many definitions of cloud computing out there. The term, "cloud computing," itself is rather over-hyped and everyone wants a piece of it in his/her value proposition. The one definition that really bugs me is that cloud computing is just a massive shared drive. Although that is not totally wrong, it sounds like we've gone back to the days of mainframes and thin clients, and, in my opinion, misses the most important point of any application built with cloud computing technologies - scalability.

Scalability means that you can instantly start 1 server or 100 servers at the click of button or a script. It also means that you can store 5Mb or 50GB on the fly.

This brings me to the first difference between a private cloud and public cloud. With a private cloud, you are limited to the number of servers you own. And unless you are Intel or Cisco or the government of a country, you will have a scaling limitation. So for most of us, converting that to a private cloud, means that we are splitting up a limited pool of resources using virtualization, into even smaller pools of resources. That doesn't make sense to me at all because compiling a FPGA design is often a compute-intensive process. Part of the idea of cloud computing is to increase your available resources as well, not just keeping them at the same level.

Costs + Hidden Costs + Maintenance
You might say, "Hold on, why can't I just buy more servers for my private cloud?"
Sure, if you are Intel, Cisco or someone who can afford to buy in bulk and get a juicy discount.
On top of that, you have to take into account that 43% of the costs are hidden - those rear their ugly heads in configuration, maintenance, power, cooling, climate-control, backup and many other overheads.

Estimating your needs
If you still want to buy, how many more servers will you buy? Meeting your computing demand is not an exact science. Unless we measure every minute of our usage, we can only make an estimate. If you over-estimate, you will be wasting idling compute resources. If you underestimate, it will delay your development process at critical phases. It is practically impossible to be perfect.

Cloud computing solves this problem with scalability but it can be a double-edged sword. If you normally underestimate your demands, you may pay more overall because in reality, you actually need the additional resources on a regular basis.  But if you are blessed with a fat budget and can afford to overestimate your demand, you may find yourself paying less. No matter which side you are on, the important thing is that cloud computing is a fairer allocation and better use of your company's resources.

Why not a hybrid?
For the short term, it might seem attractive and prudent to convert your local pool of servers into a private cloud. You've already bought your servers, right? Why not utilize them to the max? Yes, you should, if you have a huge, established datacenter, equipped with Mission Impossible-style physical security and network equipment.

If you don't, here is why you should reconsider trying to implement a private or hybrid cloud.
It is hard to replicate fully what has already been done in the public cloud, in a private setting. There is  software like Eucalyptus, which does a good job of creating hybrid clouds. Even so, the effort to make sure that both private-facing and public-facing ends work seamlessly, coupled with our cloud application platform, is not going to be trivial. Eventually support and maintenance cost will also increase. Issues such as who is responsible for the server or network if there is an outage, replacement of hardware and reconfiguration becomes fuzzy as well. Support costs may eclipse any cost savings from running a hybrid cloud in the first place. A lot of time will be spent dealing with such issues, especially if the IT department is also you - the design engineer.

Best or worst of both worlds?
We aren't against the idea of hybrid clouds. If your local datacenter is not of sufficient size, making the effort to transit to a hybrid does not seem to be worth it, especially if you are doing it just for chip design. We don't want you to be in a situation where instead of enjoying the best of both worlds, you are suffering from the worst of both worlds.

To sum up, we're open to any solution as long as it makes sense for our customers. Making a good, elegant and affordable solution is not easy and will require rigorous testing and support effort. For now, we will concentrate on ensuring our solutions on the public cloud is secure, safe and easy to use.

Feel free to comment or lob any questions/disagreements to tellus@plunify.com

- Kirvy

1 Comments
  • Indeed, private cloud seems like a pseudoconcept to me. Security issue is more like phychological rather than technical problem to customers.

    January 18, 2012 at 12:02 pm

Leave a Reply