44
Chtijug 2011

Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Chtijug 2011

Page 2: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Gildas Le Nadan<[email protected]>

Freelance

Thomas Clavier<[email protected]>

AZAÉ

Page 3: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Devops, une définition

Page 4: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Devopsest un mouvement

visant àl'alignement du SI sur les

besoins de l'entreprise

(à commencer par l'alignement développement/exploitation)

Page 5: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Concrètement ?

Travailler ensemble Créer de la valeur

Page 6: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Devops n'estni un rôle

ni une étiquetteni un label

Pas besoin de savoir faire les deux métiers

Pas uniquement un problème de techniciens (devs, ops)

Page 7: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Pourquoi devops ?

Page 8: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Je viens tout juste d'entendre parler d'un endroit où les bonus de la prod sont liés à la dispo et ceux des devs aux milestones #payerlesgenspourquilssebattent #pasdevops :)

@allspaw

Page 9: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Dev et Ops sont dans un bateau...

Créer source de valeur (potentiel)vs.

Créer de la valeur via la fourniture d'un service (réalisé)

Page 10: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Eux contre Nous

Page 11: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Communication et partage

Il était une fois un éditeur de solution ASP

Renouer le dialogue “Vis ma vie” (ou le feedback)

Page 12: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Dev et Dev sont dans un bateau...

Rachat de société Communication entre

applications Localisation physique Développement initial vs TMA

Page 13: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Le savez vous ?

Combien de types d'utilisateurs votre application a-t-elle?

Page 14: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Une application=

2 classes d'utilisateurs

Utilisateurs finaux

Administrateurs/ intégrateurs/ paramétreurs

Page 15: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Vos fichiers de config et vos logs sont souvent les seules interfaces utilisateurs des admins. Pensez à l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop

@ripienaar

Page 16: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Besoins non fonctionnels

Traçabilité Fichiers de logs lisibles par un être humain

Temps de réponse PackagingGestion des mises à jour Contrôle d'accèsChargement Auditabilité Temps de réponse

Sécurité Stabilité ConfigurationGestion des ressources partagées

Montée en charge Diagnostic

Gestion des versions Gestion des erreurs matériels

Page 17: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Déploiement, packaging

Repackaging en rpm de fichiers war Difficulté de gestion de versions

entre composants Incrémental vs. Scratch Modification de fichiers XML difficile

à automatiser Modifications Bases de Données

Page 18: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Quelques pistes...

Utilisation de $(catalina.base) et nonde chemins absolus

Ni URL absolue, ni numéro de port 2 logs : technique et fonctionnel Configuration modifiable par la

production en dehors des war Les erreurs de configuration doivent

bloquer le démarrage

Page 19: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Monitoring

Il faut des API neutres du point de vue langage ! Interfaçage malaisé avec JMX dans d'autres langages

Éviter les couplage forts et les dépendances sur des outils particuliers

Page 20: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Monitoring orienté service

CPU, occupation disque, mémoire? trop technique pas assez orienté service (= valeur)

Les applications doivent remonter des métriques et informations fonctionnelles

Page 21: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Où est on ?L'importance de la mesure

Page 22: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Mesure

Des indicateurs techniques pour les diagnostics et la métrologie

Des indicateurs business pour piloter l'activité

Construire les indicateurs en Bottom-Up pour augmenter leur pertinence

Page 23: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Key Performance Indicators

Temps de réponse d'une applicationweb en mode ASP

Nombre de versions majeures déployées par an

Rentabilité d'un projet pour une web agency

Page 24: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Réduirele risque

Page 25: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Automatisation

Gestion des sources

Tests

Déploiements

Gestion de la configuration

Page 26: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Intégration continue

FAIL FAST! Test unitaires Couverture de code?

Déploiement continu en production?

Page 27: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Tests unitaires et Tests de Service sont dans un bateau...

Couvrir les tests de service avec des tests unitaires?

Bonne idée Pas toujours réalisable

Attention aux décalages avec le monitoring !

Page 28: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Montée en charge

Difficile à testerBench en phase acceptation = trop tard

Solutions ? Tests unitaires en Intégration

Continue A/B testing Feature Switches vs. Branches

Page 29: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Tests d'éléments extérieurs

Base de Données, Subversion, ESB, etc

Tests aux limites : Erreurs IO Réseau saturé Système de fichiers plein Variation temps de réponse

Page 30: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

L'informatique encore de nos jours suppose que l'on fonctionne dans un monde idéal. Rien n'est plus faux.

Mark Burgess

Page 31: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

La création devaleur

Page 32: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Approche holistique

Création d'un optimum local en Développement mais création d'un

environnement dégradé en production

80% du temps en palliatifvs.

20% du temps en création de valeur

Page 33: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Optimum local à un silovs.

Optimum commun à deux silos

Page 34: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Et si on livrait ?

Produire de la valeur au plus tôt même avec une application très simple

De l'itératif, pas de Big-Bang

Couplage faible

Page 35: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Mettre en placedevops

Page 36: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Chacun sa croix

Pas de méthode unique mais des axes (CAMS)

Dépend de : Votre entreprise Vos objectifs Vos problèmes / difficultés spécifiques

Page 37: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Objectif d'une société

Vue simpliste : créer de la valeur

Quelle valeur ? Rôle économique Rôle social/sociétal Long terme/court terme

Page 38: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Le cas idéal

La demande vient de la direction, qui vous soutient et vous laisse toute liberté

La startup qui part de 0 et c'est vous le patron

Page 39: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

À mettre en place

Des équipes pluridisciplinaires, orientées projet

Des outils communs (documentation, mesure, intégration continue, automatisation)

Page 40: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

La vraie vie

Convaincre en présentant des arguments (des mesures, un plan actionnable, un ROI, etc.)

Pas de révolution, de l'incrémental!

Page 41: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

J'ai rien compris à son mail, il parlait de “ROI”. C'est quoi, un nouveau format de bannière?

@WebAgencyFail

Page 42: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Guerilla devops

Lorsque tout le reste à échoué

Profiter d'une correction fonctionnelle pour intégrer une réponse à un besoin non fonctionnel

Création d'une boucle vertueuse d'amélioration continue sans nécessité d'un support du management

Page 43: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

Questions ?

Page 44: Chtijug 2011 - DevOps · 2011-05-19 · l'expérience utilisateur associée aux fichiers XML et aux exceptions. #devop @ripienaar. Besoins non fonctionnels Traçabilit ... web en

En savoir plus

http://devops.fr/http://www.devopsdays.org/http://www.devopscafe.org/http://www.planetdevops.net/

https://gitorious.org/java-devopshttp://www.slideshare.net/cyrille.leclerc/bonnes-pratiques-des-applications-java-prtes-pour-la-production