Cloud computing is both a business delivery model and an infrastructure management methodology. For those looking to lower costs, perhaps by deferring capital expenditures or off loading non-core IT processes, cloud computing presents a way to do so while still providing services and deploying them quickly. Cloud computing will become even more widely used as technologies, such as virtualization, automation, and provisioning, mature.
Like many companies, every business probably has a test environment encompassing multiple, diverse information technology assets that require significant staff and budget to Configure and manage. This complexity poses challenges to the testing organization as they try to keep pace with the ever-shortening testing cycle. Testing an application before entrusting your business to it is essential. IT test environments are necessary, but often their resources are underutilized; industry estimates suggest by as much as 50 to 70%.
A test environment can be a drain on resources in a number of ways. An overbuilt test environment will be costly, and will sit idle most of the time. Other problems result when an enterprise under spends and therefore under builds the test environment. Examination of real-world scenarios reveal some common problems that occur when test environments are not planned and sized appropriately.
For example, 30% of all defects are caused by wrongly configured test environments. And, although test environments are sometimes viewed as being expensive and providing little real business value, 30 to 50% of all servers within a typical IT environment are dedicated to test. At the same time, most test servers run at less than 10% utilization, leaving expensive resources idle.
On the other hand, many IT staffers report a top challenge is finding available resources on which to perform tests. Testing backlog is often very long and is reportedly the single biggest factor in the delay of new application deployments. What is needed is a way to provide your users with rapid access to dynamically scalable IT resources. Fortunately, cloud computing has the elements of on-demand self-service, rapid scalability up and down, network access, location-independent resource pooling, rapid elasticity, and pay per use.
Cloud computing can help you organize and streamline your test environment. The business model of cloud computing facilitates better use of existing resources, allowing you to do more with fewer resources. As a result, you can achieve a highly simplified and efficient test environment with fewer provisioning processes helping to reduce overall costs. You can lower your capital and operating expenses with fewer IT purchases and staff. This is possible through physical consolidation, virtualization, and better IT management.
How cloud computing helps test environment?
The characteristics of cloud computing are a natural fit for enhancing test environments. There is a choice f a public or private test environment. A public test cloud is owned and managed by a service provider, and access is by subscription. It offers a set of standardized business process, application, and infrastructure services on a flexible price-per-use basis.
Advantages of a public test cloud include standardization, capital preservation, flexibility, and a shorter time to deploy applications. A privately owned and managed test cloud is accessible only by your company and your partner network. A private test cloud provides more ability to customize, drives efficiency, and retains the ability to standardize and implement best practices.
Other advantages include availability, resiliency, security, and privacy. This guide discusses the private test cloud environment. Currently, before a new application is tested, developers often spend days, weeks, or even months to procure and configure appropriate hardware, networking, software, and storage. A test cloud can automate this process, thus speeding it up dramatically.
A typical test life cycle consists of the following steps:
1. Define services in the catalog
2. Services are released to end users
3. Resource request initiated by user
4. Provision test resources
5. Create application image
6. Change test resource
7. Promote to production
8. De-provision test resources
9. Re-provision test resources
A well-implemented test cloud can significantly reduce operational and capital costs and improve quality throughout the life cycle. By contrast, when done manually, these steps can take a significant amount of time. A cloud environment dramatically reduces this complexity by implementing automation, business workflows, and resource abstraction that allows a user to browse a catalog of IT services and submit the order.
After an administrator approves the order, the cloud does the rest. This process reduces the time required to make those resources available to the client from months to minutes. Major savings include efficient use of hardware resources, software license savings, provisioning cost savings, and productivity improvement. Additional savings may be gained from reducing the cost of managing inactive OS instances.
Areas of savings
The major areas where implementing a cloud solution can result in savings are as follows:
- Hardware: Virtualization by boosting hardware utilization through stacking multiple virtual servers in a physical server.
- Software: Clients are charged for operating systems and other software by the number of physical servers instead of the number of instances. Hence fewer physical servers require fewer licenses.
- System administration: Reduced system administration and operation costs in cloud Infrastructure with fewer physical servers.
- Provisioning process: Labor savings in service request management and fulfillment from automation and standardization.
- Improvements in tester productivity: Reduce idle and waiting time; increase flexibility in testing plan.
Cloud managed environment
The managed environment is managed by the service management infrastructure. The managed environment includes the physical hardware layer and the virtual layer. This provides a flexible, adaptive platform to improve resource utilization.
In a virtualized environment, computing environments can be dynamically created, expanded, reduced, or moved as demand varies. Virtualization is required for a dynamic cloud infrastructure because it provides important advantages in sharing, manageability, and isolation (that is, multiple users and applications can share physical resources without affecting one another).
Virtualization allows a set of underutilized physical servers to be consolidated into a smaller number of more fully utilized physical servers, contributing to significant cost savings. The virtual layer provides the abstraction of logical resources away from their underlying physical resources in order to improve agility and flexibility, reduce costs, and thus enhance business value. There are many forms of virtualization commonly in use in today's IT infrastructures.
A common interpretation of server virtualization is the mapping of a single physical resource to multiple logical representations or partitions. Logical partitions (LPARs) and virtual machines (VMs) are examples of this. Virtualization technology is not limited to servers; it can also be applied to storage, networking, and applications.