Use the form below to ask a question or send us a message!

Monday, 21 September 2020 00:04

Don't cut a check to Oracle - Optimize your Java footprint first!

Many people still believe Java is free. This misconception has its roots in the history of its usage and ownership. Java was created by Sun in 1991 and was then released as a free product with the promise of “write once and run anywhere.”  Its premiere as a free product helped Java to become one of the most popular program languages in the world. It came into widespread use also because  it can run on many different platforms, regardless of the operating system (OS) in which it was originally developed.  As a result, Java has been deployed on most devices including servers, desktops, laptops, and mobile devices.  It has also been bundled into many other products, supporting numerical computing, mobile computing, and desktop computing.

Oracle made Java in commercial settings fee-based in January 2019. While there can be some exceptions, generally there is going to be a subscription charge for the Java you deploy. Before you cut a check, the most responsible next step is to optimize your Java to minimize your costs. Optimizing Java falls into 3 major areas. you might want to look at all three.  

Explore third party support

There is an option for running Java without the need to pay Oracle.  It is through the replacement of Oracle JRE with another version called OpenJDK. While OpenJDK is not an exact copy of the version owned by Oracle, it may work well for you and reduce costs. 

Here is how OpenJDK came about.  In January 2019, Oracle gave a version of Java to the Open Source community resulting in the “forked” use of this software. Some companies, e.g. Red Hat, Azul, and Amazon, used the open source version of Java, and took on the responsibility for providing support and patches to the Java runtime code for OpenJDK.

If you use OpenJDK, you do not pay Oracle for licenses of Oracle JRE, and OpenJDK is free to use.  However, you still need support, and that fee would go to a third-party vendor, e.g. Red Hat, Amazon, and Azul. Support charges vary among the companies that offer it.

If you want to switch to the Open Source version, you will need to replace your Oracle version JRE with OpenJDK. While some call this a migration; it is more like a replacement of one product with another, i.e. you would need to uninstall Oracle JRE and then install the OpenJDK

 Uninstall unused Java

Since Java was free at one time, most customers originally installed Java on all their servers, or many more servers than actually needed Java. They also probably installed Java on almost all desktops. Experience shows that in most companies Java is actually used on only about 25% of servers, and on far fewer than all desktops. It will benefit you financially to determine where Java is actually needed and where it is not required. Where it is not needed, it should be removed. Keep in mind that support fees are based on installation. If Java is installed, even if not used, a support charge will be assessed.  It makes good business sense to reduce your Java footprint to reduce your costs. 

Reducing deployment of Java to only the places it is required can reduce your cost for support by as much as 75%. The first step is to generate a detailed baseline indicating everywhere it is installed. Next you need to identify all the places it is required, and then uninstall the product in the remaining locations. You must, of course, test to ensure there are no issues on any servers where Java has been uninstalled. 

The most common way companies implement the above process is by using tools already in-house such as Microsoft’s system management tool called SCCM for Windows servers. BigFix, Tanium, and other tools can be used on the Linux side. 

Focus on Java running on servers

When you optimize Java, since the support costs for Java running on servers are much higher than the costs for support on desktops, you should focus on the server side first, then focus on end user computing. As shown in the table below, the support cost for Java running on an Oracle server is generally 100 times the cost for a desktop. Support costs of OpenJDK from third parties are also much greater for servers than for desktops. 

https://www.oracle.com/assets/java-se-subscription-pricelist-5028356.pdf

 

While you consider the above options, the next question is--when is the best time to explore and possibly implement one or more of these strategies? We can tell you from experience that the worst time to make changes is when you have received a call from the Oracle Java Sales Representative or a Java licensing review letter from Oracle. You would then have to make quick decisions on support without a full understanding of what you have deployed and what is necessary. It makes good business sense to establish a baseline and optimize your Java position prior to being “cornered” by Oracle. 

You can certainly undertake these tasks in-house. However, you might consider hiring a consultant to help ensure smooth planning and implementation, and avoid costly pitfalls. Clarify Consultants has helped numerous customers understand their Java footprint and can help reduce your Java support costs significantly. Contact us at to learn more about this subject or to explore the possibility of working with us. 

logo

NYC, Houston and San Francisco

Telephone: (914) 893-6736