Green Computing, Data Centre Efficiency, Virtualization And The Cloud
There's been a lot of talk of late about green computing, how data centres are becoming more efficient, virtualization and particularly the idea that cloud computing is some sort of panacea. Yes, that maybe so. But you rarely hear anyone mention inefficient software being taken to task: it's the elephant in the room.
Data Centre Efficiency
Data centres want you to use more resource. While they may find more efficient ways to power and cool their servers — by putting them in Iceland for example — they'd still like you to use more. If they take their electricity from a renewable source or carbon-offset so much the better. And there are many companies conscious of this.
Virtualization
Virtualization is fantastic. Its whole raison d'ĂȘtre is to help you consolidate your hardware. Rather than having a dozen idle servers you have one sweating blood. The very definition of efficiency.
Data centres love virtualization because they can increase the utilization of expensive hardware. We love it because they can host our websites cheaply. But don't confuse that with your hosting company wanting you to use less resource: they're just getting more bang for their buck in an albeit environmentally sound manner.
The Cloud
Cloud computing services, like Amazon EC2, allows us to share resources even more effectively. It works much like a gym. We can share a finite amount of resource amongst more people than we otherwise could.
Assuming we don't all show up at the same time that is. Again utilization is the key: the amount of idle resource — or waste — is, in principle at least, reduced on the cloud. And you only pay for what you use. Everybody wins.
More Efficient Software = Green Computing
And to the elephant in the room: software. This is after all what all this hardware is for. Someone recently suggested if Facebook were to use C++ instead of PHP they could power down 75% of their 30,000 servers. While I don't believe the numbers there is a kernel of truth to the article.
Take this for example. This website — running Drupal out-of-the-box — could deliver around 45 pages a second. For a small or even some medium sized sites that's ample. Assuming, of course, the load is evenly spread throughout the day. With a few hours work I managed to get that up to 2516 pages a second on the same piece of hardware.
It's obvious that I could make do with significantly less computing power. It makes me wonder how many other websites are sub-optimally configured and run on needlessly over specified hardware?
The point is that there's more performance gains to be had from optimizing software than is readily acknowledged. No one is suggesting coding your website in pure C++, that would be horrific. But there are certainly some cheap wins to be had by spending a day or two analysing exactly where the bottlenecks lie. More excitingly still: there's money to be saved.
Post new comment