文/张百灵
挖掘快速交付的技术核心看传统应用如何轻松上云
文/张百灵
近年来,互联网企业一直作为新技术的探索者和创新者,随着开源技术的不断发展,整体IT架构出现了根本性的变革,秒级部署、每日上线等交付方式已经形成新常态,这让很多传统企业羡慕不已,也想通过技术变革获取IT敏捷、快速交付能力。
随着云计算、容器技术、微服务架构、敏捷交付、持续集成等相关概念和技术的逐步成熟,云应用早已不是互联网企业所独享的技术优势,很多传统企业受到互联网思维模式的启发,纷纷迈出了上云的第一步,并且开始收获新技术带来的诸多成效。
本文将对粮食这样一个关系国家民生基础工程的典型传统行业,如何利用云计算技术彻底改变传统交付模式,以技术推动变革,用变革提升效率,大幅释放生产力的案例进行分析和探讨。
怡和祥云的交付团队可以在6~7天交付出一个可以供用户使用的用户程序APP,65天交付上线一套智慧仓库系统,这样的速度是否有些匪夷所思?把交付过程拆解来看,不难看发现交付过程的每一个阶段都可以按天甚至按分钟记录,见表1。那么如此惊人的速度是如何练就的呢?
表1 某APP交付各阶段时间表
步骤1:换个角度看业务,一切皆“服务”
传统应用上云的第一步是将一个完整的业务场景,通过“解耦”的视角进行服务化。从云端看业务时,一切业务场景都是由“微服务”构成的,一切业务场景全都可以通过微服务来进行定义。
业务视角:以某省储备粮的粮库管理为案例,在一座粮仓里面,为保证粮食存储期间的安全,以及保证能够追溯粮食流通过程,主要涉及以下几个方面:
货位监控:备案仓内粮食信息,并生成库存识别码;
视频监控:通过摄像头实时监控仓内情况;
环境监控:对仓内温度、湿度和气体成分进行监控;
虫害监控:自动监测仓内粮食的虫害情况。
服务视角:怡和祥云打破以往的项目模式,将粮库管理这一业务场景细化为10个独立的过程,分别对应一个微服务,由微服务拼装成智能仓库系统,如图1、2所示。
由此看见,在云上看业务时,所有业务都是由独立的微服务拼装组合而成,IT交付过程从传统的流水线式交付可以轻松变为独立的车轮,不再互相制约,加速交付速度。
步骤2:重塑组织形态,构建小而美的微型团队
虽然从交付模式说起,但是依据“康威定律”,可以发现交付模式其实是一个组织沟通形式的反应。因此要想具备上述微服务的“眼睛”,必然要具备微服务的“大脑”,即组织形态在微服务架构下必然要进行重塑。
组织形态由以项目为核心转化为以微服务产品为核心,由大组织的集中管理变为小组织的自治管理,更加敏捷而灵活,如图3所示。在智能仓库系统的开发过程中,正式采用了上述微服务架构下的组织形态,6~7天即可上线一个业务完整的小程序。
步骤3:转化交付思维,以“快”应“变”是云端的交付思维模式
在应用设计时,以微服务架构进行应用开发设计,秉承“项目不停、需求不断;持续迭代、持续交付”的原则,保证应用快速落地和持续优化。业务活动转化为功能应用过程示意图如图4所示。每个微服务都是一个独立的业务,业务人员(微服务产品经理)可随时提出需求变更,对微服务进行迭代,保证了业务流程的充分灵活性。
图1 以业务视角看业务
图2 以微服务视角看业务
图3 重塑组织形态
图4 持续交付-应用设计原则
图5 快速交付能力的核心技术
为实现敏捷、快速交付能力,其背后强大的核心技术是关键,如图5所示。下面我们将逐条解读快速交付背后的核心技术。
资源虚拟化能力:基础设施和技术资源全面云化,以服务的形式按需开通,根据负载随需扩展,实时获取业务变化,并对此作出响应,提高了资源利用率和开发效率。
分布式环境的开通和管理能力:微服务架构下,每个业务单元可以独立运行与管理,保证了高可用性。
DevOps自动化作业能力:通过工具集成与平台化管理手段,形成自动化持续交付流水线,将开发和运维融为一体,加快业务响应速度,提高交付质量。
重塑组织架构的能力:打破以往的开发形式,重构人员组织,组建微服务团队,由微服务团队对服务的整个生命周期负责,团队自治,提高了开发效率。
为保证应用具备云原生应用的特点,在应用架构设计、开发管理过程中,要严格对标原生云应用12 factor,这样能够轻松实现业务纵向扩展或资源水平扩展。此外,还能实现由平台负责处理复杂、重复的事情,使开发人员更加专注于业务应用的创新。怡和祥云在产品研发过程中,对原生云应用12factor的落地工作见表2。
怡和祥云在粮食信息化建设过程中,紧密贴合粮食业务需求,以OpenBridge平台为支撑,全面释放粮食业务价值,实现了对粮食信息化的颠覆,为粮食信息化的标准化奠定了坚实基础。在未来的发展中,怡和祥云将继续严格对标云原生应用的12要素,全面提高应用的交付速度,助力更多传统企业快速上云。
表2 原生云应用12 factor对标实践
作者单位:怡和祥云(北京)科技有限公司