Pros and Cons of virtualized dev environment

0

Because I was sick and tired of installing the same dev tools for the different machines I used, I figured why not try to stick it all into an EC2 instance that I can remote desktop into from any computer with Internet.

Lo and behold, I'm able to do that and so far I'm pretty pleased with the results. As I venture further into this, are there any pitfalls I should be weary of?

user20285

Posted 2011-01-11T23:14:48.917

Reputation: 363

Answers

1

Pros:

You can access your dev environment from any place you can install the necessary remote desktop tools.

You've got good redundancy if you're backing up the image properly.

Cons:

You're locked in to the instance type. You'd have to rebuild the instance from scratch if you wanted to move to newer, more powerful instance types.

Your instance types aren't unlimited. So you have to be certain that AWS instance offerings will cover all your development needs.

You can't (easily) get your AWS instance out of AWS and run it elsewhere. So you're locked to AWS. (Yea, I know Eggplant is supposed to let you free your AWS instances but it lags state-of-the-art AWS tech and only sort of delivers on its promise)

You're beholden to having a working internet connection to develop.

You're always paying for your machine. If your instance is always on the costs of hosting in AWS can run past the costs of owning and maintaining the physical hardware.

You're always paying for storage. Assuming you're keeping things on an EBS volume that can add up over time.

Occasionally AWS instances die. Admittedly, so does physical hardware, but at least you can kick it when it's under your desk and dead. With an AWS instance you've lost your outlet for stress. :)

Summary:

Despite a cons list longer than a pros list I do it. It takes a bit of forethought to make sure your instances are safe in the event of a crash. But on the whole it's a nice way to roll.

Now if only I could get OS X instances in AWS...

Ian C.

Posted 2011-01-11T23:14:48.917

Reputation: 5 383

OS X on EC2 would be great for iPhone development. Way cheaper than buying a Mac. – user20285 – 2011-01-12T00:59:17.173

@user20285: I'm not sure about way cheaper. For a time it'd be cheaper. AWS costs never end. You never stop paying for the machine. So at ~$0.12/CPU hour and assuming a Mac suitable for iPhone dev costs ~$1000 you've got ~350 days of CPU use before the AWS costs start to rise above the costs of just owning the machine. Assuming you don't leave the instance on all the time it is less, but not substantially less IMO. It's just very, very convenient. – Ian C. – 2011-01-12T14:52:00.073

Good point. What would your thoughts be on some sort of dev lenvironment as a service? Pay $40/month for a cloud based dev environment with painless installation of any software you need. This whole endeavor was inspired by the hassle of installing mobile app sdks. Total PITA that I'd pay to eliminate. – user20285 – 2011-01-12T18:35:51.720