Testing Release Management in the Cloud

[article]
Summary:

For many organizations, cloud computing has transitioned from a hyped buzzword into a reality in regards to their business operations. Many more enterprises are realizing the benefits of remote hosting IT services rather than local IT management, especially as managing and operating IT networks and services is not getting any easier.

Managing IT networks requires a broad set of competencies in a growing number of technologies and products. Release management and deployment can present a number of challenges that can impact IT service availability. It makes sense, therefore, that these competencies are centralized in larger data centers that provide cloud services to a number of smaller enterprises for which IT is not a core competency.

Larger data centers also means larger installations with higher-speed interfaces, as well as an obligation to maintain service availability. This requires extensive test and management capabilities to ensure service up-time. Will test and management of cloud services differ from how they are performed today, though? What are the special challengers that cloud service providers face in this regard?

Challenges of Testing and Managing Cloud Services
The first and fundamental challenge of providing cloud services is service availability. If enterprise customers are to adopt cloud services, rather than maintaining local installations, they must be convinced that they can access the services and data that they need, whenever they need them, without experiencing undue delays. The cloud service must look and feel as though it is local despite the fact that it is hosted remotely.

This leads to the second challenge: service assurance. How can the cloud service provider assure timely delivery, and even service availability, when it does not control the data communication connection between the cloud service and the enterprise customer? Does the data communication provider have the monitoring infrastructure in place to assure service-level agreements (SLA)? Does the cloud service provider have the monitoring infrastructure in place to assure the services provided?

The final challenge is service efficiency in all its aspects; this involves cost, space, and power efficiency, through efficient and scalable delivery of services using virtualization, efficient servers, and high-speed interfaces. In this regard, the accompanying monitoring infrastructure must also follow the same principles.

Testing to Meet Cloud Service Challenges
There are a number of layers one can address from a testing perspective:

·       The wide-area network (WAN), providing data communication services between the enterprise customer and the cloud service is fundamental to service assurance and the testing of end-to-end service availability.

·       The data center infrastructure, comprising servers and data communication between servers (LAN), where service availability and uptime of this equipment is key, as well as efficient use of resources to ensure service efficiency.

·       The monitoring infrastructure in the data center that is the basis for service assurance, which itself needs to efficient.

·       The individual servers and monitoring appliances that are based on servers that must also follow efficiency and availability principles to assure overall service efficiency and service availability.

Testing release management in the cloud dbaugh11_1

Testing End-to-End
Testing end-to-end availability can be performed first. At a basic level, this involves testing connectivity, but it can also involve some specific testing relevant for cloud services, including latency measurement. Several commercial systems exist for testing latency in a WAN environment. While these are most often used by financial institutions to determine the time it takes to execute financial transactions with remote stock exchanges, these can also be used by cloud service providers to test the latency of the connection to enterprise customers. This solution requires the installation at the enterprise of a network appliance for monitoring latency, which could also be used to test connectivity or for troubleshooting and SLA monitoring.

Typically, the cloud service provider does not own the WAN data communication infrastructure. It is possible, though, to measure the performance of the WAN by providing the data communication service required using network monitoring and analysis appliances at both the data center and the enterprise. The choice of WAN data communication provider should also be driven by the ability of this provider to offer performance data in support of agreed SLAs. In other words, this provider should have the monitoring and analysis infrastructure in place to assure services.

From Reaction to Service Assurance
Network monitoring and analysis of the data center infrastructure is also crucial as cloud service providers need to rely less on troubleshooting and more on service assurance strategies. In typical IT network deployments, a reactive strategy is preferred whereby issues are dealt with in a troubleshooting manner as they arise. For enterprise LAN environments, this can be acceptable in many cases, as some downtime can be tolerated. Downtime is a disaster for cloud service providers, though. Customers will find alternatives or even revert to a local installation if they are not confident in the cloud service provider’s ability to assure service availability.

A service assurance strategy involves constant monitoring of the performance of the network and services so that issues can be identified before they arise. Network and application-performance-monitoring tools are available from a number of vendors for precisely this purpose.

The Power of Virtualization
Virtualization is an innovative technology of particular use to cloud service providers. The ability to consolidate multiple cloud services onto as few physical servers as possible provides tremendous efficiency benefits by lowering cost, space, and power consumption. Additionally, the ability to move the virtual machines supporting cloud services from one physical server to another allows for the efficient use of resources in matching time-of-day demand, as well as allowing fast reactions to detected performance issues.

One of the consequences of this consolidation is the need for higher-speed interfaces, as more data needs to be delivered to each server. This requires that the data communication infrastructure is dimensioned to provide this data; this, in turn, demands that the network-monitoring infrastructure can keep up with the data rates without losing data. This is far from a given, so cloud service providers need to pay particular attention to the throughput performance of network monitoring and analysis appliances to ensure that they also can keep up in the future.

Within the virtualized servers, there are also emerging solutions that can assist with monitoring performance. Just as network- and application-performance-monitoring appliances are available to monitor the physical infrastructure, there are now available virtualized versions of these applications for monitoring virtual applications and communication between virtual machines.

There are also virtual test applications that allow a number of virtual ports to be defined. These virtual ports can be used for load testing in a cloud environment. This is extremely useful for testing whether or not a large number of users can access a service without having to deploy a large test network. This is an ideal tool for cloud service providers.

Bringing Virtualization to Network Monitoring and Analysis
While virtualization has been used to improve service efficiency, single-server implementations still dominate the network monitoring and analysis infrastructure. In many cases, this is because the network monitoring and analysis appliance require all of the processing power that they can get. There are opportunities to consolidate appliances, however, especially as servers and server CPUs increase performance on a yearly basis.

Solutions are now available to allow for multiple network monitoring and analysis applications to be hosted on the same physical server. If all of the applications are based on the same operating system, intelligent network adapters have the ability to ensure that data is shared between these applications, which often need to analyze the same data at the same time but for different purposes.

For situations where the applications are based on different operating systems, though, virtualization can be used to consolidate them onto a single physical server. Demonstrations have shown that up to thirty-two applications can be consolidated by using virtualization.

Cloud service providers can further improve service efficiency by pursuing opportunities for consolidation of network monitoring and analysis appliances.

From Passive Hosting to Active Provision of Services
The testing of cloud services (or, more specifically, service assurance, availability, and efficiency) will separate the amateurs from the professionals in the cloud service arena. The days of passively hosting virtual machines on a best-effort basis are gone. Assuring the availability of services through the use of  efficient infrastructure and active network monitoring and analysis will ensure that enterprise customers will never look back once they have moved to the cloud.

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.