借力DevOps,日本软银如何抢占先机?
和大家耳熟能详的任天堂、索尼、东芝一样,日本软银是一家巨无霸级企业,堪称互联网帝国幕后王者。二十年间,投资超过全球六百家企业,其中就包括雅虎、阿里巴巴、盛大、网易等。为了推进投资战略并不断拓展新的业务领域,其旗下子公司软银电信正利用人工智能、物联网、机器人技术等,建立更多创新服务,这些服务由多达800套系统提供支持,整个开发、维护与操作体系覆盖近5000位内部及合作方工作人员。
软银集团对于快速、高效的系统开发需求正在迅速增长,为了满足这种不断变化的需求,软银电信决定启动一项系统开发平台计划(以下简称GIP战略),希望借此建立起更为高效的服务基础。此外,该公司IT部门还着手推进运营改革,希望在将开发成本降低一半的同时,让生产效率提升一倍。信息技术部平台开发总监Toyofumi Yamashita表示,“我们GIP的战略重点,在于使用新架构满足整个IT部门对于新型开发方法的不断追求。新系统提供的开发资源将以分布方式支持新业务增长,而我们则需要在朝这个目标不断努力的过程中保持良好的服务水平。”
不过,在大型企业环境中提高开发生产力绝非易事。目前日本软银的大部分项目仍在使用瀑布式方法,也就是按顺序依次完成不同任务与流程,之后再推进下一步,开发人员更像是“流水线上的工人”。遗留系统带来的沉重维护负担,也让开发人员难以专注于处理更有价值的工作。
为此,软银电信决定引入技术合作伙伴以协同开发GIP战略,由此迈出快速转向DevOps的脚步。
牵手红帽,建立容器与DevOps技能储备
为了建立DevOps与敏捷化工作流程,软银电信决定与开源解决方案供应商红帽开展合作。其实在此之前,软银多年来一直在内部系统开发中使用红帽产品,包括Red Hat Enterprise Linux 与 Red Hat Middleware。这次合作,软银希望向红帽“取经”,学习采用DevOps的各个关键步骤,包括敏捷化、持续集成与交付(CI/CD)以及自动化测试等。经过初步培训,软银把个人客服管理(简称PAM)作为DevOps的试水场景,PAM是一套面向应用程序的管理系统,用于自动响应店内客户的实时查询。
为了更好地支持其全新DevOps功能,软银扩展了原有Red Hat软件环境,向其中引入包括Red Hat OpenShift Container Platform在内的其他产品。OpenShift Container Platform由软银自有数据中心进行部署及维护,可存储该公司的各类应用程序服务、提供动态存储配置,并通过多租户与打包镜像为不同团队及应用程序提供支持。这些镜像不仅支持对单一容器功能进行变更,同时也可配合红帽的软件与服务显著提高敏捷性与生产力。
要成功采用DevOps,一大前提在于广泛引入容器机制。但软银在容器使用方面缺乏经验,相关技能也不够完备。如果从零开始自主尝试,肯定无法满足PAM项目的时间规划。在这方面,红帽组建起一支拥有多种专业背景的技术团队,在他们的支持下,软银很快了解到OpenShift的使用方法并极大提升了开发效率。同时,红帽还为每个DevOps团队指派了专家,确保软银能够成功采用并不断尝试新的、协作水平更高的工作方法与容器知识。 软银平台推广团队成员Takuya Sasaki表示,“如果没有他们的帮助,我们根本不可能在短时间内快速适应DevOps方法。”
完成了敏捷性与DevOps工作方法的初步普及,软银方面做好了全面协作的准备。基于Scrum的开发流程使,团队成员可以随时共享自己的工作状态与时间表,确保每位参与者都能深入理解项目状态,进而为其他更深层次的协作创造机会。“我们培养起良好的合作精神,每个人都真正感受到自己在推动项目发展中扮演的角色与发挥的作用。”Takuya说。
通过迭代方法及模块化技术提高部署频率
凭借响应性更强的技术选项与工作方法,软银团队得以迅速收取反馈,并根据需求调整项目及代码。例如,自动化与CI/CD机制帮助团队减少了代码测试方面的大量重复性任务。采用OpenShift Container Platform,软银方面还得以在多种独立环境中通过受支持的代码库打包各类应用程序。这种隔离机制确保任何单一应用程序的变更都不致影响到其他应用程序,由此加快了开发流程中的迭代与测试速度。
凭借这些变革,软银开发团队在PAM项目开发期间,得以将每两周发布1次的频率提升至每两周发布118次。
随着PAM项目的成功,软银信息技术部门的其他开发团队也开始采用DevOps工作方法。软银电信信息技术部平台开发平台推广经理Aya Sugimura表示,“着眼于未来,软银计划在超过半数系统的开发工作中使用DevOps方法,而我们则开始考虑在整个IT生命周期之内全部实现系统流程自动化。”
放眼未来,软银还将进一步建立跨部门任务团队,提升DevOps与相关技能水平。Toyofumi总结道,“通过与红帽联手推进的PAM项目,每位开发人员都开始将项目质量与工作效率视为自己的核心诉求。我们则希望借PAM的成功,把DevOps确立为我们新的开发实践标准。”
结语
作为合作伙伴,红帽助力软银掌握最佳实践,并决定将DevOps纳入其个人客服管理(PAM)项目。软银电信还将Kubernetes与Red Hat OpenShift Container Platform结合起来作为其应用环境基础,进而提高开发人员生产力、协作性与部署频率。