随着虚拟化技术的发展,金融行业尤其很多银行业已经完成了虚拟化的进程(多数均采用vsphere技术),这种虚拟化技术一定程度上降低了运维的复杂性和提升了资源的使用率,但是随着技术的发展,这可以视作是IaaS层云技术的发展。同时银行业的业务系统研发也面临如下问题
1) 应用系统的基础软件多为复杂的商业级软件,应用真正使用的功能只占商业软件所有功能的一小部分,比如应用服务中间件,在以spring等开源框架为主的研发下,很多java ee的规范协议并未用到。用较多资本购买的软件可能其基本功能即可满足所有需求,同时这些软件一般系统架构比较复杂,学习曲线陡峭且安装部署复杂,缺乏灵活性;
2) 应用系统规模越来越复杂,庞大的部署架构模式使得应用的安装、部署和更新也相对比较复杂,使得业务停机时间和部署成本都有所增加;
3) 面临互联网金融等多种形式冲击下的市场竞争,业务部门的需求变化越发频繁,同时也希望研发部门的软件交付周期越来越短;
4) 以vsphere为代表的虚拟化技术,同样面临硬件使用率相对较低、资源分配调度相对缓慢等问题。
对于IT部门来讲,如果解决这些问题可以更好的解决研发部门和运维部门的生产力,从而更加高效的为业务部门服务,从而更好的提升业务价值。随着容器技术的发展,容器云平台能够从技术层面切实解决IT部门面临的这些问题,容器的主要好处有
1) 持续部署和测试:容器能够实现build、ship、run的理念,build的最终交付物可以是容器的镜像,从而更好的与devops的研发理念契合,更好的实现CI/CD,从而更好高效的进行应用的研发、测试和发布;
2) 平台中立性:容器可运行在多种云平台环境中,比如AWS、Azure、openstack等,这种避免厂商绑定的方式,可实现对企业已有异构基础资源的统一化管理,这种统一管理应用的模式屏蔽了环境差异性,降低系统运维难度;
3) 运行环境的标准化:容器镜像实现运行环境的标准化,从而保证不同运行环境的一致性,较好避免因为基础环境差异性带来的潜在风险和问题,同时相较于“代码”管理,可实现“代码+运行环境”的版本管理
4) 提升资源利用率:容器是基于操作系统的轻量级虚拟化技术,与传统的虚拟技术相比,多容器可以共享操作系统的内核进程和内核资源,从而有效节省操作系统级资源开销, 通过容器密度的提升更好的利用资源
5) 镜像仓库管理: 镜像仓库通过对应用镜像的集中管理可实现类似应用商店的功能,有利于更好的沉淀和积累企业软件资产,从而更加快速高效的提供各种运行环境。
银行建设容器平台需要先考虑适合自身的业务场景。总体来说,我们建设容器平台是希望在以下几个方面带来提升:
快速应对资源扩容和调配:对于理财产品预约、以及配合电商促销活动所需的支付需求等进行灵活、快速的资源准备和调配
微服务架构应用:对于有快速迭代、业务功能灵活编排等需求的新业务,采用容器平台更好地发挥微服务架构的优势
资源节省:对于非关键性业务,或开发测试环境中使用容器替代传统虚拟机,实现资源节省、不用时快速回收、申请时快速供给的目标。从整体上降低成本
标准化应用的部署和交付:采用容器镜像的方式,屏蔽应用部署过程中针对不同环境需要的环境配置、安装步骤等复杂过程。把原先部署、配置的运维工作提前到开发交付阶段,在制作镜像的阶段解决运维上线中出现的问题