Hybrid and multi-cloud are the new reality of enterprise application deployments. This means IT operations teams accustomed to on-premises applications must adapt to manage apps that run on one or more public cloud platforms, and often have links back to local software.
Traditional enterprise IT management tools are not designed for this hybrid model; instead, admins require new tools and approaches for cloud application monitoring.
The lure of hybrid and multi-cloud
Hybrid and multi-cloud computing are two different, but related, IT infrastructure concepts. Hybrid cloud typically refers to the use of an on-premises private cloud and a public cloud platform, with workload orchestration between the two. Multi-cloud computing generally refers to the use of multiple public cloud platforms. Often, a multi-cloud architecture will still include some connections back to an enterprise's existing on-premises environment.
Enterprises are drawn to hybrid and multi-cloud computing because each cloud platform offers its own unique value and addresses specific business requirements. But the distinctiveness of each platform also means that, in many cases, the platforms are not fungible; users cannot merely replace one with another.
On-premises applications remain mostly unchanged in these hybrid and multi-cloud architectures -- and will likely stay that way for the foreseeable future -- while enterprises build out new software features and capabilities on public cloud platforms to ensure agility and accessibility. The required integration between legacy on-premises applications and new cloud-based applications ultimately determines the most optimal management toolsets for cloud application monitoring.
The challenge of different tools and deployments
On-premises IT teams have control over almost every layer of their infrastructure and applications. The multi-tenant nature of public cloud platforms, however, limits the IT team's visibility into and control over infrastructure resources.
Some on-premises IT management platforms observe the physical network and analyze network traffic to identify configuration or performance issues. Other on-premises tools communicate directly with server hardware via an Intelligent Platform Management Interface or with the hypervisor. Public cloud platforms do not usually allow access to any of these layers. Instead, they provide cloud monitoring platforms, such as AWS CloudWatch or Azure Monitor, to help IT teams track application and infrastructure performance. The integration of on-premises and public cloud monitoring tools into a cohesive view of how applications operate in a hybrid or multi-cloud model is, however, a fundamental challenge.
Most on-premises operations teams are responsible for virtualization platforms and virtual machines -- and possibly for some core applications, such as SQL Server. Deployment typically occurs through VM templates and VM-centered tools, such as vRealize Automation or System Center Virtual Machine Manage. Applications on the public cloud are more likely to consume higher-level services, such as message queues or object storage, as part of their functionality. Admins typically deploy these services using infrastructure as code (IaC) tools, such as AWS CloudFormation or Azure Resource Manager templates, which, for many operations teams, are new tools to learn and integrate within their cloud application monitoring processes. While IaC tools like Terraform can work across multiple cloud platforms, admins must explicitly write configurations to each public cloud or on-premises environment to enable that capability. The benefit of Terraform for multi- and hybrid cloud deployments is that it offers a single language to work across multiple platforms -- rather than present one configuration file that is portable between clouds.
Centralization vs. decentralization for cloud application monitoring
One approach to manage the complexity of these hybrid environments is to centralize data from various cloud platforms into a single tool that presents a single view. Centralization suits applications that must span a hybrid architecture end to end -- meaning their behavior and performance depends on both on-premises and public cloud resources. For example, the public cloud might host a mobile application for e-commerce and real-time manufacturing monitoring, while a back-end system helps control the actual manufacturing process that lives on premises. The mobile application is tightly coupled with the on-premises system, so integrated monitoring is essential. Centralization, however, is a difficult approach, as it requires the integration of on-premises and cloud-native monitoring processes into a single and cohesive application dashboard.
The opposite approach, decentralization, centers around the use of native management tools in each environment -- the cloud and on premises -- without centralized coordination. If there is relatively little linkage between the on-premises application and the public cloud application, then the maintenance of separate monitoring and management systems is much simpler than centralization. For example, a public cloud component might be a simple storefront and ordering application, for which the only connection back to the on-premises manufacturing system is a daily export of new orders. For such a simple setup, there is no significant need to integrate monitoring systems for these two application components.