起初的费时费力
时间:2022-04-19 13:03:01 | 来源:行业动态
时间:2022-04-19 13:03:01 来源:行业动态
这是超大型地区银行KeyBank将每季度向生产环境部署缩短到每周部署的历程。在这个过程中,我们全部采用开源软件从WebSphere迁移到Tomcat,并使用OpenShift作为私有Linux容器云平台。并且是在数字渠道现代化项目中做到这一点的,这是银行在当时最重要的项目。
数字渠道现代化项目的基本诉求,是将以Servlet为基础、在内部MVC框架之上开发完成,并在Java 1.6以及WebSphere 7.x上运行长达15年之久的Java Web应用程序迁移至更为现代的Web体验,由此创建一款新的移动Web应用。
经过长久的发展扩张,KeyBank银行原有Web应用程序的维护成本、特别是针对实际SLA要求的调整开销越来越昂贵。这是一款典型的单体式应用程序,而我们的架构升级目标在于创建新的API层,借此将表示逻辑(Web或移动)与业务逻辑拆分开来。很明显,要达成这项目标,我们首先需要实现持续集成与部署流程的全面现代化。
我们最初只能按季度发布新功能,整个发布过程费用昂贵、任务艰巨。之前的发布方式可以说充满了仪式感我们还专门整理出一份Excel电子表格,其中囊括约70项手动操作步骤。因为费时费力,工作只能在周末完成,抢在周一上午之前让系统恢复在线状态并进行常规业务处理,这给我们带来了巨大的压力。
为此,我开始研究像谷歌、亚马逊、Facebook等科技巨头是如何管理自己的功能发布工作。很幸运,我有机会参加Netflix的运营方法研讨会。事实证明,从任何一项功能发布指标来看,如频率、成本、代码完成时间以及代码生产部署时间等,这些组织的效率能比我们高两到三个数量级。
于是,我决定把交付频率从季度发布转化为每周发布。坦率地讲,我对这个目标没有太认真地考虑,但我一直将它牢记在心。