【51CTO.com原创稿件】2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。此次峰会围绕人工智能、大数据、物联网、区块链等12大核心热点,汇聚海内外60位一线专家,是一场高端的技术盛宴,也是顶级IT技术人才学习和人脉拓展不容错过的平台。
在“DevOps转型之路”分会场,招银云创金融PaaS研究中心总监陈沙克带来了《招银云创DevOps实战经历》的主题分享。会后,51CTO记者根据陈沙克在WOT2018全球软件与运维技术峰会的演讲内容进行了整理。
PaaS平台的七大价值
金融行业不同于其它领域,是一个受到高度监管的行业。随着互联网金融业务的兴起,金融企业即要利用新技术来支撑业务的创新,同时又要满足监管的要求。面对Docker和Kubernetes等主流的技术,IT主管如何根据业务场景选择合适的技术,成为整个行业非常关注的热点。
陈沙克表示,招银云创之前内部开发用的都是虚拟机,部署实施也是用虚拟机运行的。这种使用虚拟机的部署开发方式,让用户对虚拟机里运行的内容并不知晓。但对于大PaaS的管理员来讲,则是非常清晰的,包括哪个容器跑了什么内容,状态如何,都能够轻松的管理起来。他表示,一个虚拟机目前能跑三四十个容器,按照招银云创的部署习惯,1比10的资源差不多才能达到这种效果。以前用上百个虚拟机才能完成构建的开发环境,现在只用十几个虚拟机就能搞定了。
因此,他认为PaaS平台有七个方面的主要价值:
1)应用环境的集中管控,降低资源和运维的成本;
2)DevOps全流程交付提供产品迭代效率;
3)运行环境快速就绪,简化资源管理;
4)自动水平伸缩,容错和自我修复,让开发人员专注于代码;
5)微服务框架的支撑;
6)推动人员架构和IT流程的变革;
7)开发流程,代码规范工具化。
以银行内部开发的一个微服务应用为例,如果跑在虚拟机上,微服务的优势就很难体现出来的。只有将它放在PaaS平台上,服务的弹性才能体现,达到当初的设计目标。陈沙克告诉记者,很多客户担心在把服务迁移到PaaS的过程中,是否需要修改代码?实际上,所有的迁移过程都不需要修改代码,只是跑在容器上,配置文件需要统一放置罢了。
选择适合自己的PaaS平台
由于历史原因,银行内部IT系统非常复杂,通常每家银行都有上百个系统,且大部分采用的是场地托管服务,系统灵活性严重不足。随着互联网创新业务的发展,客户开始提出一些定制化的需求,对银行开展新的业务带来了巨大挑战。
陈沙克表示,如果银行有100多个项目同时开发,对于采用场地托管服务的大多数银行来讲是不现实的,必须有一个平台帮助企业实现快速交付。他表示,如何选择一个适合自己企业的PaaS平台,可以参考以下几点:
1)适合自己的是最好;
2)POC很难解决平台的选择问题;
3)Kubernetes 1年4个版本,如何应对;
4)平台需要团队有掌控能力;
5)行业特点对整个架构影响很大;
6)厂商持续发展和盈利能力;
7)清晰的Roadmap;
8)主动选型。
提到招银云创的PaaS平台技术,陈沙克表示并没有重复造轮,而是直接采用红帽成熟的PaaS平台OpenShift,底层就是Kubernetes。对于这套PaaS平台是否可靠,陈沙克给出了这样的答案:“做云计算,首先就是要吃自己的狗粮。这套DevOps的工具链,第一个用户就是招银云创自己的开发部门。”
据介绍,通过PaaS平台OpenShift的使用,招银云创实现了代码规范工具化,大幅提高了代码质量,开发效率得到了明显提升,资源消耗减少。除此之外,测试人员可以对任何的版本独立进行测试,提交bug并重现bug,减少了运维人员的重复劳动。可以说,招银云创的研发已经离不开OpenShift。
虽然招银云创在PaaS平台OpenShift的使用上取得了一些成绩,但陈沙克同时表示其并不算非常完美,仍然有一些提升的空间。他表示,招银云创后续将主要从以下几个方面进行改造和提升:
一是Lstio跟进,满足各种场景应用发布需求;
二是SnoarQube深入,规则自定义;
三是深入使用Jenkins;
四是权限管理RABC;
五是身份集中认证;
六是自动化测试,Jmeter和Selenium集成。
以上内容是51CTO记者根据WOT2018全球软件与运维技术峰会《DevOps转型之路》分论坛上陈沙克的演讲内容整理,更多关于WOT的内容请关注51cto.com。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】