Cloud Computing is reported as set to revolutionise the business environment, particularly, the way we use information technology products and services.
Could it be the next stage in outsourcing, which certainly gripped the Information technology arena in the last ten years and saw companies essentially outsourcing all their software development/IT support requirements to off shore and even on shore companies to allegedly reduce cost.
Whether these companies derived the so called cost benefits and still maintained quality is highly debatable.
Along comes Cloud Computing which essentially postulates that you can pay for IT services as a utility, on a pay as you use basis hosted in a cloud. Essentially another form of outsourcing where this time you pay a provider to either use their software applications via the Internet (Google APPS is an example) and is known as Software as a service (SaaS). Or to use their Platform as a service (PasS) to build and host your web based application (Google Engine is an example). Or to use their Infrastructure as a Service (IaaS) which essentially allows you to pay a provider to host an image of your application negating the need for you to own your own servers, (Amazon EC2 is an example of this kind of service).
Before signing up to any of the services, it is important that a company clearly understand the costs benefits, identify and implement an entry and exit strategy or plan capturing how to move to another vendor if it becomes necessary or to bring back the service in house.
Hosting sensitive data off site must also need to be considered very carefully and the need to ensure that no regulatory requirements are breached or the customer data act is adhered to in any such implementation. Non mission critical systems are probably the best ones to consider first to be implemented in the cloud.
Test and Development Environments
Of particular interest must be the IaaS, because companies spend a significant part of their yearly IT budget (sometimes as much 30 to 40%) on purchasing new hardware to host new applications, in response to new business requirements.
The cost of maintaining such hardware can also be quite expensive from software licensing to support costs etc.
Test and Development environments which are not necessarily mission critical, (since they are not live environments), can certainly be procured on a pay as you use basis with little or minimal risk, which could significantly reduce IT spending by as much as half or a quarter.
As proven with virtualisation, building test and development environments becomes an easily repeatable process and likened to a factory floor where environments are rolled out on demand.
The same principle will apply to having your development and test environments in the Cloud using the IaaS module and the benefits are as follows;
- Test and development environments tend to be required for fixed periods of time through the lifecycle of a Project and are left idle at other times. You only pay to use these environments when you need to, which can significantly reduce IT spending.
- The effort and time required to set up test and development environments is significantly reduced, as you only need to access your server via the cloud and create your own environments. There is no need to wait for three weeks for the server to be delivered, another two weeks to be set up in the data centre etc.
- The cost of support, from setting up the server in the data centre, configuring it, installing the operating system, installing other security and monitoring software, setting it up on your LAN etc
- The effort required to decommission and re-use these test environments is also minimal.
- Since live data (de – sensitised data can be used on the other hand) is normally not used for testing or development there are no regulatory requirements to adhere to.
- Most IaaS cloud computing vendors offer 99/100% up time, back up facilities, monitoring etc which ensures that once your environments are created, you only need to focus on carrying out your development and testing.
- A company can embark on several IT Projects at any one time, because there is no longer the constraint of available hardware (or rather the need to provision more hardware) to host test and development environments.
Efficiently provisioning, building, managing and scheduling your test/development environments certainly contributes significantly to the success or failure of IT Software Projects.
Paying for your infrastructure as a service at least, eliminates the effort and cost of provisioning, installing and supporting the hardware to host your test and development environments.
Author: V.C.Waturuocha MSC – Freelance IT Environments/Infrastructure Project Manager.