introduction au devops @sfpot 2014

Post on 27-Jun-2015

636 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introduction au DevOps Présentation du concept DevOps et cas pratique de mise en place du DevOps chez @YuzuUS Auteurs : @CarloDosso & @john_iw2

TRANSCRIPT

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 / ...

<?//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è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

top related