从航旅纵横看中航信的云原生之旅
“宽敞的空间,舒适的座椅,闭上双眼享受万米高空飞行的那一份悠闲。”很多人以为商务人士的旅途是这样的惬意,但事实上完全不同。在不同时区的城市、会场、机场、办公楼穿梭辗转,睡眠严重不足,手都在抖,神经衰弱。 如果说这些可以忍受,那么航班延误不常有,延误起来要人命——这是商务人士都懂的痛。面对着浩如烟海的航班信息、变幻莫测的航班动态、复杂多变的机场状况等等,我们该怎么办?
在当今中国的互联网环境下,有需求就会有对应的App。这些应用的一个显著特点就是敏锐地抓住了用户的痛点,并及时给出了优秀的解决方案。航旅纵横就是这样一款App,经过这些年的发展航旅纵横已经成为商旅人士出行的必备手机应用。航旅纵横为航空旅客提供了一站式出行解决方案,特别是准点分析、航班点评、飞行图(实时查看飞行路径)、前序航班、机场大屏等信息服务为用户提供了非常棒的体验。
其实航旅纵横既不是市场上唯一的航旅类APP,也不是最早的。在航班管家、飞常准等强手如林中脱颖而出,航旅纵横一面世就赢得了用户的芳心,这背后有怎样的故事呢?中航信运行中心架构团队负责人罗皓告诉记者,借助敏捷的云原生开发模式让航旅纵横可以实现大功能两周一更新,小功能可以以天为单位就能够迭代,从而更好地满足用户的需求,航旅纵横也最终成为航旅出行的爆款应用。
罗皓表示,用户体验的打造来自于不断满足用户的需求,而当今用户的需求不断涌现,这就对后端的研发团队提出了更大的挑战。为了实现航旅纵横的功能迭代,相关研发团队采用了敏捷开发的研发体系,包括产品人员、需求人员、开发人员、测试人员等进行了有机组合。
“我们采用云原生的标准体系,产品创新直接传递给需求人员,需求人员反馈给研发人员,研发人员完成产品开发,直接给到测试人员,最后测试完成可以直接上线发布。这样的一套完整体系以及工具链,保证了从需求提出到产品开发、版本管理,到最后上线发布的整个过程是自动化。”罗皓说。
对于航旅纵横的研发架构,红帽首席架构师张家驹也认为,这非常符合目前敏捷开发的理念。其实云原生不光是一个新技术,还以流程、组织等架构的变化,以适应面向互联网业务的敏态应用。这种架构形态与企业传统的应用开发模式是不一样的。“对于中航信这样的企业,他们有很多合规性的要求,如何在稳态与敏态之间进行平衡,需要大家达成一种共识,中航信的航旅纵横在整个企业的同一套组织架构下能够实现敏态应用的开发起到了很好的示范作用。”
内部“孵化模式”让开发人员离开“舒适区”
云原生准确来说是一种文化,更是一种潮流,它是云计算的一个必然导向。云计算时代,云原生技术注定将对现代化应用的建设、交付与运维产生颠覆性的影响。
罗皓坦言,中航信从传统的应用开发模式过渡到云原生的研发模式是一个很痛苦的过程,这里面最大的困难是理念的变化。为什么这样说呢?因为在传统开发模式下,市场部门传递一个需求,开发人员只要把市场部门提给的需求点都达标了,这事跟他没有任何关系了。所以,开发人员很“安全”。
但是当企业拥抱互联网,互联网是一个快吃慢的生态,如果你的需求链条传递很长的时候,你是无法适应互联网的快速竞争的。“企业需要积极应对,通过引入敏态开发模式应对挑战。这种情况下,开发人员变得不是那么‘安全’,离开了他的‘舒适区’。”罗皓说。
中航信在最初确立航旅纵横整个项目的时候,开发团队也是有想法的。于是,中航信通过“孵化模式”,在内部成立一个小型团队,进行授权或者放权。这个开发团队人员非常富有激情,他们思想开放,积极拥抱互联网。他们既做产品,又做开发、测试、产品上线。
结果,这个开发团队的能量爆发出来了。罗皓说,当时我们并没有想过航旅纵横今天能够这么成功,它就是中航信众多孵化项目中的一个而已,但是这个项目是孵化最成功一个项目。这跟团队人员自身的素质或者文化有很大关系。
张家驹对此感同身受,他说,从红帽接触的云原生项目来看,团队变化和文化冲突是企业开展云原生实践的很大挑战。通常对于大型面向企业级业务的企业来说,它们的的人员其实多年来已经养成了一定的工作习惯,一定的认知,这个东西实际很难被改变。但是在互联网+的驱动下,这些企业面临业务转型,如果还是墨守陈规不进行改变,肯定是行不通的。
两手都要抓:敏态是目标,稳态是根本
罗皓说,除了航旅纵横,中航信还有很多传统业务,这些业务对于系统稳定性的要求远远高于它敏捷的要求。所以,在整个治理框架上,中航信积极推动双模式的建设。“敏态应用是企业转型的目标所在,但是稳态应用是企业的根本。稳态是要帮我们守住底线,如果底线守不住,所有的创新也就没有意义了。”
在打造敏态开发模式上,中航信的实践不断深化。比如从当初的开发和运维团队是分开的,现在开发和运维已经放到一个团队里。外部团队只是提供资源支持,比如公有云。这些不同的开发团队人员构成不同,能力也不同,中航信允许这些团队人员按照自己的意愿选择不同的研发模式。
在罗皓看来,敏捷是有代价的,企业需要做好权责对等。因为你在追求敏捷的同时,风险也在上升,如果业务能够承担这些风险,那就可以进行敏态的开发。所以对于目前的企业来说,稳态和敏态的双模式策略是首选。
张家驹也表示,不同企业的业务需求是不同的,比如现在云计算分为IaaS、PaaS、SaaS,如果只是涉及资源虚拟化层面,很多业务流程不需要你改动,你要做的只是优化现有的IT资源即可,对于IaaS的需求更为强烈。对于比较新型的业务,企业需要微服务、容器、DevOps等进行支撑,那面向云原生的敏态开发模式更加适合。红帽为这些企业提供了从稳态到敏态演进的路径支持,同时也提供了一套平台来支持企业稳态和敏态应用的所有技术。
例如,中航信基于红帽Linux操作系统和Linux虚拟化技术构建了稳定的业务运行平台;基于红帽JBoss企业应用平台为企业应用运行提供基于规范的可靠的平台以及基于AMQ为系统互联提供了稳定的消息平台;中航信采用了红帽的OpenShift构建了PaaS平台,支撑与众多机构的异构系统互联。
罗皓表示,云原生技术可以帮助企业低成本走向敏捷,降低了试错成本。比如在起初,中航信是采用虚拟机来实践敏捷开发的,其实通过虚拟机构建敏捷应用体系是非常痛苦的,比如原本可以二三十个虚机就能承载的业务,随着微服务拆分,一下子变成了数千台虚拟机,这对于运维管理提出了巨大的挑战。现在中航信引入了容器技术,则解决了运维面临的问题,实现需求的快速迭代。
践行云原生 企业需要选择一个强有力的生态
在互联网+和新商业业态的冲击下,传统企业纷纷走到了新旧技术架构演进的关键时刻,亟需天然基于云服务的云原生模式来提高整体运行效率,如何落地云原生技术已经成为企业客户关注的当务之急。那么企业需要做好哪些就绪工作呢?
罗皓说,在拥抱云原生上,选择一个强有力的技术合作伙伴是至关重要的。这个合作伙伴需要在行业有一定的影响力,比如中航信选择与红帽合作,其实在双方合作的领域,也存在很多其它厂商。但是红帽在业界的影响力是众所周知的,特别是在开源领域。“开源意味着不确定性,当我的一个业务选择一个平台之后,我要想再转成另外一个平台是很难的。因为迁移的工作量和成本是巨大的,而且让运行其上的业务面临很大的风险,所以我希望选择的这个平台能够有生命力的,一直发展下去的,换句话说它要在这个生态里面有话语权。显然红帽就是这样的合作伙伴。”
对此,张家驹表示,开源很大程度上是看生态,它最大的魅力也是生态。红帽一直专注于开源,不断繁荣生态。现在我们走向一个多云的时代,红帽要做的就是在多云或者混合云下做大做强生态,让客户选择红帽是放心的,或者说选择这个生态是放心的。
除了选择好合作伙伴,罗皓还认为,企业是不是要进行云原生的实践,还取决于业务需要,不要为云原生而云原生。其次,企业一定要做好文化建设,因为治理结构的变化是最困难的。最后,企业可以通过小范围试点的形式进行实践,类似中航信的“孵化模式”。“云原生它是个技术问题,同时也是一个管理问题和治理问题。云原生在企业中落地生根是一个过程,需要企业不断实践。所以,进入2019年,中航信积极推动业务全面走向云化,并推进双模式建设,解决在这个过程中出现的技术、管理、治理等问题。”
张家驹补充说,云原生更多是面向新业务的诉求。是否要上云原生,企业需要了解面向业务的特点、诉求,然后再选择对应的技术体系和工具链,这样才能走向成功。红帽在赋能企业云原生实践方面是一如既往的,帮助企业在云原生的道路更加顺畅。
结语
在这个比以往任何时候都更加需要“速度”和“创新”的时代,云原生席卷整个业界。不管是互联网创新企业,还是传统行业客户,他们都在积极拥抱云计算。而作为创新业务的重要支撑,云原生成为企业应对变革的重要抓手。中航信在航旅纵横上的成功实践为业界提供了一个可资借鉴的标杆范本,值得整个业界学习,并据此开展适合自己的云原生实践,实现数字化转型。
本文章选自《数字化转型方略》杂志,阅读更多杂志内容,请扫描下方二维码