Download - Introduction à DevOps

Transcript

Donnez votre avis sur :

http://notes.mstechdays.fr

Introduction àDevOps

Stanislas Quastana

Architecte Infrastructure

@squastana

Les protagonistes du Système d’information

Agenda

• La problématique

• C’est quoi ? Pourquoi ?

• Pour qui ?

• Intérêts ?

• Prérequis ?

• Par où commencer ? Outils, méthodes

La problématique

On plante le décor

ProductionExploitation

Production

Exploitation

Production

Exploitation- ITIL

- MOF

- Agile-

infrastructure…

ITOps

Kiparlaki ?

Designer Développeur Testeur Intégrateur

DSI

CDP

Sécurité

Système

Réseaux

X

X

X

X

X

X

X

XX

DEV / CREATION

IT / OPS

RANCOEURS

SERVICE

DevOps c’est quoi ?

Au-delà du buzz marketing et des soirées du mercredi

DevOps

IT

DevOps – définition Wikipédia

• Inventé par Patrick Debois en 2009 durant l'organisation des premiers devopsdays.

• DevOps est un mouvement visant à réduire la friction organisationnelle entre les "devs" et les « ops ».

DevOps - Définition

• Devops est la contraction des termes anglais « development » (développement) et « operationsIT » (exploitation).

• L’approche DevOps prône une meilleure communication entre les équipes de développement et d’exploitation, afin d’améliorer la conduite de projet

DevOps – Vu du Gartner

“The DevOps movement was born of the need to improve IT service delivery agility and found initial traction within many large public cloud services providers. Underpinning DevOps is the philosophy found in the Agile Manifesto, which emphasizes people (and culture) and seeks to improve collaboration between operations and development teams. DevOps implementers also attempt to better utilize technology—especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective”NDLR : cette image n’a aucun rapport, elle nous a juste fait marrer

DevOps pour qui ?

DevOps pour tous ?

Pour quels types d’organisations ?

• Les acteurs du Web / Mobile

• Industrie (objets connectés)

• Éditeurs de logiciels

• Fournisseurs de services Cloud

• Jeux

• …

Pour quelles tailles d’organisation ?

• L’approche DevOps est très adaptée aux petites structures (startup)• Normal : petite structure = communication plus facile et compétences plus

généralistes

• Elle est néanmoins également adoptable dans de grandes organisations• Sous réserve de bien s’y prendre

• Quelques exemples :

Pour quelles tailles d’organisation ?

Pour quels types d’applications / services ?

• Parfait pour les applications de type• Web

• Jeux

• Web Mobile

• Mobile (/!\ à la fréquence des mises à jours)

• Moins adapté à des applications Client / Serveur mais envisageable si utilisation de certaines technologies facilitant le déploiement• Click-Once

• Application distante (RemoteApp) via VDI

DevOps : quels bénéfices ?

Un intérêt pour tous !

Vision pré-DevOps

« Vite vite on met en

production »

« Ne pas confondre vitesse et précipitation. La production c’est

du sérieux »

Qui est responsable ? Approche classique

• Les développeurs produisent du code à partir d’une demande détaillées dans un cahier des charges

• Les développeurs ne sont pas souvent préoccupés par l’impact de leur code sur la production• le travail du développement semble terminé (pour les dev) lorsque l'application

passe en production

• Les services opérant la production sont concentrés sur la stabilisation des services et moins concernés par la performance du code

Qui est responsable ? Approche DevOps

• DevOps = répartition des responsabilités et implication de l’ensemble des acteurs de la chaines.

• Exemple chez Microsoft avec Office 365

Autre exemple -> Amazon :

« You build it, you run it »

Source : http://thenextweb.com/insider/2011/10/05/amazons-cto-amazon-is-a-technology-company-we-just-happen-to-do-retail/

Intérêts d’adopter une démarche DevOps

• Réduire le cycle de mise en production

• Approche plus fragmentée • Petites évolutions vs révolution

• Mises à jour transparentes

• Mise en commun des responsabilités• tout le monde dans le même bateau

• Amélioration continue

Intérêts d’adopter une démarche DevOps

• Réduction du coût de mise en production

• Réponse plus rapide aux besoins des clients (internes ou externes)

• Etre plus compétitif• Tant qu’un logiciel ou service n’est pas mis en production, il n’apporte aucune

valeur à son éditeur ou fournisseur

• L’approche DevOps est clairement là pour servir le business avant tout

• Exemple : le marché des navigateurs Web

Quelques chiffres

• Source : Etude CA “What smart businesses know about devops”.

• Panel : 1300 décideursIT répartis dans 21 pays

• Disponible surhttp://aka.ms/devopsca

DevOps : comment démarrer ?

On se lance !

Prérequis pour démarrer du DevOps

• Méthode Dev agiles

• Méthodes IT

Méthodes IT

Méthodes Dev

Méthode de travail – côté développeurs

Dev / Création

Cahier des chargesRésultat

Méthode de travail – côté développeurs

dev

Cahier des chargesRésultat

dev

Cahier des chargesRésultat

dev

Cahier des chargesRésultat

dev

Cahier des charges

Résultat

Méthode de travail - côté développeurs

• Méthodes traditionnelles : métaphore du BTP

• Méthodes agiles : autres métaphores plus adaptées

• Scrum = mêlée au rugby

Méthode de travail - côté développeurs(les Ops sont les bienvenus)

Mise à jour du

Backlog produit

Implémentation

ValidationDéploiement

Feedback

Résultat correspondant au besoin

Par où commencer ? L’organisationnel

• Penser amélioration continue

• Faire un état des lieux• Prendre conscience de là où on est, c’est le début de l’amélioration

• Commencer sur un périmètre réduit : une application, un espace géographique…• Commencer par une « petite » révolution

De l’importance des feedbacks internes

• Il faut mettre en œuvre un processus et des outils de collecte des feedbacks

• Chaque membre de l’équipe doit pouvoir participer

• La boite à idée moderne :• Version privée de user voice ?

• Forum privé ?

• Yammer ?

• Newsgroups

DevOps : quels outils technologiques ?

Le bon artisan a les bons outils

Par où commencer ? Les outils

Souvent DevOpsest perçu comme « du déploiement continu » dans l’esprit des gens…

Les outils ce n’est pas que pour le déploiement

Contrôle de code source

Build

Intégration et

déploiement

continus

Automatisation

des

configurations

Automatisation

des tests

Surveillance et

feedbacks

Contrôle de

code source

Contrôle de code source

• Visual Studio Online (TFVC / Git)

• GitHub

• Bitbucket

Build

Intégration et

déploiement

continus

Automatisation

des

configurations

Automatisation

des tests

Surveillance et

feedbacks

Contrôle de

code source

Build : Compilation et packaging

• Visual Studio Online (Build System)

• Jenkins

• Teamcity

Build

Intégration et déploiement

continus

Build

Intégration et

déploiement

continus

Automatisation

des

configurations

Automatisation

des tests

Surveillance et

feedbacks

Contrôle de

code source

Intégration et déploiement continus

• Outils de déploiement • VS Release Management

• Teamcity

• Plateforme de déploiement (IaaS)• Microsoft Azure

• Amazon AWS

Automatisation des

configurations

Build

Intégration et

déploiement

continus

Automatisation

des

configurations

Automatisation

des tests

Surveillance et

feedbacks

Contrôle de

code source

Automatisation des configurations

• SC Configuration Manager

• PowerShell DSC

• Chef

• Puppet

• Salt

Automatisation des tests

Build

Intégration et

déploiement

continus

Automatisation

des

configurations

Automatisation

des tests

Surveillance et

feedbacks

Contrôle de

code source

Automatisation des tests

• Visual Studio Premium (Coded UI tests)

• QTP

• TestComplete

Surveillance et

feedbacks

Build

Intégration et

déploiement

continus

Automatisation

des

configurations

Automatisation

des tests

Surveillance et

feedbacks

Contrôle de

code source

Surveillance et feedbacks

• Surveillance• SC Operation Manager

• Azure Operational Insight

• Collecte feedbacks• Uservoice.com

• Getsatisfaction.com

Synthèse

On termine en images !!!

Rassembler et collaborez

Tous responsables

Outiller, industrialiser, déployer en continu

Orienté business et demandes des métiers

Méthodologie en perpétuelle amélioration

Merci !!! Vous êtes prêts pour vous lancer et

assister aux autres sessions DevOps

Donnez votre avis sur :

http://notes.mstechdays.fr

Retrouvez nous sur la Microsoft Virtual Academy

http://www.microsoftvirtualacademy.com

http://aka.ms/meulta

Twitter : @meulta

Stanislas Quastana

http://aka.ms/stanislas

Twitter : @squastana

Etienne Margraff

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Microsoft Azure and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other

countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond

to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date

of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION

What Is This Devops Thing, Anyway?

• What problems are we trying to solve?

• Fear of change

• Risky deployments

• It works on my machine!

• Siloisation