Browsing "Technology"
Dec 3, 2011 - Business, IT, Startups    9 Comments

Amazon’s cloud computing platform as a disruptive technology

You may have heard about Amazon’s Elastic Cloud Computing platform. It’s a way to run virtual computers in the cloud and it’s changing the way a lot of IT business operate.

Err… Virtual machines? In a cloud? Get real!

Ok, they sound confusing for the non-technical folks. However, it’s actually straight forward. For the savvy who already know, feel free to skip to the next section.

Still with me? Ok, lets cover virtual machine first. Traditionally operating systems (OSs like Windows or Linux or Mac OS) run directly on top of hardware. And then several application run on top of the OS. You see this on the figure below.

Virtualization_Explained

Block diagram of Virtualization

Now a virtual machine is basically a small but powerful piece of software that runs on top of real hardware. It’s only job is to run other OSs on top of itself. The traditional OS that runs on the top? Those marked as OS 1, OS 2, OS N etc above? They thinks they are running on “real” hardware while they are in reality, running on the virtualization layer. This virtualization software layer, called a Hypervisor, then runs many OSs on itself and each such OS can run multiple applications.

So why bother with this complexity? As usual, it’s about the money. The real hardware machine costs money. If one OS is not busy, the other OS can consume the real hardware, effectively sharing the cost of the real hardware. It’s analogous to sharing the freeway system with other drivers/taxpayers or sharing the cellphone towers with other cellphone users.

Read more »

Dec 1, 2011 - IT, Technology    1 Comment

Virtual machine performance for software development

I needed a mobile development station in case I needed to jump into code along with my other engineers. My absolute first choice for development is a desktop with a large keyboard, bull sized mouse and a large screen – don’t get me wrong. But now I need mobility. My laptop is a 2008 Aluminum Core2Due MacBook and for the most times it’s quite quick. For development, I loaded Windows 7 professional on it via bootcamp but noticed really poor battery life (40% of Mac OS). Sadly, Apple doesn’t have decent Win7 drivers for that machine due to it’s age. Newer Macbook Pros/Airs don’t have this issue with Windows 7. But if I buy a new machine right now, I’ll need 8GB RAM to run both OSs in parallel. And I don’t want to spend $2700 on a Macbook Pros while constantly resenting it’s size. Not do I want to settle for a MacBook Air with just 4GB RAM (Apple’s top limit right now).

So I thought I’d try running Windows 7 inside a Mac OS virtual machine.Mac OS’s drivers are very well tuned, so battery life would be nice. Not as good as Mac OS X only, because the Windows XP virtual machine loads the processor (=> more electricity => lesser battery life). But as was later confirmed, the battery tradeoff was worth it.

So, what’s the problem?

When I tried that, I noticed a massive slow down in the virtualized Windows 7 running on the laptop. Take a look at the numbers below, the same operations take about 4.25 x longer !!

(Table of Benchmarks)

This was mind boggling since I knew even the humble Core2Duo had some hardware support for virtualization. I tried the same virtual machine on my desktop and there I was getting near native performance.

Read more »