Oracle Code Paris : le retour des conférences développeurs d’Oracle !

Par:
francoistonic

mar, 03/07/2018 - 20:19

Depuis plusieurs années, on ne peut pas dire qu'Oracle était très actif auprès des développeurs. Depuis quelques mois, on sent le changement. Ce retour s’est fait aujourd’hui à Paris, avec la journée Oracle Code. Le principe est simple : une série de conférences techniques autour des langages et plateformes, principalement Oracle mais aussi Open Source, des stands pour apprendre et s’amuser un peu et une série d’ateliers pour découvrir ou se perfectionner. Les speakers étaient soit internationaux, soit français. Pour une première édition en France, rappelons qu’il s’agit d’un événement mondial organisé dans plusieurs villes, c’est une belle réussite !

Les gros buzzwords étaient bien entendus abordés : serverless, blockchain, conteneurs, cloud computing, DevOps. Pour Oracle, les grosses tendances du développement sont : serverless, DevOps ou NoOps, Open Source, bots, blockchain et machine learning.

Une bonne occasion aussi pour Oracle de parler de Java et de son évolution qui n’est pas toujours simple. Un des éléments intéressants est de bien comprendre Oracle JDK et OpenJDK qui n’évoluent pas de la même manière sur le développement et sur les licences. Oracle JDK repose sur une licence Oracle et par exemple la version 8 sera supporté jusqu’en 2025. Côté OpenJDK, nous sommes en GPL, sur les versions à support long. L’ambition de l’éditeur est toujours de livrer deux versions majeures par an ! Ce qui est une cadence extrêmement rapide, avec la volonté de faire de l’intégration continue. A cette cadence, nous serons en JDK 17 dès 2022 - 23 ! C’est un véritable bouleversement dans le modèle de développement de la plateforme.

Cela passe aussi par une modification de la tarification. Oracle va introduire une nouvelle souscription pour le support Oracle JDK LTS : 22 € par mois et par processeur (côté serveur), 2 € par mois et par utilisateur côté desktop ! Pour les grands déploiements, des rabais seront proposés (ouf !). 

Sur la partie Java et le Cloud, Oracle met en avant la sécurité notamment sur le runtime, volonté d’améliorer la compatibilité et le déploiement plus rapide des nouvelles versions, réduire les empreintes mémoires et un meilleur partage des données dans les processus JVM, temps de démarrage une nouvelle fois optimisé (avec l’usage des conteneurs et des microservices), meilleure gestion et stabilité dans les déploiements à très grande échelle (plusieurs millions d’instances JVM). 

En février dernier, Bernard Traversat avait déjà abordé cette session. Il est intéressant à noter que Oracle a récolté les commentaires des développeurs qui sont très clairs : trop verbeux, trop lent, cloud, trop lourd sur la mémoire… De gros chantiers ont été lancés sur la sécurité, les performances, comme évoqués plus haut. 

La session Après Java 8, 9 et 10, permettait de faire un peu le point :

- Java 8 : nouvelle API Date et heure, méthodes statiques, lambdas, API Stream

- Java 9 : version controversée, vote négatif du JCP, de gros changements avec une compatibilité aléatoire. Apparition du système modulaire, nouvelles API, Shell, Jlink (création de runtime compacts), nouveau ramasse-miettes par défaut

- LTS : nouveau modèle de support avec Oracle JDK. A partir de Java 11 uniquement

- Java 10 : depuis ce printemps. Une évolution réduite avec 12 JEP intégrés pour remplacer au plus vite Java 9

En réalité, la session a voulu démontrer que la peur de Java 9 est parfois exagérée. Oui, Java 9 introduit des cassures mais pas tant que ça et il y a des avantages à l’utiliser. Le shell est un bon argument, tout comme les améliorations de la JVM. Mais ces changements sont parfois perçus comme des contraintes car jusqu’à présent, on faisait un peu tout et n’importe quoi. Mais oui, la modularité implique des changements : par exemple, tous les JAR doivent être modulaires. 

Java 10 repose sur Java 9 et introduit la nouvelle cadence de développement d’où des changements limités. Les conteneurs Docker sont mieux supportés par exemple mais attention aux dépréciations introduites avec la v10.

Une excellente session à découvrir ici.

Nous avons aussi beaucoup aimé la session Oracle Container Native Platform et comment Oracle veut profiter des tendances conteneurs, Kubernetes et infra as code. Il s’agit d’intégrer l’orchestrateur Kubernetes dans la plateforme Cloud, de mettre en place un service de serverless, qui est actuellement en développeur (projet open source fn project). L’idée d’Oracle est d’avoir un support de bout en bout : pipelines, container engine, microservice, serverless pour faire le build, le déploiement et la production. Et d’être au niveau des concurrents… 

Nous reviendrons sur les autres sessions très prochainement.

François Tonic