什么是云爆发?

云爆发是云计算中的一种配置,其中应用在私有云或本地数据中心内运行,当对计算容量的需求激增时,“爆发”到公有云中。这实际上充当了一个溢流阀,当私有基础设施达到其限制时,流量会自动导向公有云服务,以确保服务不会中断。您可以将其想象成一家零售店,只有当排队结账的人太多时,才会开放额外的结账通道。云爆发设置是一种特定类型的混合云部署。

在标准的云扩缩模型中,公司可能会尝试在一个环境中处理所有事务。然而,如果为了应对一年中最繁忙的一天而购买足够的物理服务器,那么这些服务器在其他 364 天里就会空闲下来,无法得到充分利用。云爆发可以帮助解决这个问题,因为它可以让组织在自己的数据中心支付基本容量的费用,并且只在实际需要时才支付额外的公有云资源费用。这种方法可以帮助公司处理突如其来的流量高峰,而无需购买他们并不总是需要的高昂硬件。

云爆发的工作原理

为了理解云爆发的机制,不妨将您的私有云想象成一个水箱。正常情况下,水(数据流量)保持在水箱的容量范围内。但是,当突如其来的暴风雨来袭(流量高峰)时,水箱会面临溢出风险。

在云爆发设置中,IT 团队会配置“触发器”或阈值,通常是在资源使用率达到 70-80% 左右时触发。一旦超过此阈值,系统就会自动打开一个阀门,将流量导入备用水箱(公有云)。应用继续无缝运行,溢出流量被路由到公有云资源。一旦风暴过去,流量水平回落,系统就会关闭阀门并停用公有云资源,将运营完全恢复到私有云。

云爆发的类型

根据团队需要的控制程度或自动化程度,有多种不同的方式来设置这些爆发事件。

  • 手动爆发:当管理员手动添加公有云资源时,就会发生这种情况。这对于可预测的事件(例如计划的软件发布)非常有用,因为人类可以准确决定何时开始和停止额外容量。
  • 自动突发:此方法使用软件政策来触发爆发。当系统检测到资源使用量达到特定限制时,无需人工干预,即可在公有云中自动启动额外资源。
  • 分布式负载均衡:这种方法可同时在私有云和公有云之间分配流量。它会将用户请求路由到离用户最近的位置,或者路由到当时可用容量最大的位置。

何时使用云爆发

云爆发并不总是适合所有应用,尤其是那些依赖于无法离开专用网络的复杂敏感数据的应用。它通常最适合需求模式波动、季节性或不可预测的工作负载,这些工作负载对速度和正常运行时间要求很高,例如以下情况:

在黑色星期五或网购星期一等热门购物活动期间,零售商经常面临流量激增的情况。云爆发让这些企业能够使用公有云处理数百万购物者几天,然后在高峰期过后缩减回私有基础设施。

数据科学家和工程师经常运行高性能计算 (HPC) 任务,例如复杂模拟、AI 模型训练或其他繁重的计算任务(如 3D 渲染)。这些作业可能只需要几小时,但却需要数千台服务器。通过爆发,团队可以暂时租用这种强大的计算能力,而无需在漫长的超级计算队列中等待,也不必构建利用率不足的超级计算机。

软件开发者经常需要启动临时环境来测试新代码或更新。他们可以将这些测试环境爆发到公有云,而不是占用主专用服务器上的空间。这有助于确保生产环境的安全和稳定。

如果本地数据中心因停电或自然灾害而离线,云爆发可作为故障切换机制,支持灾难恢复。系统可以将流量重定向到公有云,以确保应用在主站点修复之前正常运行。

组织如何实现云爆发?

实现云爆发不仅需要两个计算环境,还需要一种策略来处理在两个环境之间移动数据和应用的复杂性。为了有效实现这一目标,组织需要确保无缝连接和一致管理的功能。

使用 GKE 配置爆发触发器

实现云爆发触发器的最有效方法之一是使用 Google Kubernetes Engine (GKE)Pod 横向自动扩缩器 (HPA) 以及外部指标。在此场景中,本地应用会向 Google Cloud Monitoring 发送信号(指标)。当该信号超过阈值时,GKE 会自动在云端启动新的 Pod 来处理负载。

下面介绍如何根据 Pub/Sub 队列深度(衡量本地工作器是否过载的常用指标)设置触发器:

1. 启用自定义指标 API:首先,您必须允许 GKE 集群从 Cloud Monitoring 读取指标。为此,您需要将自定义指标 Stackdriver 适配器部署到集群。此适配器充当桥梁,将 Google Cloud 指标转换为 Kubernetes 可以理解的内容。

  • Bash
正在加载...

2. 定义 HPA 配置:创建 HorizontalPodAutoscaler YAML 文件。与查看 CPU 使用率的标准自动扩缩器不同,此自动扩缩器将查看外部指标,具体来说是 Pub/Sub 订阅中未传送的消息数 (num_undelivered_messages)。

  • YAML
正在加载...

3. 应用并监控:使用 kubectl apply -f hpa.yaml 应用此配置。现在,GKE 正在“监视”您的队列。如果本地系统速度减慢,并且队列中的消息数量超过目标值(50 条消息),HPA 将自动触发在云端创建新 Pod 来处理积压的消息。队列为空后,GKE 会将 Pod 缩减回零。

通过监控进行微调

无从看见,何谈管理。为了实现云爆发,IT 团队需要清楚地了解私有数据中心和公有云中的资源。Google Cloud 提供了一些工具,可让您详细了解应用如何使用 CPU 和内存。

通过准确了解应用消耗的“燃料”量,团队可以设置准确的爆发阈值。如果阈值过低,您可能会在不需要时将资金投入到公有云中。如果内存使用量过高,应用可能会在新资源到达之前崩溃。统一监控有助于组织微调这些设置,以平衡性能和成本。

自动化的作用

手动平衡适用于小型、不频繁的项目,但可能无法很好地扩展到企业应用。为了提高效率,组织可以实施软件和工具来自动编排云计算资源。Terraform 或 Google Cloud 的 Deployment Manager 等自动化工具可以帮助定义基础设施即代码 (IaC)。

这意味着系统可以根据实时需求自动预配、配置和管理服务器。当流量高峰消退时,自动化工具还会处理这些资源的“取消预配”或关闭。这样可确保公司在不再需要公有云时立即停止付费。

控制(监控和报告)

在爆发事件期间保持控制对于安全和预算管理至关重要。组织需要强大的监控功能来跟踪资源,确保资源得到适当预配,而不会中断服务。

报告工具可帮助跟踪爆发随时间推移产生的费用。这些数据对于预测未来预算至关重要。此外,一致的安全政策必须适用于爆发资源。实施监控和报告的工具可以帮助识别使用情况中的趋势和异常情况,从而随着时间的推移降低成本并提高效率。

云爆发的优势

对于希望平衡性能和预算的组织,采用云爆发策略可以带来以下几项优势。

节约费用

公司只需在使用时为额外的公有云资源付费,这有助于避免购买在静默期处于空闲状态的硬件所产生的资本支出。

灵活性和可伸缩性

它让团队可以自由测试新项目或处理流量的大幅激增,而不受自身数据中心可用物理空间或电力的限制。

业务连续性和弹性

如果私有数据中心出现问题或不堪重负,应用会将负载转移到公有云,从而保持在线状态,这有助于防止崩溃和停机。

资源优化

IT 团队可以确保私有云以稳定、高效的水平运行,以处理关键任务,同时将可变、不可预测的流量卸载到灵活的公有云。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。

Google Cloud 在爆发和可伸缩性方面的优势

云爆发概念是通用的,但支持它的基础设施在不同提供商之间差异很大。Google Cloud 具有独特的优势,可让混合爆发处理更快速、更可靠且更易于管理。

  • 借助 GKE Enterprise 实现一致的平台:许多混合解决方案要求团队管理两个不同的环境(一个用于本地,一个用于云端),这可能会在爆发事件期间造成兼容性问题。Google Cloud 的 GKE Enterprise 可在两种环境中提供一致的 Kubernetes 运行时。这意味着,为您的专用数据中心构建的应用可以立即爆发到 Google Cloud,而无需更改代码或进行复杂的更换平台。
  • 提升网络性能:当应用爆发流量时,数据必须在私有数据中心和公有云之间传输。Google 运营着全球最大的私有光纤网络之一。通过将流量保留在这个专有骨干网上,而不是通过公共互联网,Google Cloud 可以在关键的高流量事件期间减少延迟并提高安全性。
  • 高级全球负载均衡Google Cloud Load Balancing 不仅可以路由流量,还可以在几秒钟(而不是几分钟)内响应流量高峰,并在全球范围内跨区域分配负载。如果本地爆发容量不足,网络可以将用户自动路由到具有可用容量的下一个最近区域,从而提供标准网络工具难以实现的弹性水平。
  • 开源灵活性:Google Cloud 基于 Kubernetes 和 TensorFlow 等开放标准构建,因此组织可以避免供应商锁定。您可以构建一种适合当前需求的爆发策略,同时保留灵活性,以便在未来调整基础设施。

其他资源

更进一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。