如何计划从 WebSphere 迁移到更便宜的应用程序服务器,如 JBoss、Tomcat 或 Payara
How to plan the migration from WebSphere to a cheaper application server like JBoss, Tomcat or Payara
我计划将 Java 应用程序从 WebSphere 迁移到不同的应用程序服务器。这样做的主要动机是为了节省许可费用。
我知道源代码使用了 EJB,Tomcat 不直接支持它们。
我想问的主要有两个问题(它们是相互关联的,所以我在一个问题中提出):
A) 如何确定我必须计划哪些迁移/重新编程任务?从各种来源,我发现我可能应该采取以下步骤。我的问题是:此列表中还应该包含什么:
- 如果代码使用 EJB,请替换它们(例如使用 Spring)或使用支持它们的应用程序服务器(如 JBoss 或 TomcatEE)
- 在源代码中搜索以“com.ibm”开头的导入。
- 我知道我需要检查 Monitoring/Logging/Administration 当前使用 WebSphere 功能完成了哪个扩展。我还不知道的是:如何找到所有这些配置?
B) 合理估计总工作量的最佳方法是什么?我想我可以开始并尝试进行迁移以获得第一个想法。但是要了解总体努力的主要观点是什么?
我找到了这个指南:
How to migrate from Websphere to Tomcat,已经提供了一些提示。但是,它并没有真正深入细节,特别是它没有提到如何找出使用了哪些 WebSphere 特定功能。
我还找到了关于[如何迁移到 JBoss] 的指南(如何迁移到 JBoss:
https://docs.jboss.org/author/display/AS72/How%20do%20I%20migrate%20my%20application%20from%20WebSphere%20to%20EAP%206.html)。
这要详细得多,但感觉我必须完成几乎整个迁移才能得到估计。
完全披露:我在 IBM 的 Liberty 工作
如果您希望节省许可费用,可以考虑转向 Liberty(Open Liberty 或 WebSphere Liberty 或 Liberty Core)。除了它们提供比传统 WebSphere Application Server ND 更便宜的选项之外,它们的效率也高得多,因此您需要的实例少得多,从而节省了许可成本和基础设施成本。
如果您使用的是 WebSphere ND,您还可以考虑使用 WebSphere Base 来节省许可费用。
在我们进行的测试中(我建议您自己进行测试),我们发现 Liberty(使用 OpenJ9 JVM)比我们测试过的其他运行时(在内存方面)更高效和吞吐量),包括您列出的那些。参见 https://openliberty.io/blog/2020/10/21/memory-footprint-throughput.html
如果您现在使用的是传统 WebSphere,那么您已经有权使用 Liberty。
要了解您的应用程序正在使用什么以及您可能需要更改哪些内容才能移动,您可以使用 Transformation Advisor - http://ibm.biz/cloudta
去年我做了类似的事情,我的“省钱”“节省时间”从 websphere application server nd 转移到 websphere liberty 或 open liberty,因为 liberty 和 websphere liberty 共享相同的代码库,最大的区别是在功能和配置方面的 JVM 运行时(例如密钥库的 SSL 提供程序)。
为此,我建议使用此工具
https://www.ibm.com/garage/method/practices/learn/ibm-transformation-advisor
我尝试了其他方法,但只有当 EAR 完全独立于应用程序服务器时它们才有效。
我计划将 Java 应用程序从 WebSphere 迁移到不同的应用程序服务器。这样做的主要动机是为了节省许可费用。
我知道源代码使用了 EJB,Tomcat 不直接支持它们。 我想问的主要有两个问题(它们是相互关联的,所以我在一个问题中提出):
A) 如何确定我必须计划哪些迁移/重新编程任务?从各种来源,我发现我可能应该采取以下步骤。我的问题是:此列表中还应该包含什么:
- 如果代码使用 EJB,请替换它们(例如使用 Spring)或使用支持它们的应用程序服务器(如 JBoss 或 TomcatEE)
- 在源代码中搜索以“com.ibm”开头的导入。
- 我知道我需要检查 Monitoring/Logging/Administration 当前使用 WebSphere 功能完成了哪个扩展。我还不知道的是:如何找到所有这些配置?
B) 合理估计总工作量的最佳方法是什么?我想我可以开始并尝试进行迁移以获得第一个想法。但是要了解总体努力的主要观点是什么?
我找到了这个指南: How to migrate from Websphere to Tomcat,已经提供了一些提示。但是,它并没有真正深入细节,特别是它没有提到如何找出使用了哪些 WebSphere 特定功能。
我还找到了关于[如何迁移到 JBoss] 的指南(如何迁移到 JBoss: https://docs.jboss.org/author/display/AS72/How%20do%20I%20migrate%20my%20application%20from%20WebSphere%20to%20EAP%206.html)。 这要详细得多,但感觉我必须完成几乎整个迁移才能得到估计。
完全披露:我在 IBM 的 Liberty 工作
如果您希望节省许可费用,可以考虑转向 Liberty(Open Liberty 或 WebSphere Liberty 或 Liberty Core)。除了它们提供比传统 WebSphere Application Server ND 更便宜的选项之外,它们的效率也高得多,因此您需要的实例少得多,从而节省了许可成本和基础设施成本。
如果您使用的是 WebSphere ND,您还可以考虑使用 WebSphere Base 来节省许可费用。
在我们进行的测试中(我建议您自己进行测试),我们发现 Liberty(使用 OpenJ9 JVM)比我们测试过的其他运行时(在内存方面)更高效和吞吐量),包括您列出的那些。参见 https://openliberty.io/blog/2020/10/21/memory-footprint-throughput.html
如果您现在使用的是传统 WebSphere,那么您已经有权使用 Liberty。
要了解您的应用程序正在使用什么以及您可能需要更改哪些内容才能移动,您可以使用 Transformation Advisor - http://ibm.biz/cloudta
去年我做了类似的事情,我的“省钱”“节省时间”从 websphere application server nd 转移到 websphere liberty 或 open liberty,因为 liberty 和 websphere liberty 共享相同的代码库,最大的区别是在功能和配置方面的 JVM 运行时(例如密钥库的 SSL 提供程序)。
为此,我建议使用此工具
https://www.ibm.com/garage/method/practices/learn/ibm-transformation-advisor
我尝试了其他方法,但只有当 EAR 完全独立于应用程序服务器时它们才有效。