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.
-
A
LiveDrive 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 from
LiveDrive to
EBS 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.)
Advantages:
Disadvantages:
-
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? ;-)
Pricing:
-
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.