使用混合云,要避开哪些坑?
这几年来,不少企业都尝到了使用混合云的甜头。本文由 Kurt Marko 撰写,旨在为刚踏入混合云圈子的公司提供入门指南:“使用混合云也有不少坑,初来乍到的混合云新人可以从前辈们踩过的坑中吸取教训。”
Kurt Marko 是一位资深工程师和技术专家,擅长设计和构建数字系统,范围从亚微米晶体管覆盖到网络级基础设施。他现在供职于 MarkoInsights,将其在研发和 IT 架构方面20多年的职业知识和技能应用于分析咨询。 Marko 是 TechTarget 和其他一些出版物的定期撰稿人,并直接与客户就思想领导力内容开发(如白皮书和商业案例分析)开展合作。
本文由数梦工场编译。
这几年来,越来越多的公司选择使用混合云。他们看到了云服务的优势,上云的同时兼顾灵活性,对于某些任务负载和数据仍能够在本地控制。
其实混合云的确切定义在 IT 领域并不清晰,最大原因在于 cloud washing。混合云是一种 IT 部署模式,意味着混合使用专有云和公共云,并在两者之间进行编排。
据 MarketsandMarkets 估计,混合云使用的比例每年将增长22.5%,到2021年将达到近920亿美元。 IDC 表示未来两年内,企业在传统的本地 IT 基础架构方面的支出将仍然大于云支出。总体来说,IDC 预计32%的 IT 基础设施预算将投入外部云,接近11%的将投入到专有云。混合云是云用户的首选模式; RightScale 公司 2016 年的一项受欢迎的调查报告显示,71%的云用户在使用混合云环境。
应用架构
混合云设计在企业的多个 IT 场景中都非常有用。但其实,混合云也影响了应用,对于有的应用可运行,有的应用则不可运行。管理员需要学习混合云最佳实践,以便他们能够识别并避免在云实施时可能会犯的错误和疏忽。
流行的混合云实践是将公共云服务用于灾难恢复(DR)和业务弹性扩展,将专有云用于企业业务不间断(BC)数据中心。两者设计大体相同,主要区别在于:对于 BC(业务不间断)来说,公共云一直处于热备状态或部分业务运行状态,而对于 DR(灾难恢复),只有在停机以后才会激活,处于冷备状态。不管哪一种情况,运行受影响的应用程序所需的整个基础架构都必须在公共云和专有云上部署好,以便随时启动或动态扩展业务处理能力。
先进、复杂些的混合设计,需要应用程序功能部署在不同的云上。在这种情况下,部分业务功能(通常是数据存储和认证或授权目录)运行在专有云上。其他功能(如 Web 前端,中间件业务逻辑和分布式大数据分析引擎 Hadoop,Spark 等)则运行在公共云上。
这种分布部署形成了两全其美的最佳组合。他们以对专有基础设施的数据和用户安全性的严格控制为特点,结合公共云服务的动态可伸缩性。然而,这种混合云设计存在管理困难:如何对旧系统中的数据和计算进行解耦?因为拆分架构对于新应用是可接受的,但是旧应用架构改造是一种相对高成本及风险的投入。
基础设施选择
其实也有可以构建不包含本地系统的混合云基础架构的方法。大企业可能更倾向于将业务托管在现代的专有数据中心中。他们可以使用 VPN 或专线连接到公共云。小企业继续把业务托管在机房。这样做,显而易见的好处就是减少数据中心资本支出和管理支出。
选择使用混合设计
企业在计划使用混合云之前,需要做出以下几个重要的决定:
► 是拆分和迁移现有的应用程序到混合云上,还是仅仅针对新应用程序使用混合云?
如果旧应用程序能够完全在虚拟基础架构上运行,那么混合 DR/BC 设计是理想选择。
► 在构建新应用程序时,使用 IaaS 还是使用 PaaS?
PaaS 平台能够帮助轻松实现高级云服务:如数据库管控、大数据分析、机器学习、负载均衡器和 CDN。IaaS 则是将传统客户端服务器应用程序迁移到云端的合理选择,这意味着开发人员必须选择使用托管 SQL 数据库 PaaS 平台,将开发人员从 runtime 基础架构的选择困境中解放出来;让开发专注于业务逻辑和数据库设计。虽然使用 PaaS 增加了云绑架的风险,但这是一个有利的折中:它能够降低成本,因为它简化了开发过程,提高了性能并消除了过度配置的虚拟机和存储服务。
► 如何处理云计费?
在使用混合云之前,是否要对专有云的计费更精细,采用按量付费的模式?公共云部分按照项目计费,还是按部门或业务单元计费?
► 如何将公共云监控整合到传统 IT 计费系统中,并提供上述的计费模式?
公共云提供了各种强大的监控服务,例如阿里云 CloudMonitor、谷歌 Stackdriver 等。但是,传统的计费系统必须先进行合并,然后处理结果数据以分配费用。
要避开的坑
对于很多企业来说,使用混合云可能也是第一次尝试将公共云整合到 IT 服务中。在这个过程中,企业可能会掉进新手上路常常会遇到的坑。在部署混合云之前避开这些坑将可以避免未来业务陷入困境。
► 忘记完成服务等级协议(SLA)
云买家必须充分了解供应商的运营细节,以了解该服务是否能够满足性能、可用性和数据保护要求。SLA 还可以帮助买家了解并确定角色和职责,可用的性能和使用指标,安全实践以及违规的执法后果。买家还应该了解提供商的存储架构基础知识,包括:防止意外数据丢失所采取的措施;存储实例和数据库的地理位置多样性选项;供应商收集数据的保留策略(如内部基础架构标准);把客户数据和供应商收集测量数据迁移到其他云厂商或者本地机房。
► 选择云供应商前,不进行充分调研
云作为一种信息工具,它不是一种商品,不同云服务不尽相同。有的云产品拥有大量基于 Windows 的服务,有的云产品供应商提供的裸机服务,有的云产品具有高度可预测性和对配置和安全细节的更好控制。再有的则提供 IaaS 和 PaaS 之间的紧密集成。这使得开发人员能够轻松地使用 PaaS,并在需要时选择使用底层基础设施服务。
大家应该在选择混合云之前理清楚自己的需求,并且清楚各个供应商之间区别,选择最适合自己的。
► 一口吃成个胖子
不要一开始就使用大型混合云,通过小型短期项目来使用混合云比较好。
项目管理基础课:不要想一口吃成个胖子。在混合云管理领域也是如此。混合云买家应该先确定混合云项目,确保可以在几周内完成,从而提供一种低风险的手段来开发云技术,确定所需的 IT 流程变化,并为员工分配好新的工作职责。
► 使用云服务后,没有重新定义员工作职责
使用云服务以后员工的岗位职责会发生变化,所以不要忘记重新定义 IT 角色及工作职责。同时,还需要对员工重新进行赋能,按照云计算技能的要求。
► 没有充分评估云成本
没有充分评估云成本,或监控使用不恰当。这种做法很容易导致成本超支。
► 创建的 DR 设计不完整
不要创建不完整 DR 设计。
► 把现有的安全策略用到了云上
不要把现有的安全策略用到云上,云安全跟传统安全不一样;在迁云过程中,如果没有发现并解决安全漏洞,那么漏洞以及新的缺陷可能会进一步发酵。
► 过度依赖手动流程
不要对云基础设施进行不充分的自动化,而过度依赖手动流程。云服务可以快速使用,但是容易造成管理瓶颈。然而,鉴于其软件属性,云服务是可编程的,这使得日常任务能够自动化,提高速度,保持系统一致性。