When it comes to selecting platforms to run in the cloud, Amazon Elastic Compute Cloud (EC2) is, of course, on the short list of providers for simple compute resources. EC2 allows a number of operating systems to be run within the Amazon infrastructure across a number of regions. The EC2 cluster is actually just a virtual machine, albeit with an incredible management and provisioning infrastructure on top of it, and is referred to as an Application Machine Image (AMI).
EC2 has a number of pre-built AMI’s for cloud consumers to be ready to go with a solution. This is quite the opportunity for some development environments, and now the ability to run this with Windows Server 2008 R2 and SQL Server 2008 R2 is made quite easy within Amazon EC2. The ami-a76aa9ce instance which is created by Amazon and publically available within EC2 is a ready-to-use AMI with Windows and SQL Server. It’s perfect for development efforts to test software in isolated environments.
The first step is to select the AMI; the wizard to create a new AMI is very straightforward as you can see in the AWS Management Console in Figure A:
(Click to enlarge screenshots)
When an AMI is provisioned, a few additional questions are asked. This can include assigning custom attributes for the AMI, designating key pairs (which will decrypt the password), and determining how many CPU cores and RAM are to be assigned to the AMI. The resource provisioning is shown in Figure B:
With those questions answered, the AMI will be created in the AWS management console. This process takes only a few minutes for it to be “spun up” and ready to be used in the cloud. This is shown in Figure C:
After the VM is ready, the instance can have the administrator password decrypted with a predefined private key. This can be an existing key that is defined in the AWS profile (and please manage this key carefully!) or created per AMI. Once the password is defined, the Windows Server with SQL is ready to go! Figure D shows this step and the connection to the Windows Server in the cloud using this particular AMI:
The AWS Management Console also permits the AMI connection to be saved as a remote desktop connection file directly from the interface. From the security perspective, love or hate AWS, the solution is to leverage security groups, which permit traffic patterns. This could be from the IP addresses assigned to your private company Internet or business partners, and additional configuration within the AMI (such as Windows firewall) may be an option as well.
Could it be any easier? I don’t think so. I think this is a good use for a development platform, especially for very large virtual machines that you may not want to run in your private cloud environment that you use daily. Do you see a need for this type of workload running in the cloud? Share your comments below.