首页 文章详情

杰蛙科技金融领域DevOps实践分享

架构师技术联盟 | 740 2021-06-03 10:37 0 0 0
UniSMS (合一短信)



在竞争激烈的金融世界中,消费者可以在一秒钟内转换忠诚度,因此必须在各种应用程序和平台之间提供连续的正常运行时间和出色的用户体验。金融服务公司需要复杂而严格的软件开发流程来满足严格的公司和法规要求,且需要比以往更快地发布软件,从而达到期望并战胜竞争。你怎么能做到这一点?
DevOps几乎对全球所有公司都产生了影响。但这是对高度管制的环境的安全选择吗?我们已经看到,尽管最初对DevOps有一些抵触,但许多金融机构在遵循公司治理和监管控制的同时,成功采用了DevOps方法。
加入我们的金融DevOps峰会,了解瞬息万变的DevOps格局如何影响您的业务策略。我们邀请金融领域的代表企业信通院、民生银行、国信证券和东方证券的专家分享他们的经验,以帮助您迈向下一个飞跃。

  • 活动时间:2021年6月6日(周日)北京时间:14:00 – 17:00
  • 线上活动,识别下图二维码或点击“阅读原文”即可报名。


活动议程



14:00~14:30

《研发运营一体化(DevOps)能力成熟度模型》系列标准权威解读

牛晓玲 (中国信息通信研究院副主任)

14:30~15:00

《民生银行单一可信源》

王鹏 (民生银行,运维工程师)

 15:00~15:30

《基于云原生构建DevOps研发效能平台》

陈培新(国信证券,资深开发经理)

15:30~16:00

《券商DevOps落地实践之旅》

赵泽(东方证券,开发经理)

16:00~16:30

《JFrog核心功能2021》

王青(JFrog中国首席架构师)


主办方介绍



JFrog杰蛙科技在国内已经服务于华为、中兴通讯、浪潮、中国银行、浦发银行,平安银行,泰康保险,易保科技,腾讯,京东,滴滴出行等各行业上百家客户,杰蛙科技的宗旨是为企业客户提供二进制包管理、分发和安全扫描通用解决方案,从而使客户能够更快的发布软件。JFrog杰蛙科技在为全球多个行业软件开发组织提供全面解决方案,并处于领先地位。
JFrog是软件管理和分发的领先通用解决方案,适合所有DevOps需求。JFrog拥有三大产品:JFrog Artifactory(通用工件仓库管理平台)、JFrog Mission Control(全球仓库管理)、JFrog Xray(通用漏洞扫描平台漏洞扫描平台)。它们均可采用开源、内部部署和SaaS云解决方案。
JFrog客户遍布世界各地,当前全球500强中93%已经采用了JFrog的产品和服务,拥有6000多个付费客户,其中知名公司包括如苹果、Netflix、思科、谷歌、亚马逊、Linkedin、CapitalOne等。

精选实践解读



实践案例:泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

1.1 前言

TDS,TaikangcloudDevOps Service(泰康云DevOps服务平台)是整合敏捷开发与DevOps的研发管理工具,提供产品规划、项目管理、Git/Svn代码托管、Sonar代码检查、Jenkins持续集成和持续发布(CI/CD)、制品管理等能力,让复杂的研发协作更简单,帮助组织团队来完成软件生命周期管理,从而更快、更频繁地交付更稳定得软件。从需求管理到代码审查,优化开发流程,简单易用,让开发流程更高效。

  • 是一款企业级软件开发协作系统。

  • 实现细粒度的访问控制,管理 Git 存储库,确保代码的安全。

  • 实现高效的Sonar代码审查功能,协同合并请求,保障代码提交的安全性及专注性。

  • 项目中使用JIRA任务管理与代码托管无缝衔接,保障开发流程的可追溯性。

  • 文件管理、Wiki模块可记录整个项目的来龙去脉,让项目协作清晰便捷。

  • 使用Jenkins持续集成le提供安全、稳定、高效的企业软件开发协作平台,并提供Pipeline As Code的配置模式。

TDS是泰康保险集团沉淀多年的研发运营一体化支撑体系,承担着数百款业务CI/CD的使命。tds的服务支撑覆盖到人寿、健康险、车险、医疗、养老、护理等不同领域的业务,这些业务来自于自研或者代理,研发团队间的技术栈以及设计理念不同导致了架构差异性和复杂性,也给CICD应用在包交付模式和灵活的编排上提出更多的挑战。

研发与运维团队职责不同和环境差异化,在版本交付过程中版本因环境差异带来的问题,导致沟通成本非常高。研发团队在日常版本构建过程中,往往容易忽略代码检查以及安全扫描的事项,版本包外发现导致了业务出现问题等。以上种种问题,都使得CICD的产品设计理念以及如何串连各大工具链,让业务在安全保障,版本稳定,效率提升上获得到最大收益,成为了CICD设计和实践的首要任务和重要挑战。

1.2 TDS的CI/CD设计与实践

DevOps的基础是自动化,需要一系列的工具来支撑,目前业界主流方式是基于开源工具链打造稳定可靠、敏捷的CI/CD流水线;Jenkins凭借其良好的设计和强大的社区成为了我们的选择,jenkinspipeline 2.0强大而灵活,是企业级DevOps流水线实现的不二选择;虽说是研发与为一体化,然而开发团队和运维团队对流水线的需求是不一样的,研发团队偏向CI,而运维团队偏向CD,对工具链平台还有流水线的设计提出了挑战;TDS平台由原来的CI/CD融合流水线模式演进到了CI、CD可自由分离+自由组合的模式;在CI/CD分离的模式化,原有的简单FTP模式不再适应,对制品平台的管理和使用提出了更高的要求。

所以建设企业级的统一软件制品仓库成了一个必然选择,需满足企业级的高可用、多租户、多项目、安全扫描、灵活的质量阈、多组织架构人员等需求。

1.3 使用 JFrog Artifactory实现全球化仓库管理和工具链集成

企业级制品仓库需具备的能力

软件制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些二进制通常可以直接运行在服务器上;制品库(Repository Manager)用以管理源代码编译后的构建产物,支持Docker、Maven、Helm、npm、PyPI 包等常见制品库类型。制品库可以跟源代码协同进行版本化控制,可以与本地各构建工具和云上的持续集成、持续部署无缝结合,并支持漏洞扫描等特性,是一种企业处理软件开发过程中产生的所有包类型的标准化方式。

起了两方面的作用:

  • 作为外部第三方制品库的内部镜像。 

  • 发布内部开发的制品。 

软件厂商也是按照这个思路在操作,以市面上主流的产品 Nexus 的Proxy / Hosted、JFrog Artifactory的 Remote / Local Repositories,前者作为镜像后者作为内部库,但是等事情进一步复杂时,一些概念开始变得混乱。

以 Maven 为例,并不是所有的 Jar 包都是这个体系的,如 IBM DB2 的 JDBC Jar,在 Maven Central Repository 或其他Public Repository 都不存在,只能去相应厂商网站手工下载并上传至 Hosted / LocalRepository 供内部引用。

从功能上讲,这么做没有问题,绝大多数用户也是如此操作;但是无论从终端用户的使用、还是服务本身的运维,其实是将两件不同性质的事情混淆在了一起。无论是从 Proxy / Remote Repository 自动镜像,还是用手工方式下载上传到Hosted / Local Repository(可以看作手工镜像),这些制品本质上都是第三方库;而内部开发构建并发布到 Hosted / Local Repository 的制品,却是企业自己的软件资产。这两者在特性上的差别比想象中要大得多,我们最终选择了Jfrog 的Artifactory做为企业Repository Manager,其能提供强大的全栈软件支持、元数据收集、安全扫描、主流DevOps工具链支持、高可用架构等能力。

企业级制品仓库需具备的能力

为适应复杂的软件交付流程,tds团队搭建了 tds pipeline2.0,包括Git/SVN,Jenkins集群,Artifactory制品及元数据仓库,使用SonarQube做代码检查,Jfrog Xray做二进制包检查,使用tds的标准运维流程进行非容器的部署使用及Helm Kubernetes的容器部署;鉴于各事业部和业务开发团队的管理需求,tds团队利用artifactory的repos-path灵活搭建各级制品仓库,配置权限,使用snapshot-release管理制品的生命周期。

这样的好处是,Jenkins集群无需在临时存放构建物,做到了CI和CD的完全分离,构建环境更加灵活、资源利用率也大大提高,开发团队可以更加快捷的拿到历史构建物并进行版本管理,关联CI数据。QA团队可以基于构建物发起部署,挑选上线包,协作更加灵活。

1.4 总结 

本文就软件制品仓库对于DevOps交付实践的作用做了简述,实现CI/CD的完全分离和元数据的管理是构建企业DevOps平台的必由之路,这也是进行软件生命周期管理和质量分析、研发度量的基础,微服务和云原生对CI/CD提出了新的要求:更高、更快、更强;下一步泰康云TDS团队将继续加强DevOps工具链的建设和开发,对接运营体系工具:监控、链路追踪、CMDB、微服务网关等,为业务开发提供强有力的支持,基于云提供更便捷的研发基础设施。



good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter