Introduction au DevOps
SFPot Marseille 2014
by Carlo Dosso & Jonathan Martin
Présentation
Carlo Dosso
founder SubitoLabs
Consulting IT
CTO - Yuzu
@CarloDosso
Jonathan Martin
Lead Tech - Yuzu
@john_iw2
DevOps ?
Faire travailler en équipe les Devs et les
Ops vers des objectifs communs.
√ Déployer plus vite
√ Déployer plus régulièrement
√ Moins d'erreurs lors des déploiements
Matt
Développeur
→ Développement de nouveaux produits
→ Nouvelles fonctionnalités
→ Correction de bugs
Alain
Admin Sys
(Ops)
→ Installation plateforme de Production
→ Monitoring et mises à jour
→ Assurer un taux de disponibilité > 99%
“Je ne comprends pas,
moi ça marche en dev,
faut voir avec Alain”
“Tous les services sont UP,
pas de charge.
Le problème vient du dév,
faut voir avec Matt”
“J’ai pas les droits sur le
serveur, je ne peux pas voir
les logs d’erreur pour
corriger le problème”
“Si je lui donne les accès au
serveur, il risque de créer
plus de problèmes qu’autre
chose”
“Murdeconfusion”
Changement Stabilité
Feature
- Pas les mêmes env DEV != PROD
- Pas les mêmes objectifs
- Pas les mêmes responsabilités
Vincent
CEO
“Time to Market
Stop bullshit
Go DevOps!”
Biz
Business Process
Dev Ops
Méthodes
Agiles DevOps
Cas concret
Présentation
de
Yuzu
Yeah we sommes Americanouz !!!
Yuzu est une plateforme FR-US de recommandation d’offres commerciales personnalisées cross canal
en post-achat
Features techniques:
● Prediction, Machine learning, Text mining
● Fingerprinting, Taxonomy
● ...
Quelques technologies:
● Java/Scala
● Spark
● Php: Sf2, Phalcon
● Nodejs
● MongoDB, CouchBase, Hbase
● ...
Les branches, c’était le bordelMAIS ÇA C’ÉTAIT
AVANT
Versioning
Bitbucket + GitFlow + Merge request =>
Adoptez un “Flow” de développement ...
… ainsi qu’un cadre de travail !!!!
Les IDE
Bon on va peut être arrêter Notepad *
Features indispensables:
● Introspection, Autocompletion
● Debug pas à pas ( stop aux alias var_dump();die(); )
● Gestion du versioning intégré
● Integrations de plugins de suivis ( Jira ..)
(*) et Pspad
04h30: Noooon, la lib curl est pas installée en
prod !!
Environnements
de travail
Déployez vos environnements tels des applicatifs
● Environnements “ISO”s End-To-End
● Pas de surprises
● Migrations de versions plus aisées
● Inventaire précis
Tests
● Tests unitaires
● Tests fonctionnels
● Augmente la qualité du code/projet
● Non régression !
Intégration
continue
● Lancer les tests unitaires et fonctionnels
● Lancer la vérification de code (PHPCS / PHPMD / PHPCPD / ….)
● Build à chaque push
Déploiement
Continue
Ça c’était avant : FTP, SVN, RSync
Déploiement manuel moderne : Fabric / Capistrano / Capifony
Déploiement continue : généralement lié à l’outil d’intégration continue ou outils
dédiés comme codeship / ansible / ...
<?
//jean.claude
//Monitoring 1996
if($log){
mail(“jean.claude.dev1@bigboite.fr”,”log moi”,”Je suis
un log”);
}
Monitoring
Une chose les plus importantes dans le devops !
● Monitorer l’infrastructure
● Monitorer l'Applicatif et Business
montée en
compétences
Partage de compétences ...
… et partage de responsabilités !
Nouvelle manière
de penser
Nouveaux
outils
Nouvelles
compétences+ +
Les bénéfices
● Se concentrer uniquement sur ce qui crée de la valeur ajoutée
● Meilleure collaboration des équipes dev/ops
● Meilleure qualité
● Déploiement plus réguliers
Questions ?
Carlo Dosso
@CarloDosso
Jonathan Martin
@john_iw2

Introduction au DevOps @SfPot 2014

Notes de l'éditeur

  • #4 Qui n’a jamais entendu parlé du DevOps ? Qui connait une définition simple et précise du devops ? Avant de vous donner une définition précise, on va juste retourner à l’origine du devops.
  • #17 1/ La demande vient de la partie business (dans ce cas là, “y’a plus qu’à”) 2/ La demande vient de votre côté (dans ce cas là, faite cette présentation devant la direction pour leur vanter les mérites et mettez en avant les points faibles de l’organisation actuelle)
  • #22 Centralisation, Svn , svn merge Pas de cadre de commit, branches
  • #23 * Frontpage * Dreamweaver * Notepad++ * Zend studio & Eclipse * Sublime text & Netbeans & PHPStorm & VIM
  • #33 En résumé le devops c’est aussi ça !