多云架构的3个常见性能挑战和解决方案
即将开播:5月14日,Jenkins在K8S下的三种部署流程和实战演示
多云架构可带来许多好处,但它们也会带来一些特殊的性能挑战,特别是如何设计和管理,很多部署多云的团队可能并没有注意多云架构中的性能瓶颈。
以下介绍多云架构的三种最常见的性能难题,以及克服这些难题的技巧。
多云架构性能概述
到目前为止,许多IT专业人员都熟悉多云策略的优势。通过允许企业一次在一个以上的云平台上运行工作负载,多云为提高成本效率和可靠性提供了机会。
此外,多云策略在某些情况下还可以帮助提高整体工作负载性能。很多企业可能会选择使用一个云计算供应商提供的一项服务,并使用另一云计算供应商提供的另一项服务来部署应用程序,因为与采用单个云计算供应商的服务相比,这种方法虽然成本更高,但可以获得更高的性能。
多云架构中的性能挑战
然而,尽管多云架构提供了一些潜在的性能优势,但它们也可能导致性能缺陷。企业混合使用的云平台越多,就越容易以产生性能瓶颈的方式将它们连接在一起,从而减慢了将它们托管在同一云平台中时运行工作负载的速度。
只有通过适当的计划,才能避免这些多云体系结构性能问题。
(1) 云平台之间的网络连接
首先,需要考虑跨云平台的网络连接。 当企业有两个应用程序或服务在同一个云平台中交换数据时,其数据通常不需要通过全球互联网传输;与其相反,它位于云计算提供商的基础设施之内。网络带宽和延迟率可能会有所不同,具体取决于数据是在不同的数据中心还是云计算区域之间传输。但是,在大多数情况下,通过同一云平台中的网络传输的数据的移动速度都比必须通过全球互联网从一个云平台传输到另一个云平台的数据移动的速度快得多。 这意味着云平台之间的网络连接可能成为多云体系结构的严重性能瓶颈。
鉴于网络基本上是将一个云计算服务连接到另一个云计算服务的唯一方法,因此无法完全避免网络性能瓶颈。但是,IT团队可以部署一些策略来缓解此问题:
- 避免将大量数据存储在一个云平台中但需要在另一个云中进行处理的多云体系结构。例如,企业可能会想使用一个云计算提供商的存储服务,因为其成本更低,同时将数据从该服务提供给另一云平台中托管的应用程序。这可能会节省一些成本,但可能不值得付出性能成本。
- 如果可能,在将数据从一个云平台迁移到另一个云平台之前对其进行压缩。压缩数据可能会增加企业的云计算费用,但会提高性能。
- 如果工作负载跨两个或多个云平台进行镜像以提高可靠性,需要设计工作负载,以使每个云计算实例的工作负载实例都可以运行,即使其数据未与另一个实例的数据版本同步。这种方法可确保数据传输不会影响工作负载性能。
(2) 监视多个云平台
多云架构的另一个常见性能挑战是监视多个云平台的难度增加。当监视云平台变得越来越困难时,识别云平台中的性能或可用性问题也就变得更加困难。
避免这种陷阱的最佳方法是采用云计算监视工具。如今,几乎所有的APM解决方案都支持所有主要的云平台,因此找到符合要求的工具非常容易。
但是需要记住,针对多个云平台的最佳性能监视不仅包括监视所有云平台,还包括配置工具以了解多云工作负载的细微差别。换句话说,企业的工具必须认识到运行在不同云平台中的两个服务已连接并相互依赖,以便能够有效地向工作人员发出潜在问题的警报。
(3) 扩展限制
通常,云计算的主要优势之一是能够在需求变化时迅速增加或减少工作负载的资源分配。
在单个云平台中,使用云计算供应商的原生自动扩展工具配置工作负载的自动扩展非常容易。但是,当用户的工作负载跨越多个云平台时,自动扩展就会变得棘手。企业无法使用Azure的自动扩展框架来扩展多云工作负载中基于AWS的组件,反之亦然。
当然,用户可以在每个云平台上分别配置自动扩展。这种方法将足够有效,并且它所需要的人工工作可能不会使IT团队不堪重负(因为自动扩展配置通常是一劳永逸的事情)。
但是,在多云工作负载的自动扩展很复杂的情况下,IT团队可能会考虑采用通用控制平台来设置和管理其云计算环境。通用控制平台将自动在云平台之间自动执行扩展和负载平衡,而无需在每个云平台中分别配置自动扩展。