Work Completed By: Tim West
One of the most commonly publicised benefits of cloud computing is the time that can be saved in provisioning a new logical hosting platform or fully functioning application, from procurement of hardware through to availability of the application.
Organisations that do not have any existing hardware or at full capacity this can be a real benefit, especially when they do not know for certain how the service they are launching will be adopted. This can lead to over or under provisioned computing environment, the consequence being wasted capital or lost customers as service quality drops, or even stops.
For organisations that do have a hardware provisioning capability there is a requirement to understand where cloud computing can complement their existing ICT service. To do so, the ‘cloud’ needs to be investigated to better understand where it might be incorporated.
This project aims to investigate the provisioning of cloud based services to substantiate some of the claims being made by cloud service providers.
To achieve this, the project will provision multiple services within the cloud, using multiple providers, to ascertain what timescales are involved. Research will also be conducted to investigate if organisations that have made the move to cloud based services (for one or all of their services) have realised the expected benefits around provisioning.
The project will also compare the current WCC timescales for provisioning physical and logical infrastructure to the point where an application or service can be hosted.
DETAILS/LOCATION OF PRACTICAL DEMONSTRABLE OUTPUT
An example wordpress blog hosted at wordpress.com:
An example wordpress blog installed into the Aptana Cloud:
An example wordpress blog installed into the Amazon EC2 Cloud:
DESCRIPTION OF THE WORK CARRIED OUT
There are many different levels of cloud computing solutions available in the market today. They can be broken down in the following categories:
- Application clouds - This is where an application is provided and maintained by a third party.
- Platform clouds - This is where the platform required to run an application is provided, and you supply the application to run on top, e.g. The platform will include an Operating System, web servers and database, etc.
- Server clouds - The cloud provides the environment to run your application, but you provide everything else, e.g. the cloud provides the hardware or virtual machine, and you provide the Operating system, web server, database and application.
In order to evaluate the different cloud solutions we took an example application, in this case the WordPress blogging software, and installed into an example of these three clouds.
To evaluate Application Clouds we used the service provided by WordPress to provide the WordPress blog, available via the link above. This was by far the easiest to set up and we could entry blog entries within a couple of minutes. This is a free service.
To evaluate Platform Clouds, we used the service provided by aptanacloud.com. They provide an environment with an Operating system, web server database, into which you can install your application, in this case WordPress. This is a free service.
Once signed up to use the server the environment was up and runnning in minutes and then we installed and configured WordPress. There is a cost for the use of this service.
There are implementations of Server clouds: Public Server Clouds and Private Server Clouds. Public Server Clouds are hosted on the Internet, Private Server Clouds are hosted internally. We currently have two implementations of Private Server Clouds, one based on VMware and one on XEN. This evaluation only covered Public Server Clouds.
To evaluate Server Clouds we chose to use the Amazon EC2 platform. Here Amazon provide a virtual machine into which you can install an OS from an defined list and then install the software you require to host your application. There is a cost for the use of this the service.
This option took the longest to set-up, as there is a steep learning curve to use this environment, but it may provide the most flexible solution of the three. Once a virtual machine was created and running we were able to install all the required software, e.g. web server, database and PHP, and then install and configure WordPress.
We were able in a short period of time to provision three installations of WordPress. Although this is a relatively basic web application it does provide an example to evaluate the three different Cloud environments.
Of the three Clouds evaluated, this Cloud was the easiest to set-up, but it's limited to those application providers who have invested in the infrastructure to provide the application as a service. Some of these services will be free such as with WordPress, others will be chargeable.
Other comments on this solution are:
- You are limited to those applications provided within the cloud.
- You cannot write and use your own applications.
- You may be unable to move the application to another cloud provider.
Platform Clouds provide the basic infrastructure for an application, leaving you to concentrate on the application. This offers move flexibility over the Application Clouds.
Other comments on Platform Clouds are:
- You can use any available application, provided you can download it.
- You can write your own applications.
- Provided the application is written to use open standards, you can move your application to another Cloud provider.
Server Clouds provide either a physical server or a virtual server, onto which you can install an Operating System, and then your required application stack, followed by your application. This offers the most flexible approach as your have complete control over the entire environment.
Other comments on Server Clouds are:
- They take longer to set-up and configure.
- You can take your entire environment and move it from one cloud provider to another.
- You can move your application from a private cloud to a public cloud or the other way around.
- They can be used to provide processing capacity for short term projects.
SHORT TERM BENEFITS
There are few, if any, short term benefits to using any of the Clouds environments described here. To fully use them would require any existing applications to be re-written to work with the Cloud environment.
Most of them are only really useful to provide web based applications which require no access for internal systems for data, to the Internet public.
Of the three Clouds described here, the one which could be used is the Server Cloud. This environment could be used to provide server capacity either for quickly trying out applications and solutions, where we do not have the physical capacity in the time scales required, or where we need extra processing capacity for a short period.
The use of Private Server Clouds has already reduced the costs of providing servers, by reducing the need for one server one application set-ups. Their use will only increase.
OTHER NOTES ETC
There are other Cloud Computing solutions available, e.g. Google Apps and Microsoft Azure, which will require further investigation. These environments will require the applications to be written for these environments and there will be then an element of vendor lock in, which will then require the application to be re-written or modified to be moved to another Cloud provider.