Développer & déployer
dans le cloud
Julien Dubois
Directeur de l’innovation
Ippon Technologies
@juliendubois
Les promesses du cloud
un time-to-market réduit
une expérience utilisateur exceptionnelle
des ressources rationalisées
des applications hautement disponibles
Comment y arriver?
Etre prêt pour le cloud
Automatiser et rationaliser
Rester ouvert
Notre outillage: JHipster
Générateur d’applications Spring + AngularJS
Projet Open Source
Leader dans son domaine
Nombreux articles dans la presse, nombreuses conférences
Très populaire sur Github
15 000 téléchargements/mois, 

220 000 pages/vues par mois
Utilisé chez Ippon pour nos projets clients
http://jhipster.github.io/
Comment y arriver?
Etre prêt pour le cloud
Automatiser et rationaliser
Rester ouvert
Penser « cloud » dès la conception
Une application « cloud » ne s’improvise pas
L’application « 12 Factor »
http://12factor.net/
Méthodologie documentant 12 pratiques qui permettent de
créer un logiciel « as a service »
Couvre le développement, le déploiement, la gestion de la
production
Scalabilité
Stateless vs stateful n’est plus une question dans le cloud
La scalabilité est essentielle: vous devez être stateless
Votre application doit s’arrêter et démarrer rapidement
Elasticité et résilience
Votre architecture doit pouvoir
Utiliser des services externes
Résister aux pannes
Exemple de Cassandra
Survit à la perte d’un noeud, d’un 

rack, ou même d’un Data Center
Les mises à jour se font sans arrêt de service
L’ajout d’un noeud dans le cluster est une opération normale
Monitoring
Le monitoring et les logs sont
essentiels dans le cloud
Feedback rapide sur l’état des
applications et du cloud
Suivi des métriques
JVM, requêtes HTTP, pool de
connexion, cache
Statistiques avancées sur les objets
Java et les Beans Spring
Santé des ressources externes
Base de données, serveur de mail
Comment y arriver?
Etre prêt pour le cloud
Automatiser et rationaliser
Rester ouvert
Tout automatiser
3 buts
Garantir la qualité
Augmenter la célérité
Faciliter les tâches répétitives
L’automatisation avec JHipster
De nombreux workflows sont fournis par JHipster
Création de nouveaux écrans
Mise à jour de la base de données
Tests multi-devices
Concaténation et minification du code JavaScript/CSS
Déploiement dans le cloud
Ces workflows fonctionnent tous les uns avec les autres,
de manière unifiée
Mise en place d’un projet
En quelques minutes, JHipster permet de générer un
projet complet
Respectant les meilleures pratiques des communautés Spring et
AngularJS
Avec une configuration automatique des outils de
build (Maven, Grunt)
gestion de source (Git)
déploiement (CloudFoundry)
Tests multi-devices
L’utilisation de BrowserSync permet de développer en temps réel
Hot reload du code « front »
Tests multi-device
Versioning de la base de données
Liquibase permet de versionner le schéma de base de données
Facilite grandement le travail en équipe
Facilite les tests et l’intégration continue
Automatise les mises en production
Comment y arriver?
Etre prêt pour le cloud
Automatiser et rationaliser
Rester ouvert
Etre ouvert
Plusieurs bases de données
Plusieurs clouds
SQL ou NoSQL?
Utiliser la meilleure base pour chaque cas d’utilisation
particulier
SQL quand on veut de la sécurité et une API puissante
Cassandra pour des performances extrêmes en écriture
MongoDB pour stocker des documents
« Polyglot persistence » — Martin Fowler
JHipster permet de gérer des applications avec chacune de
ces technologies
Déployer sur plusieurs clouds
Utiliser des APIs propriétaires revient à s’enfermer sur un
cloud
Migrations complexes
Coûts élevés
Il faut aussi être polyglotte dans le cloud
JHipster propose des déploiements automatisés sur les
grands PaaS du marché
Dont CloudFoundry
Utiliser CloudFoundry en public et en privé
La particularité de CloudFoundry est qu’il peut être utilisé
en public comme en privé
C’est l’une des grandes forces de la solution
C’est pour cela que nous conseillons CloudFoundry
Une application JHipster se déploie en une seule
commande sur
Le cloud public de Pivotal
Le cloud privé d’Ippon
Et tout autre cloud CloudFoundry public ou privé
Bilan
Le cloud permet d’avoir l’agilité, la célérité 

et la maîtrise des coûts
Il impose néanmoins des méthodologies, un outillage et
une expertise importantes
Ippon Technologies démontre ces compétences via
JHipster, notre socle de développement et de déploiement
rapide
Ippon Hosting, notre instance privée CloudFoundry et notre
service broker Cassandra
Présentation technique de JHipster
Nous proposons des sessions de type
« Brown Bag Lunch »
Présentation technique de 1 à 2 heures
Le midi
Où nous pouvons coder ensemble une
application de A à Z
En finissant par un déploiement sur
CloudFoundry!

Développer et déployer dans le cloud

  • 1.
    Développer & déployer dansle cloud Julien Dubois Directeur de l’innovation Ippon Technologies @juliendubois
  • 2.
    Les promesses ducloud un time-to-market réduit une expérience utilisateur exceptionnelle des ressources rationalisées des applications hautement disponibles
  • 3.
    Comment y arriver? Etreprêt pour le cloud Automatiser et rationaliser Rester ouvert
  • 4.
    Notre outillage: JHipster Générateurd’applications Spring + AngularJS Projet Open Source Leader dans son domaine Nombreux articles dans la presse, nombreuses conférences Très populaire sur Github 15 000 téléchargements/mois, 
 220 000 pages/vues par mois Utilisé chez Ippon pour nos projets clients http://jhipster.github.io/
  • 5.
    Comment y arriver? Etreprêt pour le cloud Automatiser et rationaliser Rester ouvert
  • 6.
    Penser « cloud» dès la conception Une application « cloud » ne s’improvise pas L’application « 12 Factor » http://12factor.net/ Méthodologie documentant 12 pratiques qui permettent de créer un logiciel « as a service » Couvre le développement, le déploiement, la gestion de la production
  • 7.
    Scalabilité Stateless vs statefuln’est plus une question dans le cloud La scalabilité est essentielle: vous devez être stateless Votre application doit s’arrêter et démarrer rapidement
  • 8.
    Elasticité et résilience Votrearchitecture doit pouvoir Utiliser des services externes Résister aux pannes Exemple de Cassandra Survit à la perte d’un noeud, d’un 
 rack, ou même d’un Data Center Les mises à jour se font sans arrêt de service L’ajout d’un noeud dans le cluster est une opération normale
  • 9.
    Monitoring Le monitoring etles logs sont essentiels dans le cloud Feedback rapide sur l’état des applications et du cloud Suivi des métriques JVM, requêtes HTTP, pool de connexion, cache Statistiques avancées sur les objets Java et les Beans Spring Santé des ressources externes Base de données, serveur de mail
  • 10.
    Comment y arriver? Etreprêt pour le cloud Automatiser et rationaliser Rester ouvert
  • 11.
    Tout automatiser 3 buts Garantirla qualité Augmenter la célérité Faciliter les tâches répétitives
  • 12.
    L’automatisation avec JHipster Denombreux workflows sont fournis par JHipster Création de nouveaux écrans Mise à jour de la base de données Tests multi-devices Concaténation et minification du code JavaScript/CSS Déploiement dans le cloud Ces workflows fonctionnent tous les uns avec les autres, de manière unifiée
  • 13.
    Mise en placed’un projet En quelques minutes, JHipster permet de générer un projet complet Respectant les meilleures pratiques des communautés Spring et AngularJS Avec une configuration automatique des outils de build (Maven, Grunt) gestion de source (Git) déploiement (CloudFoundry)
  • 14.
    Tests multi-devices L’utilisation deBrowserSync permet de développer en temps réel Hot reload du code « front » Tests multi-device
  • 15.
    Versioning de labase de données Liquibase permet de versionner le schéma de base de données Facilite grandement le travail en équipe Facilite les tests et l’intégration continue Automatise les mises en production
  • 16.
    Comment y arriver? Etreprêt pour le cloud Automatiser et rationaliser Rester ouvert
  • 17.
    Etre ouvert Plusieurs basesde données Plusieurs clouds
  • 18.
    SQL ou NoSQL? Utiliserla meilleure base pour chaque cas d’utilisation particulier SQL quand on veut de la sécurité et une API puissante Cassandra pour des performances extrêmes en écriture MongoDB pour stocker des documents « Polyglot persistence » — Martin Fowler JHipster permet de gérer des applications avec chacune de ces technologies
  • 19.
    Déployer sur plusieursclouds Utiliser des APIs propriétaires revient à s’enfermer sur un cloud Migrations complexes Coûts élevés Il faut aussi être polyglotte dans le cloud JHipster propose des déploiements automatisés sur les grands PaaS du marché Dont CloudFoundry
  • 20.
    Utiliser CloudFoundry enpublic et en privé La particularité de CloudFoundry est qu’il peut être utilisé en public comme en privé C’est l’une des grandes forces de la solution C’est pour cela que nous conseillons CloudFoundry Une application JHipster se déploie en une seule commande sur Le cloud public de Pivotal Le cloud privé d’Ippon Et tout autre cloud CloudFoundry public ou privé
  • 21.
    Bilan Le cloud permetd’avoir l’agilité, la célérité 
 et la maîtrise des coûts Il impose néanmoins des méthodologies, un outillage et une expertise importantes Ippon Technologies démontre ces compétences via JHipster, notre socle de développement et de déploiement rapide Ippon Hosting, notre instance privée CloudFoundry et notre service broker Cassandra
  • 22.
    Présentation technique deJHipster Nous proposons des sessions de type « Brown Bag Lunch » Présentation technique de 1 à 2 heures Le midi Où nous pouvons coder ensemble une application de A à Z En finissant par un déploiement sur CloudFoundry!