Testing the Cloud
Cloud computing has now passed the stage of hype to reality. More and more enterprises are realizing the benefits of remote hosting of IT services rather than local IT management, especially because 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. It therefore makes sense that these competencies are centralized in larger data centers providing cloud services to a number of smaller enterprises for which IT is not a core competency.
Larger data centers also mean 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." However, will test and management of cloud services differ from how they are performed today? 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 if it is local despite the fact that it is hosted remotely.
This leads to the second challenge of 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. Efficiency in all its aspects from cost, space and power efficiency to 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
From a testing perspective, there are a number of layers one can address:
- The Wide Area Network (WAN) providing data communication services between the enterprise customer and the cloud service, which is fundamental to service assurance and 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.
The first test that can be performed is testing end-to-end availability. At a basic level, this involves testing connectivity, but can also involve some specific testing relevant for cloud services, such as latency measurement. Several commercial systems exist for testing latency in a WAN environment. These are most often used by financial institutions to determine the time it takes to execute financial transactions with remote stock exchanges, but 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. Such an appliance could also be used for troubleshooting and SLA monitoring.
Typically the cloud service provider does not own the WAN data communication infrastructure. However, using network monitoring and analysis appliances at both the data center and the enterprise, it is possible to measure the performance of the WAN in providing the data communication service required. 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. However, for cloud service providers, downtime is a disaster. If customers are not confident in the cloud service provider's ability to assure service availability, they will be quick to find alternatives or even revert to a local installation.
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
One of the technology innovations of particular use to cloud service providers is virtualization. The ability to consolidate multiple cloud services onto as few physical servers as possible provides tremendous efficiency benefits by lower cost, space and power consumption. In addition, the ability to move virtual machines supporting cloud services from one physical server to another allows efficient use of resources in matching time-of-day demand, as well as allowing fast reaction 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, in turn requires that the data communication infrastructure is dimensioned to provide this data, which 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 can keep up also in the future.
Within the virtualized servers themselves, there are also emerging solutions to assist in 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 that can be used for load-testing in a cloud environment. This is extremely useful for testing whether 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, the network monitoring and analysis infrastructure is still dominated by single server implementations. In many cases, this is because the network monitoring and analysis appliance requires all the processing power it can get. However, there are opportunities to consolidate appliances, especially as servers and server CPUs increase performance on a yearly basis.
Solutions are now available to allow multiple network monitoring and analysis applications to be hosted on the same physical server. If all 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.
However, for situations where the applications are based on different operating systems, virtualization can be used to consolidate them onto a single physical server. Demonstrations have shown that up to 32 applications can thus be consolidated using virtualization.
By pursuing opportunities for consolidation of network monitoring and analysis appliances, cloud service providers can further improve service efficiency.
From Passive Hosting to Active Provision of Services
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 using efficient infrastructure and active network monitoring and analysis will ensure that enterprise customers will never look back once they have moved to the cloud.
Cloud Security Challenges
Integration: The Missing Link in the Cloud
Preventing Cloud Vendor Lock-in
Key Cloud Strategies: First Steps
Troubleshooting 10 Gbps Networks
Consolidating Network Appliances with Virtualization