1ère journée à SpringOne 2GX : Spring, le retour

SpringOne 2GX a démarré aujourd’hui ! Plus de 1000 développeurs sont présents à la conférence, ce qui en fait la plus grosse conférence SpringOne jamais réalisée.

Beaucoup de nouveautés aujourd’hui : entre la keynote et les nombreuses personnes à qui j’ai pu parler, j’ai énormément de choses à partager aujourd’hui sur ce blog. Etant un ancien de SpringSource, j’ai pu parler directement à toutes les personnes “qui comptent” aujourd’hui (mis à part Guillaume Laforge qui a raté sa correspondance ! Plus de nouvelles sur Groovy demain, donc !). Je vais essayer de vous faire ici un résumé de tout cela.

Pivotal, c’est beaucoup plus que Spring

La stratégie de Pivotal est particulièrement ambitieuse, et dépasse largement le cadre de la conférence SpringOne 2GX.

  • Pivotal lance “Pivotal One” en Novembre, qui est une plateforme regroupant l’ensemble de leurs services dans un tout cohérent. Cela inclut Cloudfoundry, Gemfire, Greenplum, et leur stack Hadoop “maison”.
  • Vous non plus vous ne connaissez pas Greenplum ? C’est une société qui a été rachetée par VMWare, et qui propose une base de données NoSQL avec des capacités d’analyse très avancées. Il s’agit d’un logiciel “closed source”, et qui a un succès commercial très important aux US.
  • Concernant la stack Hadoop de Pivotal, ils ont mis un nombre impressionnant de développeurs sur le sujet (j’ai promis de ne pas dire le chiffre, mais c’est vraiment énorme).

L’objectif est donc avoir un tout cohérent, pour proposer aux entreprises d’avoir leur propre “stack Google interne”. Vous aurez ainsi de la capacité de traitement à la demande (Cloudfoundry), du stockage et de l’analyse (Greenplum & Hadoop), et bien évidemment des services applicatifs avec Tomcat et Spring/Groovy.

Pour Paul Maritz, le CEO de Pivotal, nous aurons bientôt accès à des ressources CPU et disques “gratuites” (je dirais plutôt “très bon marché”…), l’objectif est donc de proposer aux entreprises une plateforme permettant des les exploiter le mieux et le plus facilement possible.

Cloudfoundry, une plateforme commune pour tous vos besoins applicatifs

Cloudfoundry se veut une plateforme sur laquelle vous pouvez faire tourner vos applications, quel que soit le langage ou la plateforme “cloud” utilisée (Amazon EC2, un cloud interne, etc.). Elle ne privilégie pas Spring particulièrement, mais bien entendu Spring fonctionne parfaitement dessus.

Personnellement cela me fait penser à un système OpenStack + Puppet, tel que nous le proposons chez Ippon (via notre hébergeur Atomes), mais avec des services de très haut niveau déjà fournis en standard. Il vous suffit de demander un Tomcat avec une base MySQL, et Cloudfoundry se charge automatiquement de provisionner les machines, et de configurer votre système.

Ce qui m’a surtout marqué, ce sont les partenaires et intervenants sur Cloudfoundry :

  • IBM, que j’aurais plutôt vu comme un concurrent, s’est fortement impliqué dans Cloudfoundry. Non seulement vous pouvez utiliser Websphere sur Cloudfoundry, mais IBM a également fait une démo d’un tableau de bord de monitoring de Cloudfoundry, qu’ils vont rendre Open Source
  • AppFog, une très jeune société proposant de faire tourner des applications PHP sur CloudFoundry, vient de se faire racheter : on m’a dit un prix de 200 M$, que je n’ai pas pu vérifier. Par contre ils disent avoir plus de 100 000 développeurs PHP sur leur plateforme, ce qui donne déjà une idée de leur valorisation potentielle…

Cloudfoundry est donc bien un écosystème “neutre”, permettant de faire tourner l’ensemble des applications d’une entreprise, et pas seulement les applications Spring. Et le succès commercial semble se confirmer.

Spring, le retour

Beaucoup de nouveautés sur Spring aujourd’hui : on y voit (enfin) clairement une nouvelle stratégie, plus agressive, ainsi qu’un marketing nettement plus dynamique qu’à l’époque de VMWare.

Spring devient séparé en deux entités plus clairement identifiables que par le passé (au lieu d’avoir plein de projets différents, compliqués à intégrer entre eux).

  • Spring iO foundation comprend tous les services “de base” de la plateforme : Spring Framework, Spring Security, Groovy, Reactor, Spring Integration, Spring Batch, Spring Data, Spring MVC
  • Spring iO execution représente la stack qui permet d’exécuter l’application : Spring XD, Spring Boot, Grails

Pour tous ceux d’entre vous qui n’ont pas suivi les dernières nouveautés de Spring, certains projets doivent vous être inconnus :

  • Spring Boot, c’est “la” grosse nouveauté. C’est une plateforme permettant de développer très rapidement une application Spring : tout est déjà configuré pour vous, vous n’avez plus qu’à coder vos classes métiers ou vos contrôleurs. Cela faisait très longtemps que j’attendais quelque chose comme cela. A mon avis, la seule chose qui manque à cette plateforme est l’utilisation d’un outil tel que Spring Loaded, afin de permettre de faire du déploiement à chaud (à la Node.js, PHP, Play, etc.). J’ai pu en discuter avec Adrian Coyler, le CTO de Pivotal, et c’est clairement leur objectif.
  • Reactor est un projet permettant de faire de la programmation asynchrone. En reprenant des concepts provenant de l’architecture LMAX, ils arriveraient à 10 millions d’opérations par seconde sur un MacBook. L’objectif est de proposer une stack équivalente à ce que l’on peut voir du côté d’Akka (de Typesafe), mais avec des performances nettement supérieures.
  • Spring XD est un projet devant permettre de faire du “Big Data” avec Spring : c’est un environnement d’exécution pour des applications basées sur Spring Batch, Spring Integration et Spring Data.

Spring 4

Juergen Holler a dévoilé pas mal de nouveautés sur Spring 4 :

  • Une mise à jour complète de toutes les APIs pour suivre les nouveaux standards Java (avec Java 8) et Java EE (JMS, JTA, etc.)
  • Un support particulièrement avancé des Websockets : on y retrouve des nouveautés liées à Reactor, ainsi que le support du protocole Stomp (utilisé par ActiveMQ). Il est probable que cet ensemble devienne un concurrent important pour l’excellentissime framework Atmosphere (que nous avons déjà utilisé chez Ippon avec beaucoup de succès). Personnellement, pour avoir bien étudié la complexité de ce genre d’outil, j’attends de voir quelque chose de plus concret avant de m’emballer.
  • Un support de Groovy complet, qui devient un langage de premier plan pour développer avec Spring

Le nouveau site spring.io

Nous avons eu droit pendant la keynote à une démo un peu risquée de Chris Beam : il a déployé et mis en production en live le nouveau site http://spring.io/ , qui est hébergé sur CloudFoundry.

Je vous laisse aller le consulter : il s’agit du nouveau site de Spring, entièrement refait à neuf, avec en particulier de très nombreux tutoriaux.

Détail amusant, ce site est lui-même une application Spring, qui va être mise en Open Source, afin que chacun puisse en étudier le fonctionnement.

A demain pour plus de nouvelles de SpringOne 2GX !