One of the big buzzwords in technology these days is the idea of “the Cloud”. While this is not really a new idea, some services that are associated with cloud computing have recently become more viable. At CRT we recently had a chance to use a cloud service for our RETS compliance tester, specifically the virtual server service, the Amazon Elastic Compute Cloud (E2) from Amazon Web Services. Our experience was captured in more technical detail in a white paper, but for those that don’t want to get mired into the technical details I will give a high level overview and discuss when using E2 might be advantageous, as well as the potential drawbacks of using E2 and other similar cloud services.
First off, what is E2. The short answer is that it is a virtual private server service, where customers can rent the use of a virtual machine to run online applications on. These virtual server instances can run any software that you want, and you are given full access to them, configuring and running them very much as if they were physical machines in a data center. As an Operating System, E2 supports Linux, Solaris and Windows 2003.
Since E2 makes heavy use of virtualization, it allows you to easily scale up and down as demand requires. E2 lets you save your configured instances so you can create other instances with the same configuration, in addition to offering a large collection of preconfigured instances designed to give you a start for different types of servers (web server, database, etc.). A host of other services also support E2 to allow users to create robust and scalable applications, including Elastic Block Storage, Elastic IP addresses, Automated Scaling, Elastic Load Balancing and monitoring.
So what does all this cost? That depends, as E2 is mainly based on an hourly cost for each instance running. The hourly cost depends on the type of instance, the more power you want, (CPU power and/or memory) the greater the hourly cost. There are additional costs for the other supporting services as well as for bandwidth used beyond a certain base amount. All this means that it’s not necessarily cheap. Amazon’s page for E2 has the service and pricing details.
What are the disadvantages of E2? The biggest one is that you need to trust that Amazon will be able to keep the service up and running without an extended outage or a failure that destroys your data. In light of this, you would likely want to have backups held elsewhere. Also, there is a learning curve to getting the most out of E2, and you will still need someone to maintain your servers, so E2 does not obviate the need for a competent System Administrator.
So the question then becomes, when would using E2 be advantageous? E2 is flexible in a way that would benefit people who have an unpredictable demand on their online services, demand that requires them to have hardware to make sure the service is responsive, but that is not always being fully utilized. With automatic scaling and the preconfigured instances, E2 can allow you to scale up and down with demand needs, so you are only paying for the resources you need and are using. Also, the preconfigured instances can make service maintenance and set up faster and less prone to error. But if you have modest server requirements and little fluctuation in demand or light demand, E2 is likely to be more complex and expensive then a well-maintained physical box.
But if you are someone who finds they need a flexible server environment, or who just wants to make your server setup and maintenance easier, E2 might be a valuable solution for you