混合云平台为何更适合现代应用开发
2016-01-04 TechTarget中国 编辑:Chris Riley
混合云平台,即云和本地系统的混合,能够为大型企业和遗留环境中的开发团队提供一些他们一直想要的东西:那就是与整个开发领域以相同的节奏一起进步的能力。这其中最难的部分是找到基础架构,整合系统和公有云供应商的正确组合。
在这篇文章中,我将揭开混合云的真实面貌,它不只是一个用来安抚IT部门的名词,它是对企业开发团队来说实际和有用的东西。混合云可以在政治面和技术面上缓解企业采用现代软件开发和DevOps的痛苦。
企业比工具厂商做得好的地方是,找到适合于工作的工具。虽然企业常常被旧习惯和固执所拖累,但大部分来说,他们的行动是以结果为导向的,而不只是因为某个东西很酷所以才想要创建它。然而,企业也常常对可能会有益的功能视而不见,从而抹杀了实现更高目标的可能性。
企业必须要了解,混合云平台是一个对业务应用托管和软件开发都有效的方法。
至少在最初的时候,混合云是与业务应用所关联的。其好处是,能够把安全的本地数据和应用与现代的面向外部的应用,如合作伙伴门户结合在一起。但由于创建私有云变得越来越容易,多亏了先进的虚拟机管理程序和管理工具,IT部门有了让一切都留在本地的更有力论点,这再度产生了那个古老的分歧,是将全部东西存放到像Salesforce和SAP HANA这样的私有云应用中,还是全部存放在本地。
开发部门对此的看法与IT部门完全不同。而那些在他们看起来是囤积的行为,转变成某种对于似乎想让他们进度变慢的意图的怨恨。开发部门往往是倾向于100%公有云的。而且他们已经无法满足于基础架构即服务(IaaS),开始追求平台即服务(PaaS),在他们眼里,就连代码在哪台机器上运行也不重要。尽管有着关于数据安全性和管理的顾虑,但还是很难说服开发人员一个混合的方案是有用的。而这个冲突的结果,要么是IT部门赢了,而开发部门停留在传统的编码模式,或开发部门胜利-无论是在实际上获得自己的预算或是偷偷的使用了影子IT。开发人员需要知道混合云可以如何帮助他们:
• 更好的应用:开发人员在创建现代企业应用的时候,会面临商业软件开发者所不曾遇到过的不利一面:企业应用往往是庞大的,并有许多移动的部件,包括了与遗留代码的整合。这不可避免地导致更多的bug,因此推出质量不佳的应用风险较高。此外,你能够建立的功能是有限的,而且往往不能跟上不断变化的需求。混合云平台可以让你更快的迭代,更快的发现问题和更早开始开发那些新的,更有趣的功能。
• 较少的障碍:除非一个组织要像万事达卡在建立Simplify的时候那样从零开始使用DevOps,否则转换到现代应用开发的唯一方法便是新旧之间的平衡。对于大多数开发人员来说,提交ticket来获得虚拟机(VM)的过程必须要与持续集成共存。混合云可以有助于打破壁垒,通过加快旧流程并引入新的流程。它可以成为一个协商的工具:“如果你允许我们在一个你指定的镜像上设置虚拟机,我们就在产品化之前留在防火墙的内部。”这当然没那么容易。但我们可以看到明显的好处,如较少的充满敌意的会议,更短的ticket反应时间或甚至不用ticket。
• DevOps:可能听起来有些奇怪,但混合云平台可以帮助支持DevOps持续集成的过程—并不是因为它让IT部门更容易点头,而是因为在企业中,一个版本发布的审批过程是瀑布式的,这意味着新版本在推出时最好是完美的,因为你想要补救任何东西的机会将在六个月后了。然而,今天的开发团队是以持续的代码流来思考的。在发布日期前,他们做的越多越好。在企业防火墙后的一个集成环境中会有更多可接受的选项,可以让你增加运行的整合build的数量,找出更多的bug,更快地开发新的功能。对某些组织来说,混合云是他们通向DevOps的唯一路径。
在一个应用被写出之后,它的所有组件并不需要都放在公共云上。但我们也很难提出充分的理由要求它必须要全部放在私有云上。关于产品环境中会怎么样的讨论都是相对的。现在将生产环境放到私有云里已经不那么常见了,但也许有一些理由必须要这样做。对于某些情况下,有些数据需要离线存储在防火墙内,数据分支的概念颇受欢迎。其中的挑战在于要培训开发人员关于数据保留政策以及如何执行的方法。你会在处理财务数据以及应对政府部门时遇到许多这样的情形。
混合云平台并不是适合所有,甚至大部分的开发团队。但对于一些组织来说,政府法规和规模并不是将你的开发团队束缚在瀑布模型开发时代的借口。如果企业想要把握现代开发的机会,并且是结果导向的,那他们将最终找到一种途径,而这个途径多半会是一个私有和公有云的组合。而且现在要这样做也不再有技术上的障碍。虚拟化厂商如VMware和微软有专为这个目的所提供的云平台。而且公有云供应商也正在通过自己的产品,或大量的第三方产品来弥补公有和私有云之间的差距。
开发团队将一直试图挑战现有的极限。而混合云也几乎永远无法满足他们。但是,混合云是一种能够让所有人达成共识的方法,而且它也可能是让DevOps混入现有的复杂生态系统的唯一途径。