Transcript
Page 1: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

DevOpsUne histoire de réconciliation et d’un bel avenir !

Jason DE OLIVEIRA (CELLENZA)

Stéphane GOUDEAU (Microsoft)

#DevOpsDayFr

Page 2: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Introduction

Page 3: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

« Devs » contre « Ops »

La frontière classique des organisations quisépare les équipes de développement (« Devs »)et les équipesd’exploitation (« Ops »).

• Conflits et objectifs contradictoires entre leséquipes

• « Je ne comprends pas, moi ça marche endev, il faut voir les Ops.. » VS « Tous lesservices sont Up, pas de charge, ça vient duDev… »

• Livraisons avec beaucoup d'erreurs, voired’échecs

• Administration manuelle, lente et sourced’erreurs

Page 4: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Le mur de la confusion

Adapter le SI aux demandes

du marché en introduisant des

évolutions dans le code

= Maximiser le changement

Maintenir la disponibilité en

contrôlant les évolutions pour

réduire les risques de pannes

= Minimiser le changement

Équipe de développementd’application

Équipe système et infrastructure

Application déployée

« Composants,

couches logicielles,

services,… »

« Clusters, fermes,

pare-feu, réseau,

stockage,,… »

Fonctionnalités

Culture Produit

Innovation

Stabilité

Culture du Service

Rationalisation

Page 5: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Pourquoi DevOps ?

“DevOps is development and operations collaboration”

“DevOps is treating your infrastructure as code”

“DevOpsis using automation”

“DevOpsis Kanban for Ops?”

“DevOpsis feature toggles”

“DevOpsis small deployments”

L’objectif du mouvement DevOps est de

fluidifier les processus et de créer une

synergie en favorisant la collaboration entre

les équipes de développement (« Devs ») et les

équipes d’exploitation (« Ops »).

En supprimant les frictions et les blocages, on

améliore la productivité et l’efficacité du

système d’information de l’entreprise.

Cela apporte des logiciels de très haute qualité

et des meilleurs services aux clients.

Page 6: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Facteurs clés de succès

• Forte réactivité sur la correction d’anomalies et

la gestion des incidents

• Les livraisons sont les plus petites, simples et

fréquentes possible

• Les besoins et contraintes opérationnelles sont

prises en compte dès les premières phases des

projets

• Confiance mutuelle et coopération entre

équipes, voire réorganisation et mutualisation

des équipes

Page 7: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

La culture DevOps

• Valeurs fondamentales :

▪ Respect mutuel, confiance réciproque, et

systématisation du partage de l’information

• Vision positive de l’échec :

▪ Les organisations doivent apprendre de

leurs échecs et prendre des risques pour

anticiper de nouveaux besoins opérationnels

• Développement des compétences des

acteurs du système(« Kaizen »).

• Démarche d’introduction volontaire de

défauts dans le système :

▪ Capacité du système à se remettre en

service après un dysfonctionnement.

▪ « Failsafe: Guidance for Resilient Cloud

Architectures

▪ http://msdn.microsoft.com/en-

us/library/windowsazure/jj853352.aspx

Page 8: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

DevOps : Une philosophie…

Page 9: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Les principes et les

promesses de DevOps

Page 10: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Le processus de « Continuous Delivery »

ApprendreApprentissage actionnable

Elimination des déperditions | Réduction de la durée du cycle | Intégration et visibilité

Rétroaction en continue | Qualité en continu | Livraison en continu

Page 11: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Continuous Delivery & DevOps

Plan Develop OperateRelease

Méthodes Agiles DevOps

Business Development Operations

The Wall of Confusion

Page 12: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Continuous Delivery & DevOps

Optimisation des ressources

Amélioration de la qualité et de la disponibilité

Hypothesis-drivendevelopment& continuouslearning

Page 13: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Les outils DevOps

Cycle de développement logiciel

Release Management Monitoring

Déploiement

Provisionning

d’infrastructureConfiguration

d’application

Configuration

du systèmeTélémétrie

Supervision

technique

StoryboardingSource Control

Management

Software

Design

Agile Portfolio

ManagementBuild Tests

Reporting et

BI

Analyse de

codeIntégration

continue

Page 14: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Réduction des cycles de

livraison

Page 15: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Réduction des cycles de livraison

Page 16: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Stratégie de branches et gestion des releases

DEV

MAIN

Bra

nch

Développement

de nouvelles

features

Bra

nch

Correctifs liés à la production

RELEASE

Report correctifs

NightIy

Builds

PROD

INTEG

QA

Integration

Continue DEV

Manual

Builds

Page 17: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Release Management

Page 18: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Optimisation de l’utilisation

des ressources

Page 19: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Optimisation de l’utilisation des ressources

• Une gestion unifiée des ressources qu’elles soient à

demeure ou dans le Cloud

• Automatisation des environnements

• Support des technologies tiers-parties

Page 20: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Provisioning dans Azure

• Windows Azure Platform PowerShell

cmdlets

▪ http://www.windowsazure.com/en-

us/documentation/articles/install-

configure-powershell

▪ https://github.com/Azure/azure-

sdk-tools

• REST API & Management Library

azure topic verb optionsprompt>

accountaccount locationaccount affinity-groupvmvm diskvm endpointvm imageserviceservice certsiteconfig

downloadimportlistshowdeletestartrestartshutdowncapturecreateattachdetachbrowseset

usernamepassworddns-prefixvm-namelb-porttarget-image-namesource-pathdisk-image-namesize-in-gbthumbprintvalue-v-vv

• Windows Azure command-line tool for Mac and Linux

▪ http://www.windowsazure.com/en-us/documentation/articles/command-line-tools/

Page 21: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

DSC (« Desired State Configuration »)

Traditional Scripts

Technology Specific

DSC Engine

Dependency ResolutionLogging & Error Handling

Reboot ResiliencyRepeatable Automation

ResourcesTechnology Specific

ConfigurationIntent

Page 22: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Groupe de ressources

• Entité de gestion dans

laquelle sont intégrés des

regroupements de multiples

ressources de même type

ou non.

• L’appartenances à un

groupe de ressources est

exclusive

• Les ressources peuvent

être multi-régions

RESOURCE GROUP

Page 23: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Autres outils DevOps

Page 24: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Amélioration de la qualité et

de la disponibilité

Page 25: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Amélioration de la qualité et de la disponibilité

• Supervision de la performance, de la disponibilité, des

exception et des usages

• Autoscaling

• Debugging en production

• Load testing

Page 26: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Les outils de mesure Windows Azure

Windows Azure

Diagnostics

Cloud Service

monitoring

Page 27: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Application

Les outils Visual Studio Online

AVAILABILITY

USAGE

PERFORMANCE

Tests de charge

Page 28: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Autoscaling dans Azure

Page 29: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Hypothesis-driven

development

& Continuous learning

Page 30: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Apprendre de la production avec les

remontées de l’application

• Data Driven

Development

• Prendre facilement

des décisions

d'investissement

basées sur des

données objectives

ApprendreApprentissage actionnable

Page 31: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Hypothesis-Driven Development

http://barryoreilly.com/2013/10/21/how-to-implement-hypothesis-

driven-development/

Page 32: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Conclusion

Page 33: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Develop Build

Test

Deploy Environments Monitor and Learn

Processes

Dev/Test

Integration

Pre-Production

ProductionDE

V

BI

Z

OP

S

DevOps et Microsoft

Page 34: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

Livre Blanc DevOps

• http://blog.cellenza.com/a-la-

une/cellinsights-1-devops-de-la-

vision-limplementation/

• http://www.cellenza.com/cellinsights

• http://www.cellenza.com/Content/Cel

lInsights/cell%27insights-1-

devops.pdf

Page 35: Keynote DevOps - Microsoft DevOps Day 2014 in Paris

© 2012 Microsoft Corporation. Tous droits réservés. Microsoft, Windows et les autres noms de produits sont des marques déposées ou des marques commerciales de Microsoft aux États-Unis et/ou dans d'autres pays.

Les informations contenues dans ce document sont fournies uniquement à titre indicatif. Elles représentent l'opinion actuelle de Microsoft Corporation sur les points cités à la date de cette présentation. Microsoft s'adapte aux conditions fluctuantes du marché et ce

document ne doit pas être interprété comme un engagement de la part de Microsoft ; de plus, Microsoft ne peut pas garantir la véracité de toute information présentée après la date de la présentation. MICROSOFT EXCLUT TOUTE GARANTIE, EXPRESSE, IMPLICITE

OU STATUTAIRE, EN CE QUI CONCERNE CETTE PRÉSENTATION.

© 2013 Microsoft Corporation. Tous droits réservés. Microsoft, Windows et les autres noms de produits sont des marques déposées ou des marques commerciales de Microsoft aux États-Unis et/ou dans d'autres pays.

Les informations contenues dans ce document sont fournies uniquement à titre indicatif. Elles représentent l'opinion actuelle de Microsoft Corporation sur les points cités à la date de cette présentation. Microsoft s'adapte aux conditions fluctuantes du marché et ce

document ne doit pas être interprété comme un engagement de la part de Microsoft ; de plus, Microsoft ne peut pas garantir la véracité de toute information présentée après la date de la présentation. MICROSOFT EXCLUT TOUTE GARANTIE, EXPRESSE, IMPLICITE

OU STATUTAIRE, EN CE QUI CONCERNE CETTE PRÉSENTATION.


Top Related