数十年来,四项工作始终让 DevOps 团队倍感压力:提升软件运行速度、降低软件成本、保障软件安全性,以及加快上市时间。但在工程资源有限的情况下,使用 Java 的企业必须寻找方法,以加速应用程序创新,并更高效地构筑整个 Java 环境中的应用程序安全性。这样做将获得巨大的回报(反之将耗费巨大成本),麦肯锡开发者速率指数 (DVI) 排名前四分之一的公司与排名后四分之一的公司相比,绩效遥遥领先:
- 增长速度快 4 到 5 倍
- 创新得分高出 55%
- 股东总回报率高出 60%
- 运营利润率保持在高出 20% 的水平
DevOps 生产力面临的两大挑战是:由不受控制的漏洞误报导致的警报疲劳,以及对遗留代码库中未使用代码的不必要维护。由于许多大型企业混合使用多个 JDK 发行版和 Java 版本,这种复杂组合使云原生环境代码库的现代化变得更加棘手。
Azul Intelligence Cloud 有助于提高这些 DevOps 运营的效率,使这些针对 Java 应用程序的 DevOps 计划得以实现,甚至成为普遍做法。
Azul Intelligence Cloud 的优势
解决警报疲劳 | 注重实质,而非应急演练 |
---|---|
利用来自 JVM 的独特信息消除误报,并确定积压任务的优先次序,以重点关注正在使用的易受攻击代码 | 持续监测新出现的关键漏洞被利用的情况及位置,从而节省时间并最大限度地减少 Log4j 等事件造成的中断 |
摆脱技术债务 | 历史分析 |
---|---|
精确定位将在生产环境中运行的代码,让 DevOps 团队能够轻松查明并移除不运行的代码,从而减轻针对未使用代码进行维护和升级的负担。 | 通过保留代码的使用历史记录,为集中取证工作提供支持,确定易受攻击的代码在被确认存在漏洞之前,是否已遭到利用。 |
Intelligence Cloud 的设计目标在于,通过 Code Inventory 和 Vulnerability Detection 功能帮助工程经理有效应对技术债务和安全维护的挑战。而现在,Intelligence Cloud 带来了一项激动人心的新进展,那就是它可适用于任何 Java 供应商的任何 JVM。无论您使用的是 Azul、Microsoft、Red Hat、IBM、Oracle、Eclipse Temurin 还是任何其他 Java 提供商的 JDK 发行版,Intelligence Cloud 都能为您提供服务。
通过 Vulnerability Detection 消除 CVE 误报
Azul Vulnerability Detection 是一项云服务,可准确识别并优先处理生产环境中 Java 应用程序中的已知漏洞,从而消除误报。与其他工具不同,它不会对性能造成影响。安全扫描器会报告所有代码(包括存在但未被使用的代码)中的漏洞,而 Vulnerability Detection 则不同,它会精确定位在生产环境中实际运行的代码,从而有效地确定积压任务的优先次序,重点关注正在使用的易受攻击代码。负责确保应用程序安全的 DevOps 团队可以将注意力集中在真正的威胁上,无需在从未运行的代码上浪费时间。
团队可以利用 Vulnerability Detection,根据组件是否在生产环境中加载,提高或降低 CVE 的优先级。Intelligence Cloud 现在更进一步,解决了与未使用代码相关的问题:我真的需要这些代码吗?
通过 Code Inventory 查找未使用代码
Code Inventory 可识别公司服务器中存在但未运行的代码。这是一个冗余代码查找器。它是唯一一个能够准确识别未使用代码和僵尸代码的解决方案,可以精准地详细列出正在运行的自定义代码和第三方代码,从而帮助确定要移除的代码。
优先处理本应移除的未使用代码是一种低效行为,将浪费精力,阻碍敏捷性,而且非生产性代码的维护任务还将降低开发者生产力。
通过 Code Inventory,我们识别出了大量未使用代码,并将其归档,现在,我们可以将时间花在最重要的部分。这显著加快了我们的开发周期。
领先金融科技交易公司的 Azul Intelligence Cloud 用户
Goldman Sachs 的 DevOps 组织最近开展的一项研究强调了删除未使用代码和僵尸代码的重要性,该研究显示:
- 他们在最近一个项目中将代码库规模减少了 67%
- 他们可以将产品发布频率提高到每年 250 次以上
- 通过缩小代码库规模,并在测试中增强信心,可以节省时间,并为其他投资提供机会
对于许多软件工程师来说,在过去十年的快速功能设计中,他们积累了大量自己的代码。这些代码的作者经常更换团队,或者业务所有者选择优先考虑功能,而非减少技术负债。一些应用程序的功能交付速度已经放缓,这给软件工程师创造了充满压力的工作环境。有时候,看似可以快速完成的小更改会占用整个冲刺阶段的时间,导致工程师和利益相关方感到不满,因为双方都希望能加快进度。
一家领先金融科技交易公司的 Azul Intelligence Cloud 用户最近对我们说:“我们最近收购了另一家公司,对他们的代码库不熟悉。它包含数百万行代码,而阅读和理解这些代码需要数月时间。通过 Code Inventory,我们识别出了大量未使用代码,并将其归档,现在,我们可以将时间花在最重要的部分。这显著加快了我们的开发周期。”
Code Inventory 以被动方式为在应用程序中运行的代码建立清单,从而提供帮助。该清单的构建方式是记录每个方法的首次执行。当应用程序运行时,随着时间的推移,方法会被调用并记录。团队无需专门花费时间查找僵尸代码或未使用代码。该清单可以包含后续查询,以评估哪些代码运行过,以及首次/上次运行的时间。从未运行过的方法存在于源/字节码中,但不存在于代码清单中,因此会被认定可以弃用或移除。
Code Inventory 最好长期使用,运行时间越长,越能帮助团队建立信心。通常,应用程序所有者已经意识到,有些代码未被使用,但希望得到验证,确保安心。在决定是否要弃用和移除代码之前,可以在较短的时间(比如几周)内进行这种初步观察。执行周期最长的代码可能涉及年度报告模块,团队应监控其执行情况。例如,购物门户网站可能需要经历重要的年度假期时段,才能了解哪些代码可以安全地弃用和移除。大部分可以在几个月内确定。但总体而言,这样做的好处是,团队可以在不影响标准功能运作和日程安排的情况下,被动地建立“仍在使用的代码”列表,从而识别“不再使用的代码”。
立即试用 Azul Intelligence Cloud
Intelligence Cloud 可与任何供应商或发行版(包括 Azul、Oracle、Amazon、Microsoft、RedHat 和 Temurin)的任何 JVM 配合使用,从而在企业的整个 Java 环境中大幅削减不重要的任务所耗费的时间。它使开发者能够腾出时间,参与更重要的业务活动,并提高 DevOps 生产力。尝试 Intelligence Cloud,以及其中包含的 Vulnerability Detection 和 Code Inventory 功能,确定它是否适合您的业务。