1.1. 民航电子商务的发展回顾
上个世纪90年代以前,购买机票的操作程序较为繁琐,只有职务到达一定级别的人,才可以凭借单位的介绍信,来现场预订机票,而那时的机票,全靠人工手写。电子客票(ET),也称“无纸化”车票,是以电子数据形式体现的航班旅客运输合同,与普通机票具有同等法律效力。世界上第一张电子客票于1993年在美国VALUEJET航空公司诞生。我国的电子客票的发展集中在2000年到2007年,民航电子客票发展时间轴大概如下:
1.2000年3月28日,中国南方航空公司率先推出第一张电子客票(本票电子客票)
2.2004年,国航、南航、东航三大航空公司均有自己的电子机票系统,并未加入BSP电子机票系统当中。
3.2004年9月1日,海南航空公司开始使用中国第一张BSP电子客票(中性电子客票)。
4.2004年9月底,东航推出首张B to C电子客票(个人电子客票)。
5.2004年9月,游易航空旅行网销售出了第一张国航电子机票。
6.2005年1月,国航、东航正式加入BSP电子机票系统。10月31日,南航也加入了BSP电子机票系统。
7.2006年6月,电子客票行程单作为全国统一报销凭证,正式启用。电子票无法打印出T4联。
8.2006年10月,国航停止发售纸质票,全面推进电子客票。
到2007年年底,全球实现100%BSP电子客票。
全球民航业推广电子客票是大势所趋,给航空公司的运营带来的巨大的变化,本身电子客票的开发和使用成本并不大,但给航空公司却带来了可观的商业价值和辅助性的经济收入。电子客票在降低航空公司运营成本、提高管理水平增强企业核心竞争力方面有巨大作用,因此民航电商业务也就从此拉开序幕。
1.2. 不得不说的GDS
GDS全球分销系统( Global Distribution System) 国际GDS,是在国际航空预定系统(CRS系统)的基础上发展起来的,其前身可以追溯到本世纪60年代国际大航空公司为自己建立的数据库。GDS,不但将诸多大航空公司的数据库联结起来,销售多家航空公司的中性票,而且已经将业务从航空预定拓展到旅游预定。
和单一的旅游预定系统相比,GDS优势非常明显:首先是功能完善,所提供的产品囊括所有的旅游产品类型,游客还能通过GDS预定到自己需求的特别服务产品;其次是网络众多,涵盖全球,信息丰富,服务快捷。从GDS的发展过程看,GDS是由于旅游业的迅猛发展而从航空公司订座系统中分流出来的面向旅行服务的系统。如今,GDS已经发展成为服务于整个旅游业的一个产业,除了原有的航空运输业,旅馆、租车、旅游公司、铁路公司等也纷纷加入到GDS中来。经过技术与商务的不断发展,GDS已经能够为旅行者提供及时、准确、全面的信息服务,并且可以满足消费者旅行中包括交通、住宿、娱乐、支付及其他后继服务的全方位需求。因为源于航空预定,GDS系统仍然由西方主要的大航空公司控股,但系统本身却以企业化的形式进行市场运作,为获取利益而在不断拓展网络。GDS在激烈竞争中,逐渐形成SABRE、GALILEO、AMADEUS、WORLDSPAN等巨头,中国国内最大的GDS为中国航信TRAVELSKY,几乎占据全中国的市场份额,除了春秋、九元两家低成本航司未加入航信GDS,国内其它客运航司均加入航信GDS。
民航电商业务的渠道分布广泛,业务模块复杂,早年间为了系统的快速上线,积累不少技术债务,随着业务需求的不断增加,单体架构变得越来越臃肿,可维护性、扩展性受到很大影响。根据航空电商业务的特点,可将其以业务为单位进行模块拆分,再以模块为单位进行微服务化拆分。为保证服务的功能单一和独立部署,可以参考领域驱动设计的思路去决定一个微服务的边界。例如对于航空公司的航班票价查询Shopping结果的服务,可以组织相关库存查询微服务、运价查询微服务、基础缓存服务进行封装,然后对外提供一个Shopping服务。
分割后的微服务,按照小的业务单元来管理,对比与传统的单体应用架构来说开发更灵活,结合容器化部署,将对应的服务镜像化能缩短应用开发、测试、上线的时间,轻松搭建应用并快速迭代,实现对业务的快速交付。
在微服务的开发和管理过程中,服务突出表现在“小”这方面,具体表现在开发周期和团队规模都在变小、变专。结合敏捷的开发方式,迭代开发替换之前的瀑布开发,实现微服务拆分后,可以将电商业务功能点分散在各个微服务中实现,可以快速支撑响应各类应用开发,结合容器实现快速部署。
3.1. 业务井喷造成的扩容问题
航空公司作为传统的运输企业,IT基础架构相对于互联网企业而言比较落后,系统大部分还是基于虚拟化底层进行部署。开发测试环境搭建效率低下,人员成本高,各个环境隔离性差。
2000年后航司开始陆陆续续建立官方网站进行买票,2016年,移动端平台成为航司的客票销售和旅客服务的巨大服务,然而随着电商业务急速增长,电子商务系统的架构面临重大压力。在频繁的各类线上营销活动中系统经常出现服务器性能瓶颈,容量预估不到位,需要实时进行服务容量扩充等问题,平台需要做到具备极强的稳定性和自动弹性收缩能力,而原有的传统开发模式和软件开发模式早已无法满足现有的需求。
3.2. 容器平台助力航司电商业务
提高开发测试流程及环境搭建效率
从研发测试环境来看,使用镜像构建各类系统资产,建立分级、多集群的镜像仓库,标准化交付流程,做到配置与镜像分离,隔离底层操作系统的差异,实现业务的快速测试、部署和上线,提高了研发和测试效率,减少环境维护成本。
根据业务压力自动扩缩容,保证业务集群稳定运行
站在线上系统的角度来看,需要在极短时间内支持扩容,以便分流高峰访问流量。典型的应用场景如电商中的会员日活动、优惠券、红包、机票秒杀等活动,容器平台提供了瞬间扩容能力,解决系统弹性扩展的及时性和精确性问题,避免因为系统卡顿或者流量造成宕机而丢失用户,将IT基础设施资源的利用率与访问流量逐步匹配。
智能运维平台,自动部署和更新业务系统
容器平台面向企业用户提供应用开发、测试、部署、运维全方位服务能力,支撑企业基于Docker技术的应用和Devops流程的落地,满足航空公司灵活便捷、易于扩展的应用运维场景,提高运维效率,降低运维成本。
案例
目前国内航司落地较好的案例可以参考厦门航空基于某容器管理平台的电商中台的升级。
作为厦航电商战略的支撑平台,厦航电商中台支撑了厦航所有的线上销售渠道,包括各个直销以及飞猪等OTA渠道,最终目标是要以机票为中心,打通全链条的航空附加服务,提升业务服务水平,全面满足不同类型的乘客在不同时期的各种需求。
面对每天高达上百万次的业务请求量,厦航电商中台需要做到极强的稳定性和自动弹性伸缩能力,能够快速部署应用、增加资源利用率的容器技术显然是一个最佳选择。2017年初,厦航启动了电商中台容器云平台建设项目。据厦航电商开发负责人介绍,当时国内各家容器厂商的产品完成度参差不齐,通过测试选择了某厂商的容器管理平台,底层基于K8s。在与其合作中,厦航将其电商业务作为试点进行开发模式改变,交付模式转变,应用容器化转变后部署在容器管理平台上。仅仅用了半年的时间,厦航电商中台成功完成了与厦航官网、厦航微信和阿里飞猪等重量级渠道的对接。如今,厦航电商中台已承载了所有的直销和OTA渠道。
随着民航电商业务的快速发展,以消费者为核心的快速挖掘市场需要主导业务发展。产品人员、开发人员、测试人员、运维人员各自用各自的工具来支撑日常工作,缺乏统一的平台,相互之间的信息不一致,造成信息差严重。开发完成之后,多个角色进行构建、扫测试、部署、发布、中间衔接耗费的时间长、手工操作易出错,导致交付效率低,问题频出。各种数据分散在各个工具中,缺乏有效机制收集项目的执行过程数据、跟踪项目的执行情况,想改进优化无从下手。
航空业的痛点主要是项目交付周期长,并行需求多,项目环境争用频繁,多版本环境管理诉求大;缺少面向微服务快速交付的一套研发管理平台,而且各公司未建设自动化体系。
航空企业DevOps转型的是通过工具用技术推动业务的不断创新,质量防控包括做质量内鉴,项目需求质量闭环;资源全景包括团队资源的重点投向及各个角色的协同,团队能力的提升主要是纵向能力专家的培育,如自动化、性能等。
在航司传统的模式中,相关业务信息仅共享于软件开发各阶段内部,跨阶段信息传递出现断层,如业务类信息、编译信息无法传递到运维阶段,运维部署信息需要人工反馈到开发,很难整理出相对完整的整体执行记录。采用DevOps协作以后,通过工具平台的驱动,实现优化协作调度的效率,提升协作效果。
全自动协作调度
全自动的协作调度主要是通过DevOps平台的流水线引擎实现,通过流水线编排的实现指定作业流自动执行,执行过程中自动完成不同阶段的信息交互,过程无需人工参与。
简化的协作调度
简化的协作调度也是通过DevOps平台的流水线引擎实现,在流水线作业流中编排需要人工干预的节点,但仅需要人工给出通过/终止等简单的指令型信息即可。
基于事件的协作调度
基于事件驱动的协作调度,主要是用于“人与人的活动”,也可以用于“人与机的活动”,其通过通知、待办等事件方式,实现精准的信息共享与推送,驱动协作的下游方快速接受和推进事务工作。
DevOps实践中的协作调度的效果可以通过研发效能来进行初步的评估与衡量,通过衡量,我们可以较为清晰的获知哪个阶段的协调调度是关键阻碍点或可以进一步优化。Devops打破了流程与部门的屏障,通过共享信息实现高效协作;过程中的自动化消除了重复性的工作,降低人为风险;业务系统与DevOps平台的数据支持精准提供优化的方向。通过DevOps实现软件生命周期的业务流与作业流的一致与顺畅,加速了民航电商业务的快速落地。
案例
九元航空流程绩效项目Devops与容器云实践。九元航空流程绩效项目是一个内部管理项目,横跨了订单系统、运控系统、库存系统、运价管理、OA系统等多个核心运营支撑系统,将业务数据与内部管理流程打通,以运营实际效果综合考量航空公司的整体运营水平,以数据驱动流程,用流程驱动绩效的业务模式开展系统建设。
整套系统基于SpringCloud技术栈,采用kettle进行各类数据抽取、清洗、转换,采取使用Devops采用容器化进行应用程序部署。项目的Devops环境主要分为5个主要环节:1、代码质量审核环节;2、代码编译打包环节;3、镜像打包推送环节;4、镜像自动化部署环节;5、结果推送,所有环节使用pipeline进行连接处理。
在代码质量环节之前,各模块负责人对代码首先进行codereview,而后在代码打包中,将代码传到sonar中进行审查,结合sonar中的代码审查报告,逐步消除代码中所存在的bug和bad tast。
编译打包环节采用常用的maven打包构建,在root pom中进行了各类不同环境的注册和配置中心的配置,程序打包时只需要通过参数-P即可实现不同环境的动态切换,无需改动任何程序配置代码,同时打包限定程序镜像的namespace,以防止镜像推送到错误的镜像中心。
镜像中心采用了Harbor的主从高可用模式,挂在大容量存储,镜像中心使用定时任务轮询定期归档过期的镜像文件,在Harbor中只存储最近1个月的镜像版本,充分节约镜像中心的存储空间。
应用程序基于k8s底层部署,通过实现配置好yml文件,保证各服务的合理编排,调用k8s完成部署动作以后使用邮件推送发布结果到项目组邮件列表完成整体发布的闭环。
5、技术升级换代给航空业带来的挑战
传统航空公司是运营性质的公司IT技术是非主要业务,不难看出,传统航司的核心IT系统都是依赖于外部IT厂商的供应,而航空电子商务系统通过将近10年的发展让航空公司在这方面相互间的差异正在变小。因此,航空公司的数字化能力在IT系统角度看,各公司的水平又似乎回到的同一个起跑线上。因此,在未来的10年时间里,航空公司必将在AI(人工智能)、大数据、云计算三个方面不同程度的应用而实现服务的差异化。
首先从AI方面看,人工智能在航空公司的应用大有前景。目前,很多机场和航空公司已经开始运用人脸识别技术改进旅客登机体验,智能语音客服已经开始在呼叫中心渠道投入使用,文字机器人客服也在网站、微信、APP等渠道运用;部分机场和航空公司在旅客值机区域、贵宾厅等地方引入实体机器人,在旅客办理正常的业务同时也为旅客带来愉悦的旅行感受。在航空公司内部管理来说,可以通过建立库存控制AI模型,判断市场状况,对机票的仓位销售进行控制,通过AI模型分析气象数据,预判航班因为天气问题而可能造成的延误,提前布局旅客保障工作,提升旅客乘机体验;在未来停机坪上的摆渡车、加油车、餐车、清水车、污水车、行李车等通过无人驾驶技术的辅助,能极大提供机场的运行效率和地面运行的安全性同时也能节约航司运营成本,人工智能技术的运用将航空公司和机场从信息化时代带入人工智能时代,这方面的提升空间令人神往。
其次,从大数据角度来看,目前大数据在航空公司得到了初步的应用。越来越多的航空已经意识到了数据资产给航空带来的附加值。例如对于飞机QAR数据的处理和分析,可以对飞机飞行过程进行多维度的分析,改进飞机的操控方式,提升飞行品质从而带来更好的旅客体验。在电商领域,对大数据的收集、处理、运用能力将成为航空公司营销管理能力的核心,不同航空公司之间即将因此产生营销能力方面的差距。围绕旅客行为的大数据,形成用户画像,能针对不同的旅客画像做好对应的营销方案,提高旅客对衍生产品购买和二次销售的机会。
最后,从云计算角度来看,云计算目前正在被越来越多的航空公司使用。一些航空公司出于成本的考虑,正在推行“去数据中心”战略,全面拥抱公有云。2016年12月28日,春秋集团和阿里巴巴集团签署战略合作协议。双方将基于各自的主营业务和资源,全面深化战略合作,合作领域包括机票业务、目的地业务、会员与积分服务、云计算与大数据、支付与信用等。通过建立密切的战略合作伙伴关系,充分发挥各自行业优势,共同促进双方的业务发展和产品延伸。公有云的加入能支持其电子商务系统的运行,从而获得更高的性能,更好的解决不同区域访问速度的不一致的问题。就云供应商而言,云供应商正在着力研发人工智能、大数据的开发平台,甚至能提供很多带有业务功能的云端平台,充分低成本地利用这些云端的应用也是航空公司云化的重要方向。
总结而言,航空行业发展到今天,各家航空公司的数字化水平正在逐步趋于统一水平线,而重新让各家航空公司产生差异化的动力,将来自于对ABC三驾马车的应用。因此,未来航空公司的转型升级从数字化变为以AI、大数据、云计算应用为核心,能快速落地ABC技术的航空公司将在一些特定业务领域处于领先地位,从而让航空公司在竞争中脱颖而出。