最近的研究表明,近90%使用云资源的公司依赖于多个提供商。虽然会带来很多明显的好处(更少的供应商锁定风险、更多的服务选择、更低的成本等),但多云中的供应商越多,管理环境的挑战就越大。
87%企业调研对象拥抱多云

本文从7个方面来讨论如何实施多云管理,以便经济高效、安全和高效使用多云,避免多云带来的风险高于长期收益。
什么是多云管理?
多云管理是对 IT 环境的日常管理,该环境在来自多个提供商的两个(或多个)云产品中运行。这种类型的管理包括处理多云部署的复杂性、安全风险和潜在低效率所需的所有工具和策略。
多云管理的主要目标是:
- 集中管理所有云及其独特功能(通常情况下,可以考虑建设多云管理平台)
- 确保策略或规则在所有平台上保持一致(用户身份验证、工作负载迁移、安全措施、性能基准等)
- 提高对所有基于云的资产的可见性和控制力
- 加快自助服务和整体交付速度
- 减少部署和移动应用所需的手动任务数量
- 跨所有平台监控应用程序
- 帮助管理人员确定工作负载的适合的最佳产品或服务,并利用每个提供商的最佳功能
- 分析和比较所有云服务商的费用
- 跟踪云服务使用情况和治理
超过 74% 采用多云战略的公司将复杂性列为其主要挑战之一。解决此问题的最佳方法是建立一个集中式云管平台,简化日常任务(配置、监控、集成、分析等),同时提供整个多云的 360 度视图。
实施多云管理的7个要点
下面介绍多云管理的实施要点,旨在解决在多个云产品/服务中运营的复杂性和风险。
在所有云环境中应用一致的策略
适当的多云管理要求管理人员在所有环境中实施一致的策略。例如,如果在不同的云中部署两个相同的系统以提高可用性,则两个环境应具有相同的性能和安全设置。
多云管理团队不应制定每云独立管理策略并建设有风险的孤岛环境,而应采用统一策略管理,下面常见一些建议:
- 为存储、计算和云网络实施一致的协议和格式
- 对访问和控制规则应用统一的框架
- 设置通用规则,用于跟踪用户活动、发出警报、识别威胁和响应云安全风险
集中策略管理,使员工能够从单一管理平台管理规则。同时,还必须创建一个总体安全策略,用于定义多云的以下方面:
- 可接受的数据类型
- 身份验证规则
- 监管规则
- 确认合规性状态的方法
- 工作负载和云迁移协议
使用容器制作可移植工作负载
确保云工作负载可以在平台之间移动,而无需进行重大代码更改。虽然可以使用虚拟机实现类似的效果,但依赖容器是创建可移植多云应用的最有效方法。
容器化工作负载由容器、轻量级代码包及其所有依赖项组成。这些可执行组件是云原生体系结构的基础,包含代码在任何环境中运行所需的一切。
在多云中使用容器时,管理人员可以将应用从一个云迁移到另一个云,而不会影响性能或可用性指标。例如,如果一个提供商遭受云中断,用户可以将工作负载移动到另一个平台,而不会造成任何服务停机。企业的软件应用也减少了对任何一个供应商的依赖,从而提高了业务敏捷性。
我们建议在多云环境中使用 Kubernetes 来管理、部署和自动化容器(或者,如果IT管理团队有 Docker 的实践经验,也可以考虑采用更简单的 Docker Swarm),提升整体的规范性、敏捷性。
了解何时以及为何移动工作负载
避免本能地决定在云之间移动工作负载。管理人员必须始终知道何时(以及为什么)将资产转移到不同的平台。即使采用了容器,移动工作负载仍然需要进一步的跟踪和判断措施,防止因为判断错误导致负载迁移。
持续分析云工作负载的运行情况,以了解它们实时状态,如果做不到这些,我们更建议采用单个云,而不是多云。
一个好的做法是根据业务需求将工作负载关联到对应的云服务。将工作负载映射到业务需求还可以最大程度地减少云执行的角色重叠的可能性。为执行相同任务的两种不同服务付费是没有意义的。
使用统一多云监控工具
如果无法完全了解多云环境,多云的用户将无法可靠地:
- 跟踪和响应可疑活动和用户行为
- 分析修复并确定修复的优先级
- 监控费用和消费模式
- 识别服务中断
虽然大多数供应商都有原生云监控工具,但每个提供商都只概述了其云上托管的基础架构。寻找一个连接多个云供应商和资源的平台,以监督整个多云。理想的监控工具应:
- 使用户能够跨所有平台跟踪活动
- 整合来自不同产品的事件、日志、通知和警报
- 使用 API、无代理和基于代理的方法跨多个云自动收集数据
- 为所有环境提供单个仪表板
- 跟踪性能参数(如网络延迟和服务可用性)
通常可以采用Prometheus、Zabbix这样的开源工具来快速实现多云应用的统一监控。
控制整体成本
多云使计费复杂化,因为每家服务提供商的收费方式不同。因此,需要一个统一费用管理系统来监督所有供应商的每项支出的成本。建设跨云费用管理系统,可以帮助企业更好的实现:
- 衡量每个云平台的开通资源所产生的成本
- 跟踪每个服务真真实的使用量
- 评估集成费用和流量成本
- 识别不必要的支出(例如,未使用的实例、实例大小调整不佳、“僵尸”资源、无关联快照等)
- 预测未来费用并寻找降低成本的机会
该工具还应提供有助于业务规划的支出模式。与工作负载一样,使用映射策略来跟踪部署和各种与成本相关的指标。这些数据能够帮助评估某项服务是否值得投资。
更进一步来讲,企业用户还可以跟踪管理人员、研发人员在管理各种云平台上花费的时间。通过衡量人工成本,来从整体评估成本支持的合理性。
提升多云安全性
超过 60% 的采用者认为安全性是多云管理中相当大的挑战。公司无法通过适用于传统网络安全(甚至某些单云部署)的“城堡和护城河”策略来保护多云。
避免使用提供商的内置工具和第三方解决方案的混乱组合来提高安全性。相反,寻找一个总体平台,为管理多云安全性提供单一管理平台。
以下是保护多云的一些建议:
- 围绕常见的合规性要求(如 等保)构建整体安全策略
- 定期审核日志记录信息(新用户、访问权限、登录持续时间、用户活动等)
- 使用最新补丁使所有工具、平台和系统保持最新状态
- 依靠端到端加密(静态、传输中和使用中)来保护数据和云间通信(调度、监控、路由等为各种类型的网络攻击制定响应计划)
- 使用统一登陆、管理域等为团队提供安全方便的访问、治理和日志记录规则基线
- 在单独的租户中运行每个应用和环境(开发、测试、暂存、生产等)
- 确保每个员工只能访问该员工执行任务所需的资源和数据(所谓的零信任安全模型)
- 定期执行数据和系统的云备份
- 采用合适的灾难恢复措施或产品方案
充分利用自动化
有效的多云管理在很大程度上依赖于使用云 API 的自动化。自动执行重复的手动流程有助于:
- 降低人为错误的可能性
- 简化日常管理任务
- 加快各种流程(以及在一定程度上加快应用上线时间)
自动化提高了以下任务的速度和可靠性:
- 部署应用
- 预配和取消预配云服务
- 扩展操作以满足当前流量或使用需求
- 在不同云之间传输工作负载
- 在多云中实施一致的规则
- 应对威胁和问题(例如,成本增加、资源过度或未充分利用、配置缺陷等)
多云管理挑战
下面列出了多云管理最重大的挑战和陷阱:
- 固有的复杂性:与两个(或多个)供应商打交道比与单个供应商打交道更复杂。每个供应商都有不同的功能、本机工具、计费方法、API 和服务级别协议 (SLA)。协调多个平台之间的流程也很复杂。
- 成本控制难度:依赖两个或多个供应商使得跟踪成本和消除不必要的费用变得困难。云蔓延(未使用的云实例或服务)是不必要的高月度账单的常见原因。
- 更多安全风险:企业使用的云越多,攻击面就越大。更多的提供商意味着更多的错误空间(配置错误、加密不良、密钥管理缺陷、不安全的 API 等),这为数据泄露和泄漏创造了更多机会。
- 设计难点:当在两个(或多个)云平台中运行时,创建跨环境移动数据和工作负载的应用非常困难。平台和系统之间的集成也具有挑战性。
- 更大的监控面:依赖多个云使得检测不需要的资源或配置更具挑战性。与单一平台相比,在多云中更难发现轻微的配置冲突、未加密的云存储桶和不受监控的虚拟机。
- 运营蔓延:使用多个独立的云环境通常会导致日常任务的方法不一致。程序效率低下和缺乏标准化是多云管理的常见问题。
- 技能差距:多云中的每个新平台都要求公司对员工进行技能培训,以充分利用新的服务和解决方案。
合适的多云管理可简化日常任务并确保高投资回报率
虽然多云运营或管理团队可以单独管理每个云,但这种多云管理方法非常耗时、复杂且有风险。一个更明智的策略是通过多云管理平台等类似工具集中管理并统一所有产品的整体视图。这样,就可以最大限度地发挥与多个供应商合作的优势,同时确保常见的多云陷阱不会损害的多云用户的利益。