Managing cloud environments is just as involved as managing a large enterprise computing environment. If you add multiple cloud vendors, the task gets even more challenging. So, how should you proceed when managing multi-cloud environments?
A Forrester Consulting study, commissioned by Virtustream, found 47% of companies used an ad hoc approach for their multi-cloud deployment, while 52% created a holistic strategy before deploying. The study, titled "Multi-cloud Arises from Changing Cloud Priorities," included 727 respondents, of which 86% described their cloud strategy as multi-cloud. The ad hoc approach seemed to work for those firms that adopted it, allowing the companies to learn what worked and what didn't as their business became more agile.
Regardless of the approach, you must understand the requirements and objectives, as with any complex system design. A common requirement was to improve operational efficiencies, such as performance and availability.
Multi-cloud management was not mentioned in the study, but that doesn't mean the requirement does not exist. The study suggested the ad hoc approach worked best because it allowed companies to be more flexible as they learned their full requirements. Experience suggests either approach needs to include important functions like security and multi-cloud management.
Managing multi-cloud has several moving parts
Not surprisingly, no single network management tool does everything. Fortunately, the functional list for cloud monitoring is not much different than monitoring an enterprise network. The network management reference architecture at NetCraftsmen -- see below -- is a helpful basis for a requirements analysis.
NetCraftsmen's network management architecture diagram consists of the following components:
- event collection and processing;
- network change and configuration management (NCCM);
- performance data collection and analysis;
- IP address management;
- active path testing;
- application performance management; and
- topology mapping.
You should add network security, trouble ticket systems and network automation to the overall architecture, as well. The challenge is to assemble the required functionality across multiple cloud providers. Fortunately, it is getting easier to create an overall system by combining information from the APIs of cloud and tool vendors.
Getting to the specifics of managing multi-cloud networks
Let's assume you are either planning or have a multi-cloud environment. What management and monitoring functionality do you need? Start by reviewing the key features your multi-cloud management tools should have. Then, consider these three tips for managing multi-cloud environments:
1. Event correlation. Multi-cloud architectures require rethinking some of the architectural components. You should correlate events from different elements of the IT infrastructure. Your approach to NCCM and performance monitoring should follow the same guidelines, using common infrastructure designs, monitoring points and aggregating the data into one place.
Domain-name-system configuration can be a bit more complex. It needs to provide different views of the data, depending on whether it is being queried from within the IT infrastructure or by an external customer.
Global server load balancing -- combined with middleware appliances, such as load balancers, firewalls, WAN accelerators and software-defined WAN -- can create interesting service architectures, some of which may not be desirable. It is best to simplify the design of these systems as much as possible in order to make them easier to monitor and manage.
2. Understanding network paths. Experience suggests it is best to design a system in which the desired primary and backup paths are well-understood. Know where specific services are located and reduce the volume of transactions over high-latency paths.
You should use application mapping and active path testing to understand where parts of an application live and to identify long latency paths. Note that some services may be best served from specific locations, such as SQL Server out of an Azure cloud. Different availability zones may be useful for these services, provided the rest of the application is local to the same zone. Designing an active-active application architecture is particularly helpful for providing high availability.
Monitor applications and paths using active path testing tools -- think of them as performing application-level pings that measure application and path performance. You can use these tools to monitor applications across infrastructure that you do not control, and that's a big advantage.
Send the events from these monitoring systems into a common event management system so they can be correlated across multiple cloud instances. You can use the data with network and application automation to move workflows to those sites with spare capacity. But, be careful: Workflow automation can be tricky.
3. Exception reports. Design your multi-cloud management system to provide actionable information. Use exception reports like the top 20 interface errors or drops to focus your attention on problem spots. Top N and Bottom N reports should identify increasing capacity needs or help deprovision resources when demand reduces.
We're still in the early days of cloud management, and we'll continue to learn more. Your network management workload can be significantly reduced through combining the right tools with automation to manage by exception.
Network management tools continue to get smarter about cloud implementations. Ease of implementation can vary widely. So, do your homework and work from well-understood requirements when implementing your multi-cloud strategies.