Wipro 使用 Quarkus 应对零售业的剧变

零售商正在积极采用云技术,以跟上不断变化的客户需求、季节性需求以及日益激烈的竞争。像亚马逊这样的数字零售商正在颠覆这个行业,零售商正在寻找通过技术保持竞争力的方法。
零售商正在对云软件平台的收购和采用进行大量投资,而 Quarkus 正在帮助像 Wipro 这样的系统集成商加速其零售客户的云采用之旅。[1]
零售行业技术挑战
像亚马逊和其他数字创业公司这样的“诞生于云端”的零售商正在给传统零售商带来快速发展的压力。为了保持竞争力,传统零售商正在寻求发展和现代化他们的技术堆栈,以参与竞争并实现差异化。
许多零售商传统上一直在标准的企业 Java 堆栈上运行他们的关键任务应用程序,这些堆栈过于庞大,不适合云原生实现。这些零售商现在正在积极转向云原生和微服务架构,这导致他们探索 Java 的替代语言,这将需要雇用或重新培训开发人员。
零售商目前正在经历巨大的技术变革,以便使其企业应用程序现代化。传统的 COTS(商业现货)系统(如订单管理和电子商务)不允许我们的客户进行扩展和保持敏捷。因此,它们正在被微服务所取代,以便进行扩展并提供与数字零售商竞争所需的敏捷性。
- Arijit Mazumdar,Wipro Digital 解决方案架构师
Quarkus 登场
Arijit 通过 Red Hat Developers 计划听说了 Quarkus,并立即被其功能以及影响他的组织及其客户的潜力所吸引。当他和他的团队研究和评估 Quarkus 时,有几件事确实很突出。
利用 Java 专业知识
许多 Wipro 客户使用 Jakarta EE 和 Spring 等 Java 框架进行企业开发。随着他们迁移到云中的微服务架构,Java 的局限性被放大了。内存消耗和启动时间需要更大的容器和 VM。他们的客户已经开始考虑 Java 的替代方案,例如 Golang 和 Node.js,这意味着他们将不得不重新培训员工并花时间学习一门新语言。
在我们推出 Quarkus 之前,许多客户已经开始考虑使用 Go 和 node.js 等替代堆栈来提高性能和效率。这些客户厌倦了选择一种新语言,并且不得不雇用新的开发人员或重新培训他们现有的 Java 开发人员。
- Arijit Mazumdar
借助 Quarkus,他们现在可以通过利用他们现有的 Java 知识和经验来实现他们正在寻找的效率。事实上,Wipro 团队启动了一个试点项目,将用 Spring 编写的现有应用程序迁移到 Quarkus。首席开发人员是一名 Spring 开发人员,他能够在短时间内学习 Quarkus 框架并提高工作效率。
Quarkus 的学习曲线很低。我们的一位开发人员花了一个星期的时间来掌握 Quarkus,又花了一个星期的时间将 Spring 应用程序迁移到 Quarkus。
- Arijit Mazumdar
开发人员生产力
Quarkus 也很有吸引力,因为它具有许多功能,可以使 Java 开发人员更有效率。实时编码、扩展生态系统和 Kubernetes 集成是开发人员生产力提高的重要组成部分。
根据 Wipro 团队的说法,实时编码功能是一个“游戏规则改变者”。热重载功能大大提高了开发人员的生产力,从而缩短了应用程序开发和迁移的上市时间。 Wipro 开发人员熟悉其他语言(如 Node.js)的此功能,但在 Java 中则不然,这是一个令人惊喜的发现。
Quarkus 社区已经开发了超过 100 多个扩展,这些扩展为框架提供了额外的增强和集成,包括将应用程序编译为本机可执行文件的能力。 Wipro 团队利用了许多扩展,包括 RESTEasy、Hibernate ORM、Spring 兼容性、PostgreSQL 等。 Apache Camel 扩展对于减少集成开发工作的时间和复杂性特别有用。 Camel 扩展允许他们在传统应用程序(如大型机和 COTS 应用程序)之上快速编写抽象和防腐层。
此外,Quarkus 对容器化和 Kubernetes 部署的支持也很重要。大多数 Kubernetes 组件都是自动生成的,例如 Dockerfile,这使得开发人员更容易使用 Quarkus 并提高生产力。
零售用例
Quarkus 有效利用云资源的能力使其成为许多用例的理想运行时。 Wipro 认为 Quarkus 不仅仅是一个用于新开发的框架。他们亲眼目睹了它对现有应用程序现代化的影响。前面提到的项目之一是将 Spring 迁移到 Quarkus 的订单管理应用程序。 Quarkus Spring 兼容性扩展允许他们在一周内轻松移植应用程序,问题最少。
Quarkus 和 Spring API 兼容性缩短了迁移时间和复杂性,这对我们的客户至关重要。
- Arijit Mazumdar
Wipro 还看到了 Quarkus 为 Java 开发人员创建事件驱动型无服务器应用程序的巨大机会。零售商利用大量的任务处理事件作为批处理作业或实时处理的一部分来接受和履行订单。“始终在线”服务通常用于这些任务,即使没有负载,它们也会消耗资源。例如,英国的一家零售客户每天三次从 SaaS 提供商处收到分配,该分配利用四项服务 24x7 全天候运行。通过将处理转移到无服务器,零售商仅在有分配活动时才为 CPU 周期付费,从而节省了大量的处理周期。
Wipro Digital 和零售团队很高兴继续利用 Quarkus 框架将其云计算能力带给他们的客户。它已被证明是一个强大的工具,他们期待未来的版本和改进的功能。