Programando en Java Desarrollo

Actualizar versión de Java 11, 12, 13, 14…: El desafío final

18/08/20 5 min. de lectura

Terminamos nuestra serie de artículos sobre el licenciamiento de Java profundizando en las consideraciones que habría que hacer en la compañía antes de ponerse con el infierno de la actualización de licencias de Java 11+. Esto no es una metodología sino una serie de pasos para poder tener planes a largo plazo con Java.

Paso uno: las necesidades de tu compañía 🔍

¿De verdad merece la pena Java?

Para nosotros la respuesta era: no hay duda. No podíamos ni tan siquiera pensar en reemplazar Java a corto plazo. A muy largo plazo quizá, pero esa es una decisión estratégica importante.

Algunos argumentaréis que node.js es capaz de reemplazar Java. Podría ser. Pero requiere migración, y los proyectos de migración no son ni rápidos ni baratos incluso en el mundo Cloud y Agile. Y, seamos serios, node.js no está pensado para el paralelismo, necesita que la plataforma le provea esa capacidad, hay muchos casos en los que no puede reemplazar a Java.

Por otro lado si acabas de comenzar con tu empresa o puedes cambiar fácilmente de lenguaje la pregunta no es el reemplazamiento sino si vas a tener el soporte adecuado.

Personas programando en Java

Paso 2: ¿no tendrán ya derecho a soporte tus aplicaciones Java? 🤔

¿Cómo? Estábamos hablando del problema de licenciamiento de Java ¿y puede que no lo necesite?

Es posible,

El problema real con Java es quien paga la licencia. Puede que tengas software como IBM Websphere que lleva su propia JVM y no tienes que pagar a Oracle porque ya estás pagándolo a IBM. O puede que tu producto esté construido sobre la plataforma ACME y ACME ya esté pagando por la licencia de Java por lo que tus aplicaciones no tiene que pagar por ello.

Pero siendo realistas, si desarrollas software para uso interno o comercial lo más probable es que tu licencia no esté cubierta.

Y, por otro lado también es posible que tu aplicación no soporte directamente JDKs que no sean de Oracle.

Paso 3: Selecciona la distribución que se ajuste más a tus necesidades 🧐

No vamos a invertir demasiado tiempo en este paso dado que ya lo hemos desarrollado en algunos de nuestros artículos previos:

¿El fin de Java se encuentra tras la versión 11?

Java 11 vuelve para quedarse

Durante la selección recuerda apuntar las ventajas y desventajas, al menos:

👉 Soporte

👉 Precio

👉 Actualizaciones de seguridad

👉 Versiones LTS

¿Qué licencia de Java debemos elegir?

Paso 4: ¿Qué usos debo contar para pagar las licencias? 💸

Java se usa profundamente en las aplicaciones de servidor, eso es bastante obvio. Pero la medida es muy importante, porque la cuenta de licencias de servidor requiere cuidadosa medición. Algunos proveedores como Oracle no licencian por el número de servidores sino por una fórmula de cores físicos, procesadores físicos y un factor de corrección.

También hay que tener en cuenta los PCs y portátiles de los empleados. Los programadores pueden usar libremente JDK para el desarrollo, pero cuando usan software corporativo para otros casos hay que contarlo como licencias de pago.

¿Quién recuerda que el planteamiento original de Java era para su funcionamiento en lavadoras y otros electrodomésticos? Pues si has integrado tu software en dispositivos de este tipo hay que contarlo. En un mundo en el que hay más dispositivos IoT que ordenadores el potencial número de licencias Java es enorme.

Afortunadamente Android e iOS no usan Java, por lo que no hace falta pagar licencia por el software que ejecuta en ellos 😜

Y por último: ¿qué hay del proceso de actualización? 💻

Finalmente has decidido seguir usando Java, has seleccionado la distribución que más se ajusta a tus necesidades y has contado las licencias necesarias. Queda un último paso, el que más gusta a Oracle.

¿En serio vas a actualizar todos tus servidores, PCs y dispositivos conectados?

No es que quiera disuadirte del cambio de Oracle a OpenJDK, RedHat, Zulu o la que mejor te encaje. Simplemente ten en cuenta las horas que necesitas para actualizar y probar el funcionamiento en todos sus servidores. Incluso si eres capaz de gestionar automáticamente toda tu infraestructura, ¿eres de los que tiene miles de servidores o cientos de miles? Esto es, sin duda, la tarea más pesada de todo el problema del licenciamiento de Java y compite directamente con el hándicap del precio, estás advertido.

¡Larga vida y prosperidad!

Juan Tavira

Juan Tavira

Santander Global Tech

Especialista, arquitecto y friki multidisciplinar apasionado de todas las innovaciones. Esto es fácil de decir por uno mismo, pero cuando lo dicen mis compañeros informáticos, mis amigos geeks de los juegos e incluso mi mujer, algo de verdad tendrá ;-). Me gusta construir violines como hobby. En ocasiones veo código

 

Otros posts