Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Le développement SaaS vite fait, bien fait

SysFera
February 15, 2013

Le développement SaaS vite fait, bien fait

Développer des applications SaaS nécessite d'avoir une grande réactivité pour fournir de nouvelles fonctionnalités à vos utilisateurs, et pour corriger les potentiels bugs. Nous présentons différents outils open-sources permettant de simplifier la vie à vos développeurs pour faire du déploiement continu sur du cloud : GIT & Jenkins.

SysFera

February 15, 2013
Tweet

More Decks by SysFera

Other Decks in Technology

Transcript

  1. LE DÉVELOPPEMENT SAAS VITE FAIT, BIEN FAIT Benjamin Depardon –

    CTO@SysFera 15 février 2013 15 février 2013
  2. Présentateur : Benjamin Depardon • Directeur Technique de SysFera • Ingénieur informatique,

    Docteur informatique distribuée • Issu de l’INSA Lyon et ENS-Lyon • Expertise sur les problématiques techniques SaaS, Cloud, Open Source, HPC, Systèmes distribués 15 février 2013 Blogs blog.sysfera.com Twitter @SysFera @bdepardon
  3. SysFera •  Editeur de logiciels •  Missions : Aider les

    éditeurs et les gestionnaires d’infrastructures à adopter un Business Model SaaS •  Références : 15 février 2013
  4. Le SaaS 15 février 2013 Private Infrastructure CIO Marketing End

    User End User Public Cloud Data storages Deliver software, data & manage IP Analytics & Money No installation Instant usage "Heterogeneous" Infrastructure Admins DevOps Solution SaaS
  5. Spécificité des devs SaaS •  Montées de versions (très) fréquentes

    •  Remontées d’informations en direct •  Possibilité d’ajouter de la valeur rapidement •  Adaptation aux besoins des utilisateurs •  Do or Die : bug/perte de service -> départ du client •  Principes de l’agilité •  Un seul environnement •  Pas de déploiement on-premise •  Environnement contrôlé de bout en bout •  Simplification des tests •  Choix du cloud provider est central 15 février 2013
  6. GIT •  Pourquoi GIT ? •  Versionner son code • 

    Pouvoir revenir en arrière à n’importe que moment •  Architecture décentralisées -> facilite les collaborations •  Hiérarchie de repositories •  Workflows adaptable à votre organisation •  Centralisé •  Integration-Manager •  Dictateur-lieutenants •  Branches •  GitHub 15 février 2013
  7. Intégration Continue •  Pratique débutée à la fin des années

    90 comme une pratique XP •  La construction et test continuels d’un soft devrait améliorer sa qualité •  Les tests sont souvent limités aux tests unitaires… •  …parfois des tests fonctionnels sont également inclus 15 février 2013 Build Test Package Deploy
  8. Jenkins •  Serveur CI OSS (MIT License) •  Fork de

    Hudson en 2010 (créé en 2007) •  Développé en Java •  Simple à installer •  Serveur inclus dans le .war… •  … ou déploiement du .war dans un Tomcat •  Plus de 600 plugins pour customiser votre installation •  Interface graphique •  Plugins vers des outils externe (analyse de code, SCM, authentification, build tools…) •  Support des principaux SCM 15 février 2013
  9. Déléguez au maximum à Jenkins •  Les merges •  Les

    devs commitent dans des branches •  Jenkins scrute les branches et tente de merger •  Si le merge et les tests passent, Jenkins push sur le master 15 février 2013 Master Monkey 1 Monkey 2 X X
  10. Déléguez au maximum à Jenkins •  Les tests •  Plus

    de tests locaux •  Gain de temps pour les devs (informés en cas de pb) 15 février 2013
  11. Déléguez au maximum à Jenkins •  La vérification de qualité

    de code •  Couverture de code •  Détection de warning, todo 15 février 2013
  12. CI et Cloud •  Ressources on demand pour vos tests…

    •  … ou pour votre prod •  Plusieurs environnements disponibles •  Possibilité de tester facilement des changements d’environnements •  Déploiements identiques entre env. de dev/pré-prod/prod •  Déploiement de x instances •  Poussez vos packages/artefacts sur un cloud storage 15 février 2013
  13. Jenkins et le cloud •  Jenkins •  Fait pour distribuer

    les builds •  Slaves internes ou Cloud (Amazon, DeltaCloud, jClouds, vSphere… 15+ plugins) 15 février 2013
  14. Intégration dans le cycle agile Sprint 1 Sprint 2 Sprint

    3 Sprint 4 15 février 2013 Sem 1 Sem 2 Sem 3 Sem 4 Sem 6 Sem 7 Sem 8 Sem 9
  15. Intégration dans le cycle agile Sprint 1 Sprint 2 Sprint

    3 Sprint 4 15 février 2013 Sem 1 Sem 2 Sem 3 Sem 4 Sem 6 Sem 7 Sem 8 Sem 9
  16. Intégration dans le cycle agile Sprint 1 Sprint 2 Sprint

    3 Sprint 4 15 février 2013 Sem 1 Sem 2 Sem 3 Sem 4 Sem 6 Sem 7 Sem 8 Sem 9 PRE-PRODUCTION
  17. Intégration dans le cycle agile Sprint 1 Sprint 2 Sprint

    3 Sprint 4 15 février 2013 Sem 1 Sem 2 Sem 3 Sem 4 Sem 6 Sem 7 Sem 8 Sem 9 PRE-PRODUCTION PRODUCTION
  18. MERCI ! 15 février 2013 Pour aller plus loin, les

    formations SysFera : •  Formation Git : 26-27/02/2013 •  Formation Intégration Continue : 26-27/03/2013 •  Formation AWS : date à déterminer @bdepardon <[email protected]> @SysFera <[email protected]> Blog : blog.sysfera.com