多年来,企业一直享受着混合云带来的益处。然而,他们同时也忍受着不断增长的痛苦,混合云的新人可以从他们的前辈所犯的错误中学习。
混合云的采用率正在上升。很多组织看到了云服务的优势,但他们也想要自己拥有一定的灵活性,将一些工作负载和数据保持在本地的控制下。
虽说有些意外,但对于IT来说,混合云的“真正的”定义并不总是很清楚——特别是因为云清洗。混合云是一种IT部署模型,它使用本地(私有)云和第三方(公共)云服务的混合,在两个平台之间进行协调。
MarketsandMarkets估计,到2021年,混合云的支出将年均增长22.5%,达到近920亿美元。IDC表示,未来两年内,传统的本地IT基础设施的支出仍将大于云支出。尽管如此,IDC预计,总的来说,仍然会有32%的IT基础设施预算将用于外部云,11%用于私有云。混合云是云用户首选的模式; 来自RightScale的一个流行的2016年调查显示,71%的云用户使用着混合环境。
应用架构
混合云设计在这几种企业IT场景中非常有用。然而,如何使用将部分地决定什么工作和什么不工作。管理员需要学习混合云的最佳实践,以便能够识别,然后避免以前的云实现时常犯的错误和疏漏。
流行的混合云部署实践是使用公共云服务作为用于私有云的灾难恢复(DR)或业务连续性(BC)数据中心。它们的设计基本相同,主要区别在于:对于BC,公共云始终处于活动状态,而对于DR,它处于待机状态,仅在本地停机期间被激活。在任一情况下,运行受影响的应用程序所需的整个基础架构必须在私有和公共云上部署或预配置并准备启动。
更高级和复杂的混合设计涉及跨云分割应用程序的功能。在这种情况下,一些组件(通常是数据存储和身份验证或授权目录)在私有云上运行。其他组件(如Web前端,中间件业务逻辑和分布式大数据分析引擎(Hadoop,Spark等))在公共云上运行。
这种分叉的设计保证了IT能够利用两者的优点; 他们能够严格控制私有基础设施的数据和用户安全性,并且能够利用公共云服务的动态可扩展性。然而,这种设计给混合云管理带来了更多的困难:从传统系统中解耦数据和计算。这意味着分裂架构最好与新的,而不是传统的应用程序一起使用。
基础设施的选择
有几种方法来构建并不总是包括本地系统的混合云基础架构。大型组织可能更喜欢在现代私有数据中心里保持大量计算能力。这样,他们可以使用互联网上的虚拟专用网络或使用云交叉连接的私有WAN(如Amazon Web Services(AWS)Direct Connect或Microsoft Azure ExpressRoute)连接到公共云。较小的组织越来越多地在托管主机或在托管服务提供商提供的设施上运行私有云。这样做的明显好处是减少数据中心资产费用和管理开销。
托管主机具有到运营商和云服务的卓越的网络连接能力,这使得建立到所选择的公共云的高速私人连接变得更容易并且更便宜。实际上,混合架构中私有和公共云基础架构之间快速且可靠的低延迟连接的重要性是怎么强调都不为过的。
混合设计决策
在计划采用混合云时,组织必须做出几个重要决策。评估是否拆分和迁移现有应用程序或为混合环境设计新的应用程序。将传统应用程序完全运行在虚拟基础架构上,这为混合DR / BC的设计提供了一个很好的选择。然而,只有未开发的系统应该尝试在公共云和私有云上分解应用程序中的功能(例如,计算在公有云而数据在私有云)。Azure站点恢复等服务可以自动执行现场VM清单,VM镜像和数据的复制,以及服务部署的过程。这极大地简化了Azure作为混合云DR / BC站点的使用方式。事实上,将云用于灾难恢复是最常见的混合实践之一,也是进行更为高级的云使用的良好基石。
在构建新的应用程序时,需要决定使用低级的基础架构即服务(IaaS)还是更抽象的平台即服务(PaaS)。PaaS方案(如Azure App Service和Google App Engine)可以更轻松地使用高级的云服务,例如托管数据库,大数据分析,机器学习,负载平衡器和内容交付网络。而IaaS是将传统的客户端—服务器应用程序迁移到云的合理选择,这意味着开发人员必须主动选择使用本地云服务,例如托管SQL数据库(例如AWS Aurora或Google Cloud SQL)或容器运行时(例如,AWS Elastic Compute Cloud Container或Azure Container Service)。PaaS平台(如Azure App Service,Google App Engine或像IBM Bluemix一样的Cloud Foundry提供商之一)可以减轻开发人员对运行时基础架构选择的担忧,这使得开发人员可以专注于业务逻辑和数据库设计。虽然PaaS的使用增加了云供应商锁定的风险,但这是一个有利的权衡。它降低了成本,因为简化了开发过程,提高了性能并减少了过度配置的虚拟机和存储服务。
还应该考虑如何处理云计费。这主要意味着在采用混合云之前,需要决定是否对私有基础设施使用细粒度的基于使用的计费,以及是否按项目精细分配公共云计费,或者将混合云部署转变为部门或业务部门的预算。
最后,决定如何将公共云使用监控集成到传统IT计费系统中,并提供上述的退款模式。公共云提供各种强大的监视服务,例如AWS CloudWatch和Google Stackdriver。然而,传统计费系统必须合并和处理结果数据以便分配费用。
需要避免的错误
采用混合云可能是组织将公共云融入IT服务的首次尝试。这使得组织和大多数云新手一样容易受到错误的影响。在混合云部署之前避免这些错误,以后将会避免之后您在业务上的忧虑。
不要忘记完成服务级别协议(SLA)。云的购买者必须充分了解提供商的运营细节,以了解该服务是否能够满足性能,可用性和数据保护的要求。SLA还将帮助买家了解和确定角色和责任,可用性能和使用指标,安全实践以及对不合规的执行后果。买家还应该了解提供商的存储架构的基础知识,包括以下内容:为防止意外数据丢失而采取的措施;存储实例和数据库的地理多样性的选项; 针对供应商收集的数据的保留策略,例如其内部基础架构指标;以及将客户数据和供应商收集的度量迁移到另一个云服务或内部数据中心的选项。
充分地审查潜在的云供应商。虽然云作为一个信息实用程序,它不是一种商品,云服务并不都是一样的。一些如Azure的云服务是一个大型的基于Windows的服务组合,它们与整个Microsoft系统管理和应用程序开发生态系统紧密集成。另一些如IBM SoftLayer,Oracle Cloud和Rackspace的云,提供了可以像VM一样动态实例化和扩展的裸机服务,但具有高度可预测的性能和对配置和安全性细节的更大控制。一些如Azure和Google Cloud的云,提供IaaS和PaaS服务之间的紧密集成。这使开发人员能够轻松地使用PaaS,并且在需要时可以使用低级基础架构服务。混合云购买者应该明确他们的需求,并在注册之前研究可能的替代方案。
开始时不要贪大。使用小型短期项目构建混合云会更好。项目管理101说,冰冻三尺非一日之寒,开始时要从小事做起。混合云管理也是一样的道理。买家应该确定可以在几周内能够完成的适度的混合项目,从而提供低风险的方式来增加云的专业知识,明确IT流程所需的变化,并为新的职责准备人员。
重新定义IT角色和职责,以便在使用云服务时反映改变了的职责。你还需要重新培训工作人员以使其获得所需的云技能。
充分估计云成本并恰当地监控使用情况。否则很容易导致超支。
不要创建没有考虑并且保护所有基础结构和数据组件的不完整的DR设计。
将现有安全策略做出调整后再迁移到云基础设施中。云服务的使用改变了安全策略的实施方式,如果在云迁移过程中没有得到妥善的解决,那么这些安全漏洞和新的漏洞很可能会进一步恶化。
充分自动化云基础架构而不要过度依赖手动流程。云服务可能迅速增长而出现管理瓶颈。 然而,作为软件定义的元素,云服务是可编程的,这帮助实现常规任务的自动化,从而提升速度和一致性.