客户成功故事:加速全球银行业的DevOps
JFrog如何帮助一家国际银行提高软件质量、加快部署并满足法规遵从性
作为一家在其亚太国家拥有数十亿美元资产的金融机构,这家国际银行每天都有大笔资金处于危险之中。多个软件开发团队为包括web、移动和服务点在内的平台提供前端和后端应用程序。在这个高度监管的行业中,合规失败的后果可能从客户赔偿到数百万美元的罚款,甚至是吊销执照。
“我们有大约3500名活跃用户,已经积累了超过110 TB的数据,并以每月3 TB的速度增长。”
该银行的目标是在整个组织中通过最佳实践的共同开发管道实现软件生产的现代化,即使同时容纳了一组不同的编程语言、包类型,并构建为近5000名程序员、测试人员和操作工程师服务的生态系统工具。这些方法必须产生可靠、安全和合规的结果,同时为银行工作人员和国家监管机构的法医分析提供多年的可追溯性。
该银行通过JFrog Artifactory通用二进制存储库管理器支持的包、二进制文件和元数据的有效管理,以及使用JFrog Xray来帮助确保所有部署的应用程序都没有已知的关键漏洞,从而实现了这些目标。
“x射线与Artifactory紧密结合,它给我们带来了好处,可以阻止大量进入银行内部的易受攻击的图像。”
这种现代化的成功还将为银行提供机会,开始将其二进制管理从本地服务器迁移到本地服务器具有成本效益的计算环境在公共云中,并将不活跃的数据移动到云归档存储,以遵守严格的数据保留要求。
申请演示行业
零售及商业银行业务
公司
超过30,000名员工
超过800万客户
管理资产超过6000亿美元(相当于美国)
《福布斯》全球2000大上市公司前200名(2021年)
结果
通过对包和二进制文件的有效管理,JFrog使国际银行能够:
-
- 速度发展通过共享包和工件,同时减少外部网络流量
- 更频繁地交付支持应用程序的日常部署和更新
- 加速云原生开发使用私有Docker和Helm注册表
- 阻止具有严重漏洞的应用程序从部署到生产
- 遵守规章制度用于授权、测试和数据保留
- 迁移到云端没有停机时间,可扩展性和最佳的OpEx/CapEx平衡
解决方案
JFrog Artifactory
JFrog x光
JFrog是如何成功的
在银行进行现代化工作之前,软件开发团队选择了他们自己的工具集,从而产生了验证质量和交付版本的多语言过程。
该银行通过一套横跨整个企业的DevOps最佳实践来使其软件开发过程现代化。他们试图提高质量,排除关键漏洞,同时更频繁地向越来越多的台式机和设备提供软件更新。
一旦成功到位,这些实践产生了快速增长的数据量,给老化的内部部署系统带来越来越大的压力。银行需要一种方法,以经济实惠的方式归档数据,并将活动业务迁移到云端。
以下是JFrog如何帮助该银行取得成功:
真理的唯一来源
一旦安装了JFrog平台,管理层要求银行中的所有系统用户必须使用Artifactory来存储他们的包、工件和二进制文件。虽然Java和JavaScript是主要的语言,但Artifactory最终被用于20多种不同的包类型,包括Maven、Docker、npm和Gradle。团队通过Artifactory中的数千个存储库在整个银行组织中共享专有包。
- “所有用户都被要求必须使用Artifactory来存储二进制文件。”
外部存储库的代理
为了减少外部网络流量,银行的系统管理员已经在Artifactory中建立了远程存储库来代理所有外部存储库资源,比如Maven Central、npm和DockerHub。2022世界杯阿根廷预选赛赛程这有助于团队在本地不间断地访问经常使用的依赖项,甚至在连接中断期间,并防止对那些推入外部存储库的依赖项进行不适当或恶意的覆盖。
- “我们使用远程存储库作为所有外部回购的代理。我们代理npm、Maven Central和DockerHub。”
推广不可变构建
银行的每个软件构建都必须经过三个评估阶段,从构建到验证,最后到发布。当构建通过测试时,其不可变的二进制和元数据将从一个阶段存储库提升到下一个阶段存储库。只有质量经过检查并提升到最终版本存储库的构建才会部署到生产环境中。
- “我们有一个不构建或覆盖的政策。每次他们做出改变,就必须推出新的版本。”
- 提升为验证的构建在测试环境中进行测试。当他们百分百满意时,就会投入制作。”
- “所有的部署都是通过我们的发布回购来完成的,所有团队都必须这么做。”
基于角色的权限
使用JFrog平台的细粒度权限控制,银行的系统管理员维护服务帐户,根据他们的角色限制对存储库的访问。
- “他们的权限主要是发布、推广和部署,这就是他们所做的一切。”
- “开发者可以推动构建,推广只是为了验证。支持可以从验证提升到发布,并且只能从发布部署。”
与构建生态系统集成
银行不使用集中式构建系统;银行的开发团队选择自己的CI/CD工具,并在自己的服务器上运行它们。使用JFrog插件、JFrog CLI和REST api,这个多样化生态系统的所有部分都被授权将生成的构建和元数据推送到银行中央Artifactory部署的存储库中。
- 大约80-85%的团队都在使用Jenkins,每个资产都有自己的Jenkins、Bamboo等等。
加速云原生开发
Artifactory对Docker和Helm的原生支持有助于加速银行采用基于容器的微服务架构。使用Artifactory中的私有Docker注册表,银行的开发团队可以在组织内分发和共享容器映像。
- “在我们110tb的数据中,Docker就有50tb。”
堵塞漏洞
使用JFrog Xray中的策略和监视,银行扫描关键存储库,标记具有已知漏洞的依赖关系的二进制文件,并防止它们部署到生产系统中。
- “x射线与Artifactory紧密结合,它给我们带来了好处,可以阻止大量进入银行内部的易受攻击的图像。”
高可用性扩展
银行通过Artifactory和Xray的高可用性部署,在自我管理的集群中使用一组负载平衡的冗余实例,确保其任务关键型存储库管理器的响应性。
- “我们有大约3500名活跃用户,已经积累了超过110 TB的数据,并以每月3 TB的速度增长。”
神器冷库
在三年的成功生产之后,银行已经在Artifactory repos中积累了超过110 TB的包、工件、二进制文件和元数据,并继续以每月3tb的速度增长。监管要求要求所有数据在较长一段时间内保留。每天索引这么多数据,尤其是x射线扫描,需要很长时间才能完成,这会影响工作效率。
使用Artifactory的Artifact Cold Storage特性,银行能够将80tb的遗留数据(占总数的70%以上)归档到低成本的AWS Glacier云存储中,同时保持持续的可追溯性。在只有30tb活动数据的情况下,Artifactory和Xray性能得以恢复。通过Artifactory,该银行计划对过去12个月未动过的所有数据进行自动归档。
- “就在一年前,它每月只增长2 TB,现在是3 TB——是集装箱推动了它。”
- “我们是一个高度监管的行业,管理和控制非常严格。我们将数据保留至少7年,用于取证。”
- “我们不允许任何删除或覆盖,所以在工件树存储中有很多增长,我们的组件图是巨大的。x射线的表现更好,因为与现在的冷库数据相比,[实时]数据子集非常小。”
云迁移
在最初将Artifactory和Xray托管在银行数据中心的服务器上之后,该银行后来将业务迁移到商业云提供商的自我管理集群中。使用JFrog平台支持的混合计算模型,银行能够将活动工作负载转移到新的云环境,而对日常生产的影响最小——开发团队很少意识到正在发生的变化。
- “当我们转移到云端时,我们将所有构建和维护的技能和专业知识内包,同时仍然嵌入外包的云环境中。这样我们就能够快速迭代。”
- “我们已经从老旧的硬件和有限的容量转变为灵活的云环境,在云环境中,我们可以自动部署和构建一切,而且我们能够快速连续地做到这一点。”
最终结果:
使用JFrog平台来实现DevOps的最佳实践,银行能够现代化他们的软件开发流程,从而实现:
- 所有团队的软件开发速度更快
- 日常部署到生产环境中
- 通过容器化加速云本地开发
- 通过基于角色的访问控制执行安全策略
- 高质量的产品发布;关键漏洞被封堵
- 通过软件组件的可追溯性启用取证分析
- 自动低成本归档,以提高效率和数据保留策略的遵从性
- 具有高可用性并支持迁移到云的扩展
通过这一成功的转型,银行可以支持增长,同时确保其关键任务软件应用程序的质量。
