概述
过去 27 年来,Java™ 一直是企业软件开发中极为流行的编程语言。全世界有无数使用这种广为人知的编程语言构建的系统。
传统的 Java 应用是单体式架构的。其软件包含有运行应用所需的所有内容,但单体式特性使开发人员在进行变更时难以保持敏捷性。基本上,开发人员要想要变更一下,就必须获取其中内容,然后对内容进行重新编译、测试和重新部署。
通过应用现代化,开发人员可以将传统应用(如 Java 构建的应用)迁移到现代化平台,将单体式架构分解为更小、更易于维护的组件(如微服务),应用现代软件开发和部署实践,以及将新旧版本整合到一起,从而让传统应用重获敏捷。
采用更新传统应用的方式(而不是重写现有应用的代码)来进行现代化升级,可帮助企业节省时间和金钱。通过采用云原生和微服务架构,开发人员可以使 Java 应用更加高效,也可以让企业更有余力投入未来的计划。
为什么要对 Java 应用进行现代化升级?
Java 应用一直以来都固守单体式架构,因此需要大量开销来长期支持和管理。对云和容器环境中的 Java 应用进行现代化升级,能够帮助您继续挖掘应用价值,同时提高性能、可扩展性并降低成本。
由于 Java 应用具有可移植性并依托庞大的生态系统,加之它面向对象、独立于平台、稳定且向后兼容,Java 几十年来一直是企业环境中最受欢迎的选择。Java 可提供定义明确的应用编程接口(API)、广泛的开发人员工具,并且易于学习。
特别是最近,随着开发人员从传统的单体架构模式转向追求更轻、更模块化的服务和功能,应用开发发生了重大转变。这些服务和功能通常是使用云计算和容器编排平台(如 Kubernetes)而实现的。
要注意的是,Java 最初并不是为快速启动、低内存占用或容器而设计的,因此它必须不断发展。不过这当然有好的一面,对 Java 进行现代化后,就可以在云环境中享受其原来的各种好处。
上云的好处
- 简化的开发人员体验:在云环境中,开发人员只需按一下按钮即可在几分钟内配置资源。还有好用的集成工具可用来配置网络、存储或其他服务,这些都是预先配置好的,可以随时使用。
- 高可用性和云提供商支持:云提供商支持服务水平协议(SLA),可让您在无需投入大量人力和成本的情况下,享受私有数据中心难以达到的高水平的正常运行时间。因此,对于想要运行各种应用而无需自行管理基础架构的企业来说,云服务是一个很有吸引力的选择。
- 可扩展性和弹性:可扩展性是开发人员转向云计算的一大重要原因,因为这可让开发人员根据不断变化的需求按需增加或减少资源。在许多情况下,要在非云环境中实现相同级别的可扩展性可能会非常昂贵。
- 全球性覆盖和托管的可用性区域:云环境支持全球性覆盖,在全球范围内提供低延迟服务。云提供商数据中心的布局都经过精心考量,这可让用户能够扩展自己应用的触达范围,将应用部署到世界不同地区,而这在以前既不现实,又不经济,甚至根本不可能。
- 低成本:云计算不需要大量的前期支出,从而可以节省运行硬件的附带成本,如电力、场地和维护。云部署快速且轻松,同时云环境易于访问和学习,因此能够加快开发人员的生产效率、缩短了产品上市时间,进一步降低成本。
如何使用红帽对 Java 应用进行现代化
不同的应用要遵循不同的现代化路径。开发人员可以根据每个应用的特征、企业当前和预期的需求来选择最适合的路径。
为此,如果您正在考虑对 Java 应用进行现代化、改变单体式架构并真正利用云部署模型,那么有三个主要的 Java 应用现代化途径:重新托管、更换平台和重构。
重新托管 - 虚拟化
重新托管(也称为直接迁移)是指在虚拟机(VM)中按原样部署现有应用。它主要是将运行在传统应用服务器上的 Java 应用,直接迁移到在混合云平台上运行的 VM 中。您应用服务器的单体式应用保持不变,并保留所有现有的集成和依赖项。
更换平台 - Openshift
更换平台的意思是将您的应用部署到基于 Kubernetes 的云平台(如红帽® OpenShift®)上的容器中。
在 OpenShift 上重构 Java 应用允许您利用平台中固有的功能,例如:通过装箱、水平扩展、CI/CD 集成工具、集成监控工具等提高资源使用率。OpenShift 提供了丰富的工具来简化 Java 应用镜像的构建和部署过程,并且还能够通过引入 MicroProfile 和内容删除来引入现代云原生开发技术。
重构 - Openshift 应用基础
重构意味着将应用转换为微服务、集成新技术并在云平台上部署。重构会把 Java 应用服务重新开发成微服务,部署在混合云平台的服务网格中。随着时间的推移,各种服务可以重新构建完成,从而逐渐将功能从旧的应用架构迁移到新的应用架构。借助 Strangler 模式,单体式架构可以随着时间的推移转变为微服务,还可以在重构旧服务的同时添加新服务。
红帽 OpenShift 和应用基础提供了一个可以简化执行整个应用生命周期的平台。这一组合能够帮助您构建、部署和运行应用,同时兼顾安全性和跨混合云的可扩展性。
为什么选择红帽?
红帽是开源 Java 和 Kubernetes 方面的专家,可以帮助您
实现 Java 应用现代化并构建敏捷的云原生 IT 环境
,从而支持不断变化的业务需求。我们可为您的应用现代化之旅提供完整、统一的开放混合
云基础。
红帽平台可为您提供应用现代化所需的灵活性、互操作性和一致性。红帽 OpenShift® 是安全至上的混合云平台,可让您安心地进行跨环境开发、部署和管理应用。此外,为了评估 Java 应用的云就绪状态,红帽还可提供应用迁移工具包(MTA),用实用的工具、报告和知识来帮助开发人员加速应用现代化和迁移项目。
即刻联系红帽,深入了解应用现代化,并查看您所在地区即将举办的活动,来亲身体验红帽技术。