要做成功的多云战略规划,企业需要对自己所有相互依赖关系有充分的认识,还需要新网络监控的辅助。
对于企业来说,从使用单一云厂商阶段,过渡到组合使用多家云厂商阶段,多云是进化的阶梯。这是以下几方面因素影响决定的:
◈ 对于一部分企业来说,不同的工作任务需要使用平台上不同的功能。
◈ 对于另一部分企业来说,使用多云是企业业务转型的必经之路,当然,也可能是业务合并的结果。
越来越多的企业,选择多云作为其主要的云优先战略。
◈ 在某些情况下,这么做是为了减少企业对单个云厂商的依赖,因为云厂商开始在产品中注入更多的粘性。
◈ 在另一些情况下,企业希望基于自身工作负载的特性及需求,进而优化成本。
上述这两个方面,大家都有激烈的争论,这与硬件平台上的争论类似。
不管企业出于什么原因,选择在多云环境下运行业务,都不能忽视多云带来的复杂性,如果企业对此不仔细管理,可能跟最初采用多云战略的目标:降低成本相违背,甚至还会降低工作负载的性能。
这就是为什么可视化如此重要。但是,就像采用多云一样,为了实现业务可视化,企业需要改变数据集,除了本地网络之外,还要测量广域网、互联网、云计算和 SaaS 厂商的健康状况和性能。
接下来,我们将分析多云部署的一些关键术语,解释为什么云端无法实现传统可视化,并探索多云环境下实现业务可视化的方法。
混合云与多云
混合云通常是指:现有数据和传统数据中心的组合,部分服务直接从云中消费。如今大多数应用程序都是混合的,无论是用于身份验证、付款还是物流,使用一个或多个基于 API 的外部服务。
◈ 如果托管在企业本地的应用程序调用公共云厂商接口进行身份验证,说明混合云运行成功,且高效。
◈ 如果企业的网站有 PayPal 或 Visa 这类的付款工具,那么他使用也是混合云架构。
随着应用程序被雾化成其组成服务,只通过调用结构化 API 进行通信,企业能够分别定位到每个组件,并且能够对其进行缩放。因此,尽管一些核心资产和功能可能仍在本地数据中心,但企业可以独立地扩展无状态组件,并让它们驻留在离用户更近的云中。
多云这个概念是指:企业内部部署的传统数据中心与两家(或多家)云厂商结合使用。多云包括多种类型的云服务模式,例如:IaaS、PaaS 和 SaaS。多云是一个复杂的环境,拥有多个云平台,每个平台都有自己的编排特性。
部署多云的目标是:让企业工作负载运行在最佳环境,而这取决于成本的控制和云平台的正确组合。从管理的角度来看,企业选择多云,也是在应对一个新的挑战:难以预测的复杂程度和变化速度。此外,企业的调用流程包含越来越多的排列组合,也提高了性能调优和故障排查的复杂度。
微服务 API
微服务架构已经流行了很多年,从根本上改变了新的应用程序的构建方式。
Uber 就是一个很好的案例:
Uber 主要运行在微服务生态系统上,依靠第三方 API 进行地图绘制、支付、发送通知和拨号服务。每个 API 都可能进一步依赖于其他后端 API。
因此,每当乘客在 Uber 上打车时,需要调用多个 API 流、云服务和网络路径,在它们的协同工作下,乘客才能够搭车回家。
这种复杂程度是企业过去从未经历过的。当一切都正常运行时,其复杂性并不明显,一旦出现故障,排除故障的过程会非常复杂。
云计算和互联网面临的挑战之一就是:缺乏可视性。
许多传统的网络监控工具都依赖于简单网络管理协议(SNMP),流量或数据包捕获等技术。这些技术的实现都需要对:服务器、交换机、防火墙和路由器构成的数据中心进行一定程度的特权访问。因此,传统的网络监控工具不适用于 IaaS 或 PaaS 服务。企业无法在云厂商内部窃听,或是从他们的数据中心传输流记录。因此,对于企业客户而言,云计算的数据存储和处理类似于:
☟ 黑盒操作 ☟
传统的网络监控方式不适用于单个云或混合云,也不适用于多云平台。随着云平台数量的增加,路径组合的数量也在有序增加。每条路径存在着许多不确定性,使得企业的风险成倍增加,企业不能再继续把这些云平台当成黑盒了。
云的本质是什么?
部分云厂商提供网络可视化解决方案,将其企业域,从企业的网络到云内部的虚拟网络,连接进行可视化。但是,这并不能为企业提供完整的端到端图片,包括外部的相互依赖关系。
当然,这种解决方案只针对,使用该云厂商服务的客户,不提供其他云平台,也不提供传统数据中心的信息。
多云战略下,随着工作负载的迁移,企业的可视化解决方案,也需要根据资源所在的位置灵活调整。
云端不存在稳定的状态,所有的 IaaS 和 PaaS 厂商都使用了大量 DevOps 和自动化工具,所以变化会随时发生。
与此同时,多云部署通常使用容器化和自动化工具,如 Kubernetes,为工作负载找到最佳运行环境。
在这个瞬息万变的世界中,企业需要持续的可视性,以反映应用程序交付路径中的变化,得到一个完整的、最新的视图。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。