During this summer my development computer decided to develop hardware failures and sure signs of its age and demise. As a developer, my first thought was to buy a new state of the art computer... but after a second thought I've decided to make an experiment. Instead of buying a desktop computer that would tie me again to my home's working desk, I've decided to go for a more location independent style.
First alternative was something like AB did. This way, I'd need a powerful laptop, so I decided to try to "outsource" as much "work" as possible to the cloud and go with as light option as possible. So my setup ended with:
A new Lenovo S10-2, the cheapest netbook (at the moment of purchase) that met my connectivity requirements (having WiFi & bluetooth), which I connect to the old computer's monitor, when at home.
A few Amazon EC2 instances
for those more power hungry tasks, like programming, etc. or for experimental purposes.
account, for backup and keeping all my files in sync on all computers/instances.
Since Amazon is the only one providing Windows images at the moment, there was not much choice. While those images are probably intended for server use, I've decided to try it as a desktop use. So far, after aligning my initial assumptions with Amazon's reality, it appears to work.
Selecting a "cloud drive" was a much harder choice, as there are plenty of options. I've had very good experience with Dropbox for quite some time, and I can recommend it. However, I've decided to try an alternative as well and in the end decided for LiveDrive. After a couple of months of use, it looks like a good choice, although it still has issues here and there
Issues, I've had so far:
Amazon's Windows instances come with an almost full C: drive and an empty huge D: drive. Nice, until you find out that D: drive doesn't get bundled! So, anything you install on your images, should fit the remaining space on C: drive, while D: drive can only be used as a fancy big temporary drive. If C: disk gets full, you can go for EBS
, but that adds to your monthly bill.
Launching an instance takes about 20 minutes, so does the bundling at the end of use (when applicable). That means, using EC2 instance
is only meaningful, when you have a serious work to do for a few hours. Launching it for a quick change of a file or two is a waste of time.
I've decided not to use EBS
at first as it can be only connected to one EC2 instance
at a time and can not be used on my netbook. So, I've installed LiveDrive
on EC2 instances
. Using LiveDrive
instead of EBS
allows for simple changing of files, or minor fixing of source code on my netbook, when task at hand is too small to make sense to launch an EC2 instance
. However, after a month, I've switched some EC2 instances
for work, and only sync to LiveDrive
when I'm done, as LiveDrive
is way too slow for regular work of a developer. It's OK for work with applications that update a document here and there, but various programming tasks, like compiling, may touch hundreds of files, which is too slow on LiveDrive
, even if used with "keep local copies of all files".
Don't know if it is an Amazon issue, or Windows Remote Desktop issue, but when your EC2 instance
is downloading heavily, your connection may get lost.
I've had an (so far isolated) incident, where a file on EBS
drive suddenly contained a bunch of zeros instead of its regular content.
You are left with a feeling Amazon doesn't bundle it all or there are some issues with Windows instances, e.g.: whatever regional settings you set, you'll end up with default sooner or later; some programs will constantly bother for username/password or other info, like they can't save it, etc.
(These days Amazon announced new instances, which would reside on EBS volumes, instead on S3. If I understand Amazon announcement correctly, they are supposed to fix some of the issues above, but I haven't experimented with them yet.)
Connectivity problems may affect your work much more than they do with a regular desktop/laptop computer.
Plenty of small issues you may encounter; some things may work differently than expected or being used to.
Windows Server 2003 is not as fancy as Windows 7, if that matters :-)
Will EC2 instances
still perform as fast as they do, when everyone reading this blog post decides to do, what I did? ;-)
I don't keep my EC2 instances
running, only start them when needed, and when possible prepare in advance, so my Amazon bill for now is not big. With such a use, I'll probably spend less in next 3 years, as if I'd buy a power computer now (and putting all the stuff on it; if I'd use several physical computers/virtual machines, like I do EC2 instances
now, the costs for hardware and Windows licences would be way higher).
I must say that this is my home setup, used for my home projects and experimenting only. I found it useful during past months, mostly due to mobility reasons, and will likely keep it that way (with some modifications) unless I stumble upon some show stopper issue. However, I'd hardly recommend it for a day job setup, yet. There are many issues, although resolvable, that take your time, even for a skilled computer user. You also notice all downtimes and connection problems much more often than you do if you work on your desktop. For more professional use, a more powerfull laptop and virtual machines would be a better idea for now, I guess.