Accueil > Big Data, Cloud, Forums et Salons, Java EE, Web > Un nuage de solutions au JUG Summer Camp

Un nuage de solutions au JUG Summer Camp

Cette année s’est déroulée la 5ème édition du JUG Summer Camp ; encore une fois, c’est à La Rochelle que l’événement a eu lieu. Dans un espace Encan très accueillant, les javaistes et autres acteurs de la communauté se sont retrouvés pour échanger pendant une journée sur les thématiques du Big Data et du Cloud, sujets forts de l’actualité dans le monde IT.

Pour ma première participation au JUG Summer Camp, j’ai été ravi par les sujets abordés ainsi que par la qualité des interventions. Tout a très bien commencé avec la keynote d’ouverture, assurée par Tugdual Grall durant laquelle il a tenté de répondre à la question « Comment choisir la meilleure solution technologique pour un projet ? ». Cette introduction était en adéquation avec les thématiques de la journée. Devant faire un choix sur les conférences à suivre (deux présentations se déroulaient en parallèle), je me suis orienté vers des technologies que je connaissais, mais dont je n’avais pas eu l’occasion de voir en action. Je délaissais les démonstrations de nouveaux langages tels que Ceylon ou Golo et des IDE « Cloudifié » tel que Codenvy. J’ai ainsi assisté à des présentations convaincantes de Docker, MongoDB Aggregation Framework, SimpleWeb4j et ElasticSearch. J’ai également pu participer à un « lobbying » intéressant autour du Cloud et des stratégies de migration vers ce nouveau type de SI.

Comme chaque année, l’accès aux conférences était gratuit grâce aux sponsors du JUG (Google, Cloudbees, SERLI, SonarSource et le Poitou-Charentes JUG en tant qu’organisateur). Il suffisait donc de s’y inscrire pour les suivre et profiter de l’excellent buffet (avec vue sur le vieux port de La Rochelle).

À travers cet article, je vais tâcher de vous retranscrire les points essentiels abordés lors de cette édition 2014, mais également de vous donner mon ressenti vis-à-vis des conférences et de leur qualité.

La tête dans les nuages

nuageUn des sujets qui revient souvent tout au long de cette journée est le Cloud. De Google Compute Engine à Codenvy, les solutions Iaas, Paas ou Saas sont présentées, adulées et même « vendues » (vous voulez 500$ à utiliser sur Google Cloud Platform ?). Vous l’aurez compris, le Cloud a pris une toute autre dimension ces dernières années, notamment grâce aux (à cause des ?) acteurs tels que Google ou Amazon. Le JUG n’y a donc pas échappé et c’est avec plaisir que j’ai découvert comment coupler Docker à Compute Engine ou encore, Big Query et ses requêtes en « moins de une minute ».

Le Cloud répond aujourd’hui principalement à la problématique de limitation des ressources et à la réduction des coûts (vous non plus vous ne pouvez pas avoir un dodecacore à 64Go de RAM monté sur 500Go de SSD en PCI Express ?). Un exemple très parlant a été donné par Didier Girard durant la conférence « Cloud First » : un serveur Exchange tombe en panne, il faut 100 000€ (sans les coûts de licence) pour en remonter un et migrer les données ; Didier propose une solution gratuite en une semaine avec une migration vers Google Mail (sans les coûts liés au nombre de comptes qui existent également sous Exchange). Dans cet exemple, la solution Cloud permet non seulement de réduire les coûts de migration mais également de s’abstraire de la maintenance du service. Bonus : elle donne également la possibilité de consulter ses emails de façon déportée (mobile, applications tierces, etc.).

Néanmoins, il ne faut pas se précipiter vers le Cloud. Certains usages ne sont pas adaptés ou comportent des risques trop importants. Ainsi, des données confidentielles ou secrètes n’ont pas leur place sur un Cloud « public ». De même, certaines données ne peuvent pas sortir du territoire (selon la législation en vigueur) et ne peuvent donc pas être stockées sur une solution Cloud à l’étranger. Il est important d’étudier précisément les besoins d’une solution afin de vérifier que le Cloud répond à l’ensemble (ou au moins à la majorité) des problématiques.

Une autre question se pose : comment anticiper les coûts liés à une plateforme Cloud ? Les fournisseurs proposent aujourd’hui une facturation proportionnelle aux ressources consommées (stockage, bande passante, CPU), il est donc difficile de prévoir avec précision les coûts engendrés, à moins d’avoir une projection très détaillée du trafic de la solution. Il est également possible de caper les services afin de plafonner la facturation, mais est-ce une bonne chose ? Qui dit grosse consommation dit, normalement, trafic important et donc qui génère des revenus. A moins d’avoir une consommation causée par un « bug » applicatif, les gains devraient être supérieurs aux dépenses.

Le Cloud répond aujourd’hui à de nombreux besoins d’infrastructure mais apporte également des solutions clé-en-main pour les développeurs (Map Reduce, Big Query). Mais peut-on aller plus loin et en faire un poste de travail débarqué ? Certains intervenants ont tenté de dire oui.

Vous prendrez bien un peu de données sur votre nuage ?

cloud-solutions-300x246Un autre thème prépondérant lors des conférences a été le Big Data, et notamment les solutions apportées par MongoDB. Tugdual Grall, évangéliste MongoDB, a montré comment cette base de données NoSQL répond aux besoins des projets. Il a également insisté sur l’importance d’abandonner les modèles des base relationnelle lorsque l’on travaille avec une base orientée document.

N’ayant que très peu d’expérience avec les base NoSQL, j’ai accueilli avec beaucoup d’enthousiasme les explications et démonstrations de très bonne qualité des intervenants. J’ai ainsi compris que les bases de données orientées document répondent au besoin des tables à colonnes infinies (ou presque). Des relations peuvent néanmoins exister : il suffit de référencer un document dans un autre via un identifiant unique. Cependant, la relation n’est pas forte : si un document référencé est détruit, la relation continue d’exister virtuellement mais ne pointe vers aucune référence. Il n’y a donc pas les contraintes d’intégrité qu’on pourrait retrouver sur un modèle relationnel.

Le point de réflexion le plus important est le suivant : le NoSQL se concentre sur l’utilisation des données, alors que les bases relationnelles se concentrent sur l’espace de stockage occupé. On pense donc en premier à comment répondre à un besoin fonctionnel au lieu de répondre à une contrainte d’infrastructure. Avec l’évolution des coûts liés au stockage, le NoSQL trouve sa place dans les solutions logicielles d’aujourd’hui.

Enfin, à travers l’Aggregate Framework de MongoDB, Sébastien Prunier et Pauline Iogna ont présenté comment grouper les données et les filtrer afin de créer des rapports. Nous retrouvons donc les fonctionnalités liées au besoin de manipulation de données, avec en bonus, des documents au nombre de colonnes non figé. Seule la contrainte de relation forte est abandonnée (pour le bonheur des requêtes interminables).

Et Java dans tout ça ?

keep-calm-and-love-java-35-257x300Une réflexion que je me suis faite au cours de cette journée est : « pas beaucoup de Java au JUG… ». Sur les 10 conférences que j’ai suivies, « seulement » 5 avaient un sujet en rapport avec Java et uniquement 3 l’utilisaient en fil conducteur (il y a une conférence supplémentaire à laquelle je n’ai pas assisté qui abordait le langage). Donc effectivement, les thématiques de la journée tournaient autour de Java mais la majorité des sujets n’y étaient pas dédiés.

L’avantage principal est l’excellente qualité des présentations et démonstrations. L’approche TDD sur un projet AngularJS et Java 8 fut intéressante, la démonstration de temps réel web avec SimpleWeb4j captivante et l’intégration d’ElasticSearch dans un projet legacy m’a permis de découvrir l’API d’ES dans un cas concret. Il est vrai qu’une keynote sur Java 8 et ses évolutions majeures auraient pu compléter les enseignements de la journée. Néanmoins, mon sentiment général en tant que développeur Java est très positif vis-à-vis des conférences du JUG.

Je vous recommande de regarder SimpleWeb4j ou FluentHTTP si vous cherchez un Framework Java en web temps réel. De même, si vous cherchez à migrer une solution Solr, renseignez-vous sur ElasticSearch et Marvel.

On remet ça ?

Cette édition 2014 du JUG Summer Camp est pour moi une totale réussite. La qualité était au rendez-vous ainsi que la bonne ambiance (et le beau temps !). Je remercie l’ensemble des conférenciers pour leurs présentations qui m’ont permis de découvrir ou d’approfondir les technologies liées à Java. Je recommande cet événement à tous les javaistes voulant partager et échanger pendant une journée avec les acteurs du JUG. Les démonstrations étaient de bonne qualité (nous avons eu droit à quelques effets démo quand même !) et permettaient de mieux se rendre compte des avantages des technologies. Il ne me reste maintenant plus qu’à capitaliser cette journée en approfondissant tous ces enseignements.

Rendez-vous donc dans un an pour une nouvelle série de présentations dédiées à la communauté Java.

  1. Pas encore de commentaire
  1. Pas encore de trackbacks


sept × 6 =