Saturday, November 22, 2008

5 tips for startups for handling the power situation

Recently we have had a few power outages in our office at Pune. After about 3 days of facing the crisis, I had to find a solution for this problem. Following are 5 tips for startups for handling the power situation. These tips are specifically for early stage startups.

  1. USE LAPTOPS INSTEAD OF DESKTOPS – this is pretty much a no brainer. Laptops consume about 100 watts of power, while desktops consume 500 watts. Apart from the other obvious benefits I recently found out that – you can pretty much lie down on a bean-bag and still work on a laptop. This was after we bought a few bean bags in the office.

  2. USE VIRTUAL MACHINES – this is one of the coolest ideas. Instead of buying 4 low powered machines buy one powerful machine and make 4 virtual machines out of it. So, an example configuration would be 2 x Quad-Core Intel® Xeon® processor E5410 + 16GB RAM + 1TB HDD – split it 4-ways to make into 4 powerful 2-core servers. Pretty awesome, 4 physical machines would consume 2000W power, while the 2xXeon would consume about 500-600W.

  3. INSTALL A “TRUE ONLINE SINEUPS” – these are much more powerful than regular inverter/UPS. They are costly, yet worth every penny. This has much more battery power than a regular inverter/UPS, and can last much longer. They come in 6KVA, 8KVA and 10KVA, on the smaller side.

  4. SEPARATE OUT THE BACKUP FOR SERVERS, laptops and fans/lights - The problem with that is – it adds another point of failure because of more failing parts. You don’t want to hear UPS’ beeping all day in your office.

  5. MOVE TO A FULLY FURNISHED OFFICE that has generator backup – These cost upwards of Rs. 70 per sqft. Pretty high cost for a startup.

To summarize, tips 1, 2 and 3 are the really feasible options.

Got more ideas? Have questions? Send me a message on facebook or Twitter or send me an email at mukul dot kumar at pubmatic dot com .

Labels: , , , , , ,

Wednesday, November 19, 2008

The Real Cost of Amazon CloudFront

Amazon introduced web service for content delivery, called Amazon CloudFront yesterday. CloudFront is thought to be a bring a pricing war between the current CDN providers.

If you do a little bit calculations for the real cost of the CDN, it turns out that it is much higher than the advertised pricing, for smaller files.

Following is the effective cost per GB for USA locations for CloudBurst. For example - if your files are 5KB in size, you will actually pay $0.3797 per GB not $0.17 . If your file size is 10MB, then you will pay the advertised price of $0.17 per GB. So, essentially if you are distributing images or movies, CloudFront will be cost effective, however if you are distributing JavaScripts of small size, you may be paying a lot more.

File Size (KB) Effective Cost per GB
5KB $0.3797 (123% more)
10KB $0.2749
20KB $0.2224
50KB $0.1910
100KB $0.1805
500KB $0.1721
1MB $0.1710
5MB $0.1702
10MB $0.1701
100MB $0.1700
1GB $0.1700

Here is how I calculated this - for US locations, data transfer rate (for first 10 TB / month) is $0.17 and request rate is $0.01 per 10,000 requests.
Effective cost per GB = $0.17+(1024*1024/file_size * 0.01/10000);

Labels: , , , ,

Saturday, November 15, 2008

The world’s most super-designed data center

Royal Pingdom reported: The newly opened high-security data center run by one of Sweden’s largest ISPs, located in an old nuclear bunker deep below the bedrock of Stockholm city, sealed off from the world by entrance doors 40 cm thick (almost 16 inches).

Facts about the data center:
  • Originally a nuclear bunker
  • Located in central Stockholm below 30 meters (almost 100 ft) of bedrock
  • Can withstand a hydrogen bomb
  • Houses the Network Operations Center for one of Sweden’s largest ISPs
  • German submarine engines for backup power
  • 1.5 megawatt of cooling for the servers
  • Triple redundancy Internet backbone access
  • Work environment with simulated daylight and greenhouses
Following is one of the photographs, courtsey Royal Pingdom:

Read more here.


Monday, November 10, 2008

VMware Wants to Bring Virtualization to Smart Phones - BUT where are the use-cases reports that VMware is going to release a virtualization platform for mobile phones, but gives no real use-case for such a platform. Later in this article they talk about the use-case of creating different profiles in different VMs; isn't that possible today using different profiles on a Windows based operating system, why would anybody create a separate virtual machine to create a different profile? I could imagine (hypothetically speaking) running an iPhone inside a RIM phone, or running an S60 app inside an iPhone - but is that a real use case.

Here are parts of the article:

"VMware is looking to bring its virtualization technology to smart phones and cell phones in 2009 through a new virtualization platform called the VMware Mobile Virtualization Platform, or MVP. The platform will use a small-footprint hypervisor that will allow users to have multiple virtual machines on their smart phones in the same way a desktop or notebook can host different virtual environments. Mobile Virtualization Platform, or MVP, which consists of a small, bare-metal hypervisor— 20KB to 30KB —that will work with a number of mobile devices based on an ARM processor.

“This virtualization layer that we have is just like the one on the server and desktops, and it will allow customers to run multiple virtual environments on the phone,” said Krishnamurti. “We think there are some interesting use cases. One is that many people have one phone for work and another is a personal phone. With virtualization, you can have one device that runs both environments in two isolated virtual machines. The work profile and the personal profile are completely separated.”

Right now, the VMware MVP platform will support a number of mobile devices based on Linux, Windows CE and Symbian, which is now owned by Nokia. Later, Krishnamurti said, VMware will add support for Google’s Android operating system."

Labels: , , ,

Friday, November 07, 2008

Cloud Computing: How important is "data locality" from a costing perspective?

Nicholas Carr wrote an excellent article about cloud computing "The new economics of computing".

"In late 2007, the New York Times faced a challenge. It wanted to make available over the web its entire archive of articles, 11 million in all, dating back to 1851. It had already scanned all the articles, producing a huge, four-terabyte pile of images in TIFF format. But because TIFFs are poorly suited to online distribution, and because a single article often comprised many TIFFs, the Times needed to translate that four-terabyte pile of TIFFs into more web-friendly PDF files.

Working alone, he uploaded the four terabytes of TIFF data into Amazon's Simple Storage Service (S3) utility, and he hacked together some code for EC2 that would, as he later described in a blog post, "pull all the parts that make up an article out of S3, generate a PDF from them and store the PDF back in S3." He then rented 100 virtual computers through EC2 and ran the data through them. In less than 24 hours, he had his 11 million PDFs, all stored neatly in S3 and ready to be served up to visitors to the Times site.

The total cost for the computing job? Gottfrid told me that the entire EC2 bill came to $240. (That's 10 cents per computer-hour times 100 computers times 24 hours; there were no bandwidth charges since all the data transfers took place within Amazon's system - from S3 to EC2 and back.)"

One thing missed in the "NYT TIFF to PDF conversion computational task" is the mention of data transfer cost of uploading 4TB TIFF images into S3.

Doing some simple computations – Amazon would charge about $409.60 for uploading 4TB data into S3, and would charge an additional $261.12 for downloading the processed PDF files, which were 1.5TB in size. That is about $670.72. In addition there will be bandwidth charges of this 5.5TB data transfer from the NYT datacenter, 4TB out and 1.5TB in, I am sure that will be of the order of $400-$600. That could take the data transfer costs to $1000-$1200 range.

In addition to that – consider the amount of time it would take to transfer such a data. At 10Mbps, it would take 53.4 days to transfer this data.

Using Hadoop on EC2 is definitely a great idea, and is very helpful, however the locality of data also matters a lot. Moving data, in my opinion costs a lot, and sometimes undermines the computational costs ($240 here).

Let me know your thoughts.

Labels: , , , , , , ,

Sunday, November 02, 2008

Finding and fixing memory issues using Valgrind with example of Apache+FastCGI web application

My colleague, Anand Das, has written an excellent article on using Valgrind to debug live web applications. Read the full article here.

Labels: , ,