即使应用程序已经从传统的数据中心转移到云计算,但服务器负载均衡仍然是IT基础设施的核心元素。无论服务器是真实的还是虚拟的,永久的还是短暂的,能够在多个服务器之间智能地分配工作负载总是必要的。
但是,在多个云、多个数据中心和混合基础设施之间可靠地分布工作负载的能力仍然存在较大的不足,结果就是工作负载分布不佳和应用程序性能降级。如果能在全球范围内更好地管理工作负载,则可以避免这种性能下降。简而言之,需要更好的全局服务器负载均衡(GSLB)。
云计算和负载均衡
负载均衡器也被称为应用程序交付控制器(ADCs),被广泛部署在数据中心。它们的功能是将工作负载分配到后端服务器,从而确保最佳地使用聚合服务器容量和带来更好的应用程序性能。
包括Citrix、F5、Kemp Technologies和Radware在内的供应商占据了传统的负载均衡器市场。他们的硬件ADCs一直是基础设施和运营团队的首选解决方案。最近,随着企业将应用转移到云上,来自这些供应商的基于软件的ADCs以及诸如HAProxy、Nginx和Amazon ELB这样的软件解决方案出现了。
组织可以使用两种基本方法中的一种实现多数据中心、多云GSLB。第一个是使用传统的DNS托管方案来进行基本的流量管理。它的优点是易于实现,成本低且可靠,不需要资金投入。不幸的是,它只提供了最小的流量管理功能,如循环DNS和地理路由。这些方法不能阻止工作负载的分布,因为它们使用固定的静态规则,而不是根据每个数据中心的实时工作负载和容量进行路由。例如,地理路由只能确保用户(及其工作负载)被发送到地理位置最近的数据中心。它无法解释用户在地理位置上分布不均、本地需求激增或数据中心服务器宕机的情况。
许多ADC厂商提供他们自己专用的DNS设备,它们与负载均衡器更紧密地集成在一起,以解决这些限制。这是第二种基本方法。这些设备可以根据每个数据中心的实际使用级别来进行流量管理决策,通过接收来自本地负载平衡器的实时负载和容量信息。
这一优势被其权衡所掩盖,许多企业认为这是不愉快的:
- 这些是典型的高性能网络设备,具有很高的资本支出。由于它们必须被广泛部署、冗余配置和防御攻击,因此解决方案的总体结果是高capex(资本性支出)和高opex(运营成本)的。
- 在单个数据中心托管的DNS的性能不足以满足全球用户的需求,但是部署一个全球通用的DNS的成本和复杂性对于大多数企业来说都是望而却步的。
- 对DNS(DDoS)的攻击是普遍存在的,并且很难减轻。对于企业的互联网服务来说,这是一个失败之处。部署和维护DNS的需求带来了一个额外的操作和成本负担。
- DNS是一项关键任务服务,它对专业技能的要求很高,以100%的可用性进行正确的操作。很少有企业能完成这项任务。
因此,大多数部署了数据中心负载均衡器的企业都没有使用负载均衡供应商提供的GSLB功能。那些已经部署了GSLB功能的人可以使用更好的解决方案来替换它们。更好的方法是基于云计算的GSLB解决方案,它使用负载均衡器的实时遥测技术来进行智能流量管理决策。
GSLB即服务
GSLB最好是作为一种基于云的托管服务交付。这种方法的核心属性和优点如下:
- 活跃。一个有效的GSLB解决方案需要做的不仅仅是直接工作负载,而是那些超载问题。它应该防止过载的情况发生。这样做需要有能力检测过载情况的发生并适当地转移流量,无论这些情况是由于需求峰值、容量损失还是两者都有。
- 用于实时遥测的开放接口。目前大多数使用云架构的公司都有一个混合架构(RightScale,2017),其中包含一些私有数据中心服务器和一些基于云计算的服务器。因为部署混合基础设施的企业经常使用ADC类型(包括商业和开源)的混合,所以GSLB解决方案需要一个开放的接口来从不同的ADC类型中收集实时数据。
- 更低的成本。根据定义,基于云的GSLB作为一种服务可以减少capex,因为没有必要购买硬件或软件设备。运行一个自己的权威DNS需要在全局上部署高性能,并且必须设计为冗余,攻击保护,维护和人员24x7。因此,一个受管理的GSLB解决方案可能会有较低的资本支出和运营支出。
梦想成真
现在,我们可以享受这两个世界的最佳状态:一种全球性能的、可靠的托管DNS服务和先进的流量管理功能,以前只能使用专有的ADC解决方案。这一组合为企业提供了新的机会,可以防止应用程序工作负载的分布不均,并提供更好的整体应用程序性能,以及更好、更一致的终端用户体验。
本文作者:谢涛
来源:51CTO