Skip to Content

Java Applications: Upgrade or migrate?

Pradyumna Pendse
September 10, 2020

Java has dominated the world as a programming language for a long time and is now the foundation for the development efforts of companies around the world. Over the years, IT organizations have invested significantly in Java applications and skills to achieve functional and performance stability. While there are a number of licenses within the Java family, the binary code license for Oracle Java Developer Kit (JDK) has been predominant for well over a decade. It permitted the use of Java without license fees under certain conditions. All of that changed in September 2018, when Oracle ended the general availability of JDK 8 and older versions. This means that organizations will now need to pay for any updates to JDK 8 and older versions and premier support for these versions will only be available until March 2022. Additionally, Oracle has removed APIs for web services, XML data, code optimization, and legacy distributed systems integration. Now, developers will have to depend on products from other vendors or will have to license separately with Oracle.

Upgrade or migrate

Because of this, organizations that rely on Oracle JDK will be exposing themselves to vulnerabilities and risk if they don’t soon make some changes. They will also face issues of scalability, performance, and code optimization. So, they face an important decision: either migrate to open versions of JDK such as OpenJDK, Red Hat OpenJDK, IBM, AWS Correto, or GraalVM, or upgrade to an Oracle commercial JDK license and related modules. Choosing a commercial license means choosing between different deployment products, including WebLogic Server and GlassFish Server, and with open products they need to determine which cloud environment works better as a deployment option.

This is an important decision, with considerable implications for both cost and functionality. The new Oracle JDK pricing policy will charge users per desktop and per processor for non-development environments per month. An organization that migrates with a medium-sized portfolio consisting of 25 members supporting applications on 100 processor environments will face a $60,750 increase in annual operational spend. However, while an open version of JDK may seem more cost-effective and therefore more appealing, organizations need to consider the additional costs of configuration, which will require support from a partner, and the need to purchase deployment products, many of which will not have the same functionality as the commercial products. Oracle will sell long-term support on an annual or tri-annual basis and, although there are economies to purchasing a three-year license, this is still an expense that must be considered.

The need to act now

Despite the major implications for the business and significant risk associated with remaining on JDK 8 or lower, many organizations have not taken the necessary steps to respond to these changes from Oracle.  Because an upgrade or migration activity is often incorrectly perceived as an “application-level only” activity, rather than an activity that encompasses upgrade, migration, and deployment, it can be easy to take an ad-hoc approach to this decision, which can lead to errors, inconsistencies, and delays. The best way to decide on upgrading or migrating is by conducting an assessment that covers compliance, performance, stability, and time to delivery.

An assessment is critical

A holistic assessment will result in a customized portfolio roadmap that lays out the overall approach and all the important processes, steps, roles, and support required to make an upgrade or a migration a success. A dependency analysis report will identify the right approach, dependent libraries, and the target environment, along with a deployment strategy. For example, if an assessment shows that an organization has applications that heavily use Oracle deployment product features, it’s likely a good idea that it upgrade to the commercial version.

A trusted partner

Capgemini has a suite of tools to ensure that your organization’s strategy will lead to the best results for your business while also ensuring the upgrade or migration is as fast and cost-effective as possible. Tools such as our assessment checklist mean that you can rapidly assess your portfolio. For example, 260 applications can be assessed in less than six weeks.  Additionally, when it comes to actually executing a migration or an upgrade, tools such as our Maven Application Dependency Enhancer, Java Application Compliance Booster, and Java Application Compliance Progress Dashboard ensure quality and compliance in a quick and cost-effective manner. Tried-and-tested deployment architectures mean that you can upgrade or migrate in as little as two weeks.

The longer an organization waits to make a decision on whether to upgrade or migrate, the longer it delays the inevitable and makes itself vulnerable to security risks. Getting started now with a comprehensive assessment will ensure that you take the right approach for your needs and that a JDK continues to deliver value for your business.


Sources

Snyk JVM Ecosystem Report 2020
Oracle JDK Releases for Java 11