Upload
johniw2
View
638
Download
2
Embed Size (px)
DESCRIPTION
Introduction au DevOps Présentation du concept DevOps et cas pratique de mise en place du DevOps chez @YuzuUS Auteurs : @CarloDosso & @john_iw2
Citation preview
Introduction au DevOps
SFPot Marseille 2014by Carlo Dosso & Jonathan Martin
Présentation
Carlo Dosso
founder SubitoLabsConsulting ITCTO - 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
MattDéveloppeur
→ Développement de nouveaux produits
→ Nouvelles fonctionnalités
→ Correction de bugs
AlainAdmin 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”
“Mu
r d
e c
on
fusi
on”
Changement Stabilité
Feature
- Pas les mêmes env DEV != PROD
- Pas les mêmes objectifs
- Pas les mêmes responsabilités
VincentCEO
“Time to Market
Stop bullshit
Go DevOps!”
Biz
Business Process
Dev Ops
Méthodes Agiles DevOps
Cas concret
Présentationde
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égrationcontinue
● Lancer les tests unitaires et fonctionnels
● Lancer la vérification de code (PHPCS / PHPMD / PHPCPD / ….)
● Build à chaque push
DéploiementContinue
Ç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 / ...
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èrede penser
Nouveauxoutils
Nouvellescompé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