如何构建自己的云平台?
1.知道自己在做什么
技术市场分析机构ABI Research公司的研究分析师Michael Tavares指出,云架构是一种整体结构,依赖于各个组件之间形成的共生关系,其包括前端和后端平台、基于云计算的交付系统和网络资源。他说,“如果缺少这些组件中的一个,我们就没有真正的云架构。更重要的是,一个组件的更改将导致其他组件发生变化。”
网络和移动应用测试云提供商Sauce Labs的平台服务主管Thomas Boyles警告说,组织不应该轻举妄动,构建云计算基础设施是一项复杂的任务,事实上无法考虑可扩展性和持久性。他说,“不要错误地将它拼凑在一起,并期望能够发挥作用,对于其设计,组织需要非常详细和规范。”
AWS、谷歌和微软公司等云计算领导者提供构建基块的前提是使用者将完成作业并阅读用户手册。VMware CloudHealth公司云优化平台产品经理Ennio Carboni说,“他们已经为用户提供了构建云平台的基块,但需要确保以正确的方式使用它们。否则,将面临不受控制的成本高峰和环境不稳定的风险。”
IBM公司研究员、云实验室的云架构首席技术官Kyle Brown建议,实现精心设计的云解决方案的最佳方式是通过规划和拥有远见。他说,“没有灵丹妙药,企业团队应该逐步定义架构和计划,以便可以进行迭代更改。”
2.关注应用程序所有者的需求
专业服务和业务咨询机构Capgemini公司的云架构解决方案负责人Sekou Page表示,云服务应该利用云原生功能。他说,“代表客户最大限度地发挥云计算的潜力,以提高性能,提高可靠性,并最大限度地降低成本。”
致力于推动开放的非营利组织源码和多云应用平台的Cloud Foundry基金会首席技术官Chip Childers表示,“开发人员和负责从ISV采购或操作外部软件的人员必须首先关注应用程序所有者的需求。AWS公司的大部分成功都是通过关注客户需求来实现的。这同样适用于任何公共或私有云提供商。”
Tavares认为,在做出有关存储、可扩展性、安全性和其他服务的任何关键决策之前,应该对企业整体进行调查。他说,“最终用户需要了解云计算基础设施在哪里以及为什么在整个组织中得到最好的管理和结构。只有这样,他们才能避免云计算的蔓延——当企业为不同部门(如人力资源、财务、运营、营销和公关)采用断开连接的系统时,有这种可能。”
Boyles解释说,“企业和IT文化也很重要。必须在组织和用户组中拥有适当的收购和投资水平,而组织正在为他们部署云平台。此外,还需要一定数量的内部专业知识,可能包括云计算架构师。组织需要经验丰富的人员,更重要的是,他们了解用例和用户角色。而了解用户群的需求是良好规划和设计的关键。”
保险机构Liberty Mutual公司安全DevOps平台高级主管Justin Stone补充说:“组织无法靠自己做到这一点。云计算之旅需要跨越IT组织的多个团队和强大的业务联系。”
3.寻求可扩展性和标准化
云计算基础设施组件应该能够沿着三个关键维度独立扩展:存储、计算(内存和处理能力)和网络。“无论做出什么具体的选择,组织都必须准备好平台,以标准化的方式扩展对其用户来说至关重要的关键容量规划维度。”Childers建议说。
组织的云架构不应该依赖于任何单一的云服务提供商,Tulane大学职业发展学院的应用计算和技术计划的William Rials教授警告说,“明确定义的云架构应尽可能专注于开放标准,以实现不同云计算服务提供商与本地基础设施之间的最大兼容性。”
微服务的兴起在很大程度上得益于标准化软件容器的快速采用。Tavares说,“该技术允许开发人员将他们的代码打包成轻量级、与平台无关的软件包,可以轻松地跨越不同的基础设施。随着多云市场的兴起,容器是云计算基础设施的一个重要方面,它允许跨不同供应商的软件进行个性化和协调的应用程序开发。”
4.创新,不要模仿
Page 说,“IT永远不应该依赖传统的思维方式。这包括他们的运营、安全、监控、部署等方式。”
将现有的内部部署设施“提升并转移”到云中的诱惑,虽然由于其即时的时间和成本优势而难以抗拒,但几乎总是构建云架构的错误方法。商业和技术咨询机构埃森哲公司云策略、架构和交付总经理Miha Kralj说,“也许最大的禁忌是将云计算想象成只是一个‘空中的数据中心',只需要移动应用程序就宣布胜利。那些在没有未来路线图的情况下提升和转移应用程序的首席信息官们将会发现,他们没有获得预期的价值,而且在某些情况下,他们陷入了技术债务中,其支出远远超过了他们的预期。”
IBM云计算实验室的杰出工程师Roland Barcia说,“云计算技术创新需要一个愿意采用新方法和技术的IT团队,确保正确的技能组合至关重要。”他指出,“盲目地认为最初组建的团队能够在开发云原生解决方案时有效地发挥作用,这是错误的。与其相反,重要的是重新培训作战团队,使其开发更多软件定义的技能。”
“外部支持也很有价值。组织与云计算提供商和软件合作伙伴合作,了解自己的业务和目标是入门的关键。”Stone指出。
5.改变云存储类型
Tavares宣称,专注于一种存储类型不是一种很好的选择。大多数主要云供应商都提供各种存储服务。例如,AWS提供简单存储(S3)、弹性块存储(EBS)、弹性文件系统(EFS)、导入/导出大容量数据传输服务以及Glacier归档备份和存储网关。他说,“没有一种存储选择适合所有情况。此外,为不同的数据集利用不同的云存储选项可以带来性能、成本和功能优势。”
6.建立弹性连接
架构良好的云平台提供高带宽和低延迟。IT服务管理机构Future Tech Enterprise公司的首席信息官Mike Attar解释说,“网络层需要灵活,并为最终用户提供在服务器之间快速有效移动的能力,在某些情况下,还有其他云平台。监控和管理功能应该很容易,以便于相应地决定如何利用云计算资源。”
Rials指出,“明确定义的云架构不仅涉及云基础设施,还涉及连接。在默认情况下,组织通过Internet连接到云服务提供商。每个主要的云服务提供商都提供从客户所在位置到其云基础设施的私有连接。”
由于定义明确的云架构涉及多云方法,因此与每个云计算服务提供商建立单独的连接可能成本过高。“因此,建议建立与云连接代理或云交换的网络连接,这些代理或云交换与每个主要云计算服务提供商都有网络接口。”Rials建议道。
7.整合安全性
Tavares说,“云安全服务绝不应该脱离其他服务。与其相反,它们应该集成到其他服务中,例如存储和那些与提高可扩展性相关的服务。”
Rials说,“云架构的每一层都应该嵌入完善的安全原则。使用云计算服务的组织应该清楚地了解云服务提供商的责任在哪里结束,组织的责任在哪里开始,许多云计算的应用者错误地假设网络安全是云服务提供商的全部责任。一个定义明确的云架构已经在整个架构中根深蒂固地存在着网络安全问题。”