Ask the Experts: Enterprise & Cloud Computing Questions Answered, Part 1by Johan De Gelas on July 28, 2011 11:38 AM EST
Last year we ran a little series called Ask the Experts where you all wrote in your virtualization related questions and we got them answered by experts at Intel, VMWare as well as our own expert on all things Enterprise & Cloud Computing - Johan de Gelas.
Below you find the first 2 answers which answer some of the questions posed in our "Ask the experts: Enterprise & Cloud computing" blog post.
Q (" Tarrant64"): With the growing use of the cloud computing, what are ISPs doing to ensure adequate bandwidth for not only the provider but the customers?
A: As a company outsources more and more services to the cloud, it gets increasingly important to make sure that the internet connection is not the single point of failure. Quite a few Cloud vendors understand this and offer dedicated links to their data centers and provide appropriate SLAs for uptime or response time. Of course these SLA are pretty expensive. These kind of "network costs" are often "forgotten" when vendors praise the cost efficiency of "going cloud".
Or the short answer: Don't rely on a simple internet connection to an ISP if you are planning to outsource vital IT services.
Q (" Tarrant64"): How do the cloud servers give results so fast? I imagine there is literally Petabytes of data in Google servers and it would be way too expensive to run on SSDs. Is their some sort of hierarchy that masks latency? Even then wouldn't it still take long just to communicate to the server itself?
Currently we have been in contact with some of the engineers of Facebook as we are evaluating the servers that are part of Facebook's Opencompute Project. Facebook built their own software, servers and of course datacenters and is sharing these technologies. As Facebook is a lot more open about their underlying architecture, I will focus on Facebook.
The foundations of facebook are not different from what most sites use: PHP and MySQL. But that is not a very scalable combination. The first trick that the Facebook engineers used was to compile the PHP code into C++ code with the help of their own "HipHop" software. C++ code can be compiled in much better performing and smaller binaries. Facebook reported that this alone reduced CPU usage by 50%. These binaries which are compute intensive are now run on Dual Xeons "Westmere".
A look inside an empty datacenter room at Facebook.
The main speedup comes from an improved version of memcached. In the early days of Facebook, it was Mark Zuckerberg himself who improved this opensource software. He describes the improvements Facebook did to Memcached here. By caching the web objects, only 5% of the requests have to make use of the database. Memcached runs on many dual Opteron "Magny-Cours" servers as these servers are the cheapest way to house 384 GB (now even 512 GB in version 2) of RAM in one server.
The database (of the inbox for example) is not a plain MySQL either. It is based upon a distributed database management system, called Cassandra. Cassandra works decentralized and is able to scale horizontally, e.g. across cheap servers. This in great contrast with most relational databases which scale only vertically well unless you pay huge premiums for complex stuff like Oracle RAC.