Friday, July 9, 2010

Amazon Cloud

Amazon EC2 cloud computing has been very interesting and useful. I and others at Instant Technologies use these Amazon instances for testing and they have been very helpful to us in many ways. One pretty obvious advantage is that the server doesn't shut down every time a snow storm hits the area and knocks the power out. Another is that you don't have to maintain the server in a physical space, be it office or home and keep upgrading the machine or buy new machines each time our customers need testing on new software. For example, Microsoft now has a requirement for 64 bit machines for hosting their OCS software. If you are stuck with 32 bit machines in the office, then your machines quickly becomes obsolete. Another great feature is how I can stop and start these Amazon instances, and only pay (well...Instant Technologies pays), when there is a need to use them. I can take snapshots of drives and attach /detach them to any instance from any previous snapshot state using the very handy AWS Management Console, which once you get the hang of it can be very easy to use.

Also, please correct me, if I am wrong but there seems to be one very large disadvantage with Amazon. The problem is the tiny C drive you receive, when launching a large instance (64 bit machine). 10 gigs! Unless you are good at remapping things or moving space between drives and so on, which I am not, this is something that you have to live with. These large images are extremely expensive and are almost the cost of renting your own office, if you keep it running 24/7, so it really is a shame we only get this amount of hard drive space.

I am still learning and a lot of it, mostly learned through trial and error, unfortunately. There is one very important issue that came up, which may have been solved had I actually read the instructions. It's to make sure that before you bundle your images, to uncheck the "Use hexadecimal name for each instance after bundling". This setting is located in the Program files of the C drive. If you do not, your computer name will change after bundling and when you are ready to run the new instance, some references in your software will remain pointing to the original computer name. This can really mix-up some software configurations, namely the Microsoft Office Communications Server. Another thing, I've learned, is to take snapshots of drives. This became important due to having many important files that our Sql server had stored on two other drives. When you bundle an instance, it only copies the C drive, which means you must copy your D, E, etc. drives to a volume before bundling. There is probably a better way but I did this by just copying and pasting all files from each drive to a volume after attaching them and taking a snapshot of each. I then, have these drives as backup for the next instance I would like to launch.

Now, there are even more features, just introduced and a lot of things I've mentioned above may have changed or improved. There have been new tabs that include better handling of buckets and just a gamut of new stuff  in the AWS management console that I have not played with yet and have no idea about...time to play catch-up once again but hopefully after reading some instructions first.