Upload
julien-dubois
View
482
Download
2
Embed Size (px)
Citation preview
Développer & déployer dans le cloud
Julien DuboisDirecteur de l’innovationIppon 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: JHipsterGé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ésilienceVotre 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
MonitoringLe 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 automatiser3 buts
Garantir la qualité
Augmenter la célérité
Faciliter les tâches répétitives
L’automatisation avec JHipsterDe 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-devicesL’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éesLiquibase 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!