Deployer des sites web réalisés en java avec Play framework sur le cloud computing.

Le propos de cet article est d’aborder le déploiement de site web réalisés avec play framework 1.2.X sur le cloud computing.

J’envisage d’écrire un nouvel article sur le déploiement de site web réalisés avec Play! 2.X.

C’est un article technique.

Construire un site WEB

La construction d’un site web requiert les compétences d’une équipe de spécialistes. Il faut travailler sur l’ergonomie, sur la charte graphiques et les traitements de l’information.

Logo de Play framework

Le framework Play 1.2.X a été construit pour les développeurs, est propose de nombreux raccourcis et mécanismes pour simplifier la vie du concepteur.

Il repose sur Java.

Je vais en citer trois:

  • le rechargement et la recompilation du code à la volée,
  • les tests (unitaires et fonctionnelles),
  • l’utilisation des modules externes.

Pour une présentation, un peu plus avancée,  je vous invite a lire Play! Framework sur le blog OCTO.

Le processus de construction a été simplifié par rapport à d’autres framework java, tel que SpringStruts , et bien d’autres.

Nous allons nous pencher sur le choix des plateformes d’hébergement.

Les diverses solutions Cloud computing avec Play framework.

Le cloud computing est une notion abstraite dont je parle beaucoup sur mon blog. C’est une tendance de fond de l’informatique, autour la réduction des coûts des infrastructures, autour de la rationalisation des moyens informatiquse et autour du processus de création logiciel.

Le cloud computing est perçu par de nombreuses personnes comme de l’infogérance, a juste titre. Les sociétés de service en ingénierie informatique proposent désormais de plus en plus des solutions infrastructures Cloud computing et des prestations informatiques.

Une société loue à une autre société des ressources et des moyens informatiques couteux qu’elle n’a pas. La Société s’engage sur la maintenance et l’administration des machines. La touche « cloud », c’est la location à l’usage.

L’informatique est dans le nuage (le cloud), malgré tout, les décideurs et les responsables informatique désirent savoir ou sont hébergés les informations et les données, et pouvoir conserver la maitrise de la création de valeur.

L’adoption de play framework sur le cloud est lié à la levée des obstacles juridiques , en termes de sécurité des données et des traitements, à la proximité (de l’infogérant) . Les entreprises sont prêtent à investir dans des sociétés garantes de stabilité.

Un autre point, play framework généralise des us et des secrets liés à la construction d’applications distribués.

Nous somme loin du Play Framework : symphonie technologique ou solo de pipeau ?. La technologie plug and play fonctionne, elle se propage de plus en plus . Je dirais qu’elle dépasse les parents, les concepteurs. Lors de la rédaction de cet acticle, je suis tombé sur la fermeture prochaine de playapps.net le 30 juin au profit de heroku.

Je me suis amusé à faire le tour des diverses solutions d’hébergement. Je vais commencer par la première solution que j’ai testé.

Google Application Engine – ou GAE.

Google application engine est un kit de développement pour construire des sites web pour la plateforme de cloud computing de google (le PAAS de google).

La plateforme de google se base sur des briques logicielles java modifiées à la sauce google.

Lors de la création du site web, il est conseillé au développeur d’utiliser un certain nombre de module du framework Play 1.2.X.

  • module GAE
  • module siena
  • module crud siena.

Le module Gae permet de convertir une application play en war pour GAE. Le module propose une émulation native du comportement de GAE.

Le module siena remplace la couche d’accès aux données. Ce module propose des services de plus au niveau par rapport au API native JPA de GAE.

Le module crud-siena remplace le module crud standard de play. Il réalise les mêmes opérations sur siena.

Il existe de très bons tutoriels sur le net. Je vais en citer deux.

Après la phase découverte, le développeur découvre une frustration sur la gestion des listes d’objets multiples (manytomany), sur la gestion du cache (memcache), etc. Si, j’utilise un moteur de recherche (Lucene), une librairie X, pourquoi ils ne fonctionnent pas ?

L’inconvénient de google, est la grosseur de google. Ou sont mes données ? mes traitements ? . C’est gratuit pour commencer et ensuite ?. La politique tarifaire est claire.

Ce qui me gène, c’est le besoin d’écrire une application play framework pour GAE. Pourquoi faire simple quand on peux faire compliquer ?. Malgré tout, je connais des personnes qui ont réussi sur google.

Heroku

Qui est heroku ? Une petite présentation en français sur le Blog du touilleur express.

La société hedoku est lié à la société salesforce, qui est le leader incontesté du cloud computing et du CRM. C’est une société américaine (je crois), qui dispose de nombreux sites de part le monde.

La solution hedoku propose l’hébergement de site web play en natif (pas de réécriture de l’application).

Voici, un petit tutoriel 1.2.X sur mac pour commencer avec heroku. ( J’ai lu heroku offre gratuitement 5MB d’espace sur une base de données PostgreSQL) . J’ai trouvé aussi un lien pour les applications Play 2.0.X.

Ou sont mes données ? mes traitements ? La solution est beaucoup plus séduisante. C’est la solution mise en avant par l’équipe de Play Framework.

Les autres

* Cloudbees

J’ai découvert une petite présentation sur cloudbees.

* Cloud Foundry

C’est un projet Open Source autour de Vmware,  qui permet de monter une plate-forme de cloud privée.

Voici un petit tutoriel sur le sujet et  un descriptif du projet

* Jelastic.

J’ai découvert la possibilité de déployer des sites web sur jelastic, il y a quelques jours.

Un tutoriel pour déployer des applications play sur Jelastic.

* Il en existe d’autres.

Il y a de plus en plus d’hébergeurs d’applications java sur internet, qui surfent sur la vague Cloud.

Une petite liste en anglais.

Conclusion

L’hébergement d’application java sur le cloud computing est un modèle qui se recherche. Je pense qu’il faut privilégié les modèles simples, légers de développement , de rechercher les solutions prés de chez vous et de favoriser l’émergence de société cloud computing française et ou européenne.

Le but du cloud computing c’est de développer les usages, de ce concentrer sur la création de valeur, d’expérience utilisateur, de sérendipité (découverte heureuse).  Je vous invite a découvrir pour finir le consortium Nuage, pour un cloud hexagonal autour de nos PMEs.

A propos Duarte TERENCIO

Chef de projet et Architecte J2EE - Portail d'entreprise - Cloud computing Vous trouverez plus d'information sur la page "Me contacter"
Cet article, publié dans Cloud computing, Programmation, est tagué , , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s