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

Le développement SaaS vite fait, bien fait

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
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

Transcript

21 slides
  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

More Decks by SysFera

Other Decks in Technology