27

Mise en œuvre d’une démarche DevOps dans Windows Azure

Embed Size (px)

DESCRIPTION

L'attraction qu'exerce le Cloud Computing sur l'industrie des technologies de l'information rend plus impérieuse encore la nécessité pour les développeurs de logiciels et les responsables des opérations de collaborer pour la création et l'exploitation d'applications et de services innovants et massivement scalables. La plateforme Azure ne fait pas exception à cette règle. Certes, elle permet de créer et déployer de nouvelles applications et leur infrastructure sous-jacente en quelques minutes. Mais pour tirer pleinement parti des possibilités qu'offre ce nouveau paradigme, il convient de repenser la définition des modèles de ces nouveaux services, l'automatisation de leur déploiement, la gestion des configurations et des mises à jour, le monitoring des performances, la remontée d'alerte, et enfin et surtout l'intégration des processus de développement. L'ensemble des pratiques et technologies correspondantes s'inscrivent dans une démarche DevOps que nous nous proposons de détailler et de démontrer au cours d'une session articulée sur leur mise en œuvre dans le contexte d'un service Cloud déployé sur la plateforme Windows Azure. Speakers : Vincent Labatut (SOGETI), Stéphane Goudeau (Microsoft)

Citation preview

Page 1: Mise en œuvre d’une démarche DevOps dans Windows Azure
Page 2: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

Depuis votre smartphone sur :http://notes.mstechdays.fr

De nombreux lots à gagner toute les heures !!!Claviers, souris et jeux Microsoft…

Merci de nous aider à améliorer les Techdays !

Donnez votre avis !

Page 3: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud

Mise en œuvre d’une démarche DevOps dans

Windows Azure

Vincent Labatut (Sogeti – MVP ALM)

Stéphane Goudeau (Microsoft)

Page 4: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

DEVOPS : INTRODUCTION

Page 5: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

Adapter le SI aux demandes du marché en introduisant des évolutions dans le code = Maximiser le changement

Le « Wall Of Confusion »

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,,… »

Page 6: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Gene Kim, CTO cofondateur de Tripwire, et auteur de l’ouvrage « The Phoenix Project : « A Novel About IT, DevOps, and Helping Your Business Win »– http://itrevolution.com/the-three-ways-principles-underpinning-

devops/

• Trois principes fondamentaux :– Acquérir une compréhension globale du système – Mettre en place des systèmes de mesure et des processus de

remontée d’information systématique– Favoriser le développement d’une culture fondée sur

l’expérimentation et l'apprentissage en continu

DevOps : Une philosophie

Page 7: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

ACQUÉRIR UNE COMPRÉHENSION GLOBALE DU SYSTÈME

Page 8: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Objectifs : – Optimiser l’intégralité des chaînes de valeur métier dépendant de

services IT– Résoudre les problématiques au plus tôt afin de limiter leur impact

• Chaque acteur du système se doit de penser globalement : – Evolution de l’organisation, de ses processus, du rôle et des

périmètres de responsabilité de chacun, mais aussi en termes d’outillage et de technologie.

– Mise en place de processus communs de déploiement, de supervision (détection et prévention d’incidents de performance, de sécurité, de disponibilité), de support et de remédiation.

Acquérir une compréhension globale du système

Page 9: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

« Continuous Delivery » : un parfait exemple de ce type de processus

Continuous Deploymen

t

Continuous Integration

Continuous Feedback

Continuous Improveme

nt

Page 10: Mise en œuvre d’une démarche DevOps dans Windows Azure

démo

Architecture/Azure/Cloud#mstechdays

CONTINUOUS INTEGRATION

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.”Martin Fowler - 01 May 2006http://code.msdn.microsoft.com/windowsazure/Fix-It-app-for-Building-cdd80df4

Page 11: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Orchestration: Runbooks, PowerShell• Format de déploiement de binaire: WebDeploy,

DACPAC …• Tests de vérification de déploiement: VS Web

Test• Modèles de configuration d’environnement:

Service Template• Agent de supervision: Management Pack• Descriptifs d’incident : logs Intellitrace

Objets liés à l’automatisation de l’infrastructure

Page 12: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Windows PowerShell ISE : – http://technet.microsoft.com/en-us/library/dd315

244.aspx

• Repository de script PowerShell– http://gallery.technet.microsoft.com/scriptcenter– GitHub est également une source intéressante – https://github.com/windowsazure/azure-sdk-tools-

samples– Notamment les branches :

• https://github.com/WindowsAzure/azure-sdk-tools-samples/tree/master/AutomatedDeployments

• https://github.com/WindowsAzure/azure-sdk-tools-samples/tree/master/solutions/infrastructure

Déploiement automatisé avec PowerShell

Page 13: Mise en œuvre d’une démarche DevOps dans Windows Azure

démo

Architecture/Azure/Cloud#mstechdays

CREATION D’ENVIRONNEMENT AUTOMATISÉE AVEC POWERSHELLContinuous Delivery is about keeping your application in a state where it is always able to deploy into production. Continuous Deployment is actually deploying every change into production, every day or more frequentlyJez Humble – Continuous Delivery

Page 14: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

Branches et environnements

DEV

MAIN

Bra

nch

Développement

Bra

nch

Correctifs liés à la production

PRODUCTION

Intégration

Report correctifs

DEV

RECETTE

PRODUCTION

Intermédiaire

Production

CI

Page 15: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

Création d’environnements à la demande

FEATURE B

MAIN

Bra

nch

DEV A

DEV B

RECETTE

FEATURE AB

ranc

h

Infrastructure as

configuration-

Infrastructure ascode

Page 16: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Environnements– Serveurs

• Applications– Composants

• Automatisation– Outils

• Groupes de sécurité– Utilisateurs / validateurs

• Releases– Builds TFS ou Manuellement– Etapes du processus

Microsoft Release Management

Page 17: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

Comment ça marche ?

Team Foundation Server Drop Location

RM ClientRM Web

PRODUCTION

RECETTE

RM Server

Page 18: Mise en œuvre d’une démarche DevOps dans Windows Azure

démo

Architecture/Azure/Cloud#mstechdays

RELEASE MANAGEMENT AVEC AZURERelease management is an integral part of shipping products. But it’s also an often overlooked area that invariably contributes to shipping delays, product recalls or re-releases, and lack of well-enforced release criteria such as feature completion, security compliance, development practices, build and testing practices, and version control management.

Page 19: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

MESURE ET PROCESSUS DE REMONTÉE D’INFORMATION“Too often measurements of the health of a service don’t reflect the experience customers actually have. ”Brian Harry – TFS Product Unit Manager

Page 20: Mise en œuvre d’une démarche DevOps dans Windows Azure

démo

Architecture/Azure/Cloud#mstechdays

CONTINUOUS FEEDBACK AVEC VISUAL STUDIO ONLINE APPLICATION INSIGHTS

Web is fundamentally a self-service environment, and it is critical to design websites and product 'landing pages' with sophisticated closed-loop measurement and feedback systems… This ensures that the most effective website designs will be selected…”Ray Ozzie - The Internet Services Disruption memo

Page 21: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

CULTURE « DEVOPS » : EXPÉRIMENTATION ET APPRENTISSAGE EN CONTINU

Page 22: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Valeurs fondamentales : – Respect mutuel, confiance réciproque, ou

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 »).

La culture DevOps• 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/librar

y/windowsazure/jj853352.aspx

Page 23: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

CONCLUSION

DevOps & Azure

Page 24: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | LearnCollaborate

DevelopSource Control ManagementAutomated TestingCross team collaboration

Load Testing as a Service

Integrated Release Management

Release

Configuration-based deployments

PlanAgile Portfolio Management

Work item taggingBug tracking

StoryboardingOperate

Development and operations management integrationPerformance EventsIntelligent issue reproduction

DevOps dans l’environnement Microsoft

Page 25: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

• Building a Release Pipeline with Team Foundation Server 2012

– http://msdn.microsoft.com/en-us/library/dn449957.aspx

• ALM Rangers DevOps Tooling and Guidance– http://vsardevops.codeplex.com

• Visual Studio Test Tooling Guides– http://vsartesttoolingguide.codeplex.com

• Integrating Operations Manager with Development Processes

– http://technet.microsoft.com/en-us/library/jj614609.aspx

• Testing for Continuous Delivery with Visual Studio 2012

– http://www.microsoft.com/en-us/download/details.aspx?id=35380

Resources techniques

Page 26: Mise en œuvre d’une démarche DevOps dans Windows Azure

Architecture/Azure/Cloud#mstechdays

Testez dès maintenant Windows Azure !

MSDN: jusqu’à 115€ de

ressources mensuelles

150€ de ressources le 1er mois pour toute

ouverture de compte

Poursuivez la discussion

sur le stand “au coeur du SI”

Partenaires: jusqu’à 75€ de

ressources mensuelles

http://aka.ms/Azure/Partner

http://aka.ms/free/trial

http://aka.ms/MSDN/Avantages/Abo

Page 27: Mise en œuvre d’une démarche DevOps dans Windows Azure

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Digital is business