客户成功故事:加速全球银行业的开发运营
JFrog是如何帮助一家国际银行提高软件质量、加快部署速度并满足法规遵从性的
作为一家在亚太地区拥有数十亿美元资产的金融机构,这家国际银行每天都有大笔资金面临风险。多个软件开发团队为包括web、移动和服务点的平台提供前端和后端应用程序。在这个受到高度监管的行业,合规失败的后果可能从客户赔偿到数百万美元的罚款,甚至是失去特许经营权。
“我们有大约3500名活跃用户,积累了超过110 TB的数据,并以每月3 TB的速度增长。”
银行的目标是通过一致的最佳实践的通用开发管道,在组织中实现软件生产的现代化,甚至在容纳不同的编程语言、包类型和构建生态系统工具的同时,为近5000名程序员、测试人员和操作工程师提供服务。这些方法必须产生可靠、安全和合规的结果,同时为银行工作人员和国家监管机构的取证分析提供多年的可追溯性。
通过JFrog Artifactory通用二进制存储库管理器支持的包、二进制文件和元数据的有效管理,以及通过使用JFrog Xray来帮助确保所有部署的应用程序都没有已知的关键漏洞,银行实现了这些目标。
“x射线与Artifactory紧密结合,它给我们带来了阻挡许多进入银行内部的脆弱图像的好处。”
这种现代化的成功还将为银行提供开始将其二进制管理从本地服务器迁移到本地服务器的机会经济高效的计算环境在公共云中,并将非活动数据移动到云存档存储中,以遵守严格的数据保留要求。
请求演示行业
零售和商业银行业务
公司
3万多名员工
超过800万客户
管理的资产超过6000亿美元(相当于美元)
福布斯全球2000强全球最大上市公司前200名(2021年)
结果
通过对包和二进制文件的有效管理,JFrog使这家国际银行能够:
-
- 速度发展通过共享包和工件,同时减少外部网络流量
- 更频繁的交付,支持每日部署应用程序和更新
- 加速云原生开发使用私有Docker和Helm注册表
- 阻止具有严重漏洞的应用程序从部署到生产
- 遵守法规用于许可、测试和数据保留
- 迁移到云端无需停机,可扩展性和最佳运营支出/资本支出平衡
解决方案
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注册表,银行的开发团队可以在组织内分发和共享容器映像。
- “在我们的110太字节数据中,我认为有50太字节是属于Docker的。”
堵塞漏洞
使用JFrog Xray中的策略和监视,银行可以扫描密钥存储库,标记具有已知漏洞的依赖关系的二进制文件,并防止它们被部署到生产系统中。
- “x射线与Artifactory紧密结合,它给我们带来了阻挡许多进入银行内部的脆弱图像的好处。”
高可用性扩展
银行通过Artifactory和Xray的高可用性部署,在自管理集群中使用一组负载均衡的冗余实例,确保其任务关键型存储库管理器的响应性。
- “我们有大约3500名活跃用户,积累了超过110 TB的数据,并以每月3 TB的速度增长。”
文物冷藏
经过三年的成功生产,银行已经在Artifactory仓库中积累了超过110 TB的包、工件、二进制文件和元数据,并且每个月还在以3tb的速度增长。法规要求将所有数据保留一段较长时间。每天索引这么多的数据,特别是x射线扫描,需要很长时间才能完成,影响生产力。
使用Artifactory的Artifact Cold Storage功能,该银行能够将80tb的遗留数据(占总数的70%以上)存档到低成本的AWS Glacier云存储中,同时保持持续的可追溯性。只有30tb的活动数据,人工和x射线性能得以恢复。通过Artifactory,银行计划对过去12个月未碰过的所有数据进行自动归档。
- “就在一年前,它每月只增长2tb,现在是3tb——这是容器推动的。”
- “我们是一个受到高度监管的行业,受到非常严格的管理和控制。我们会为取证保留至少7年的数据。”
- “我们不允许任何删除或覆盖,因此工件树存储空间有很大增长,我们的组件图非常庞大。x射线表现更好,因为与现在的冷存储相比,(实时)数据子集非常小。”
云迁移
在最初将Artifactory和Xray托管在银行数据中心的服务器上之后,该银行后来将业务迁移到一家商业云提供商的自管理集群上。使用JFrog平台支持的混合计算模型,该银行能够将活跃的工作负载转移到新的云环境中,而对日常生产的影响最小——开发团队很少意识到正在发生变化。
- “当我们转移到云端时,我们将所有构建和维护的技能和专业知识内包,同时仍然嵌入外包的云环境中。如此我们便能够快速迭代。”
- “我们已经从老化的硬件和有限的容量转向弹性云环境,在那里我们部署和构建所有自动化的东西,我们能够快速连续地做到这一点。”
最终结果:
通过使用JFrog平台实现DevOps的最佳实践,该银行能够实现其软件开发流程的现代化,从而实现:
- 跨所有团队的更快的软件开发速度
- 日常部署到生产环境中
- 通过容器化加速云原生开发
- 通过基于角色的访问控制强制执行安全策略
- 高质量的产品发布;阻断关键漏洞
- 通过软件组件的可追溯性启用取证分析
- 自动低成本归档,提高效率和数据保留策略遵从性
- 通过高可用性进行扩展,并支持向云的迁移
通过这种成功的转换,银行可以支持增长,同时确保其关键任务软件应用程序的质量。
