导读 无论企业由于什么原因而选择在多云环境下运行,它确实会带来一些复杂性,如果不仔细管理,可能会偏离其采用多云策略实现成本节约的目标,并降低其性能。

多云通常被认为是企业的一个进化步骤,是企业从单一云平台的起始阶段走向多云产品的“最佳”方法。而各种因素决定了这一点。对于某些企业来说,需要平台特定功能的工作负载的多样性。对于其他企业来说,这是一个演变的过程,也可能是并购的结果。

最近,人们看到企业选择多云作为主要的云优先策略。在某些情况下,其原因在于减少对单个供应商的依赖,因为云计算平台供应商开始在其产品中增加更多的粘性。在其他情况下,则根据工作负载特性来优化成本。在这两个方面都有激烈的争论,这与人们在硬件平台上看到的争论并没有什么不同。

无论企业由于什么原因而选择在多云环境下运行,它确实会带来一些复杂性,如果不仔细管理,可能会偏离其采用多云策略实现成本节约的目标,并降低其性能。

这就是为什么可视度如此重要的原因。但是,就像采用多云一样,为了获得业务可见性,需要改变数据集(除了本地网络之外,还要测量广域网、互联网、云计算和SaaS提供商的健康状况和性能)。以下将分析与多云部署相关的一些关键术语,解释为什么传统的可视性方法在云端方面的不足,并探索获取多云操作可见性所需的方法。

混合云与多云

混合云通常是指现有传统数据中心的组合,其中一些服务是从云中使用的。如今的大多数应用程序都是混合的,因为它们使用一个或多个基于API的外部服务,无论是用于身份验证、付款还是物流。如果企业的内部托管的应用程序调用Azure AD或Okta进行身份验证,则可以有效地运行混合云。如果企业网站有PayPal或Visa付款小工具,那么所使用的是混合云。

随着应用程序被雾化成其组成服务并仅通过结构化API调用进行通信,可以分别定位和缩放每个组件。这使得像AWS这样的基础设施和平台服务非常诱人。因此,虽然某些核心资产和功能可能仍然存在,但企业可以独立扩展无状态组件,并让它们驻留在距离用户更近的云中。

VMware公司是企业云中的行业主导者,并且通过与亚马逊公司合作提供可行的混合云服务。AWS上的VMware Cloud使企业可以轻松地将虚拟机工作负载和虚拟网络扩展到Amazon云平台,同时仍然通过vSphere管理所有内容。

另一方面,多云是指将企业的内部部署数据中心与两家或两家以上云计算供应商结合使用。

而多云包括任何类型的外部云提供,例如IaaS、PaaS或SaaS。这是一个更复杂的环境,具有多个基础平台,每个平板都有自己的编排习惯。这里的目标是让成本经济性和最佳组合决定工作负载的位置。从管理的角度来看,企业正在处理一个难以预测的程度和变化速度,这可能是一个挑战。此外,企业的呼叫流程现在包含更多的排列组合,这使得性能调整和故障排除特别复杂。

微服务API

微服务架构已经流行了很多年,它已经从根本上改变了新的应用程序的构建方式。Uber是主要运行在微服务生态系统上的一个很好的示例。Uber依靠第三方API进行映射、支付、通知和电话。这些API中的每一个都可能进一步依赖于其他后端API。因此,每当乘客乘坐Uber时,需要多个API流,云计算服务和网络路径才能正常工作,以便搭车回家。

这是IT组织以前从未处理过的复杂程度。当一切正常时,其复杂性并不明显,但故障时对于故障排除来说非常复杂。

一个很好的例子就是最近的AWS停机中断。从基础设施的角度来看,AWS云服务的电力中断很小,系统恢复的时间相当短。但是,在初始事件发生后的几个小时内,依靠AWS Direct Connect进行后端数据流的应用程序仍然失效。其中包括Atlassian,Slack和Twilio在内的许多应用程序和服务,其提供者未能考虑其多个云平台之间隐藏的依赖关系。

2017年3月2日的停电事件,影响亚马逊AWS-East Region(Ashburn)地区的一小部分服务,很快就成为AWS Direct Connect用户面临的主要问题。ThousandEyes透露,超过240项关键服务感受到了停电的影响。

一般来说,云计算和互联网面临的挑战之一是缺乏可见性。许多传统的网络监控工具都依赖于简单网络管理协议(SNMP)、流量或数据包捕获等技术。所有这些都需要对构成数据中心的服务器、交换机、防火墙和路由器进行某种级别的特权访问。这些都不能用于IaaS或PaaS服务。企业无法在Microsoft Azure内部窃听,或者从亚马逊的数据中心传输流记录。因此,企业已习惯于将云计算看作是一个黑盒子,隐藏在隐形外衣之下。

这种方法不适用于单个云平台或混合云,它当然不适用于多云基础设施。路径组合的数量随着云平台的数量而有序地增加。这些路径中的每一条都有许多不可预测的因素。因此企业的风险增加了数量级。那么就不能继续把这些云平台当成黑匣子,那么将有什么选择?

云计算没有遮掩

一些云服务商提供他们自己的网络可见性解决方案,例如,在Microsoft Azure中,企业可以通过ExpressRoute连接将其企业域从网络可视化到Azure内部的虚拟网络(VNet)。但是,这并不能为企业提供完整的端到端图片,其中包括外部相关性。当然,这种解决方案只针对Azure,并不提供有关其他云计算或传统数据中心的信息。采用多云策略,随着工作负载的移动,企业的可见性解决方案需要遵循资源,而不管其位于何处。

那么怎么能做到这一点?有一些主动监控技术使用特殊的仪器化应用程序调用来了解应用程序可用性和响应时间,以及用于交付这些应用程序的底层网络和云计算基础设施。这不需要来自云计算基础设施的任何特权信息,因此可以是云计算和供应商不可知的。在通常情况下,所有这些都是资源的目标URL。

而这是ThousandEyes公司采取的方法,运营一组全球范围的软件代理,执行互联网感知网络监控。ThousandEyes公司通过互联网从多个有利位置监控关键服务,并通过算法将数据关联起来以了解服务影响。因此,企业能够确定依赖于AWS Direct Connect的超过240项关键服务受到2017年3月2日停电的影响。

云端没有稳定状态。所有的IaaS和PaaS供应商都大量使用devops和自动化工具,所以变化迅速发生,无需事先通知。与此同时,多线程部署通常使用容器化和自动化服务,如Kubernetes将工作负载转移到最佳云平台。在这个瞬息万变的世界中,企业需要可持续的可见性来反映应用程序交付路径中的变化,以便为其提供完整的最新视图。

原文来自:http://cloud.51cto.com/art/201805/572083.htm

本文地址:https://www.linuxprobe.com/cloud-environment.html编辑:王华超,审核员:逄增宝