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)
Mise en œuvre d’une démarche DevOps dans Windows Azure
1.
2. Donnez votre avis !
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 !
#mstechdays
Architecture/Azure/Cloud
3. Mise en œuvre d’une
démarche DevOps dans
Windows Azure
Vincent Labatut (Sogeti – MVP ALM)
Stéphane Goudeau (Microsoft)
Architecture/Azure/Cloud
5. Le « Wall Of Confusion »
Adapter le SI aux
demandes du marché
en introduisant des
évolutions dans le
code
= Maximiser le
changement
Équipe de développement
Équipe système et
infrastructure
d’application
Maintenir la disponibilité en
contrôlant les évolutions pour
réduire les risques de pannes
= Minimiser le changement
Application
déployée
« Composants,
couches logicielles,
services,… »
#mstechdays
« Clusters, fermes,
pare-feu, réseau,
stockage,,… »
Architecture/Azure/Cloud
6. DevOps : Une philosophie
• 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-underpinningdevops/
• 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
#mstechdays l’expérimentation et l'apprentissage en continu
Architecture/Azure/Cloud
8. Acquérir une compréhension globale du
système
• 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.
#mstechdays
Architecture/Azure/Cloud
9. « Continuous Delivery » : un parfait exemple de
ce type de processus
#mstechdays
Architecture/Azure/Cloud
10. 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 2006
http://code.msdn.microsoft.com/windowsazure/Fix-It-app-for-Building-cdd80df4
#mstechdays
Architecture/Azure/Cloud
11. Objets liés à l’automatisation de l’infrastructure
• 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
#mstechdays
• Descriptifs d’incident : logs Intellitrace
Architecture/Azure/Cloud
12. Déploiement automatisé avec PowerShell
• Windows PowerShell ISE :
– http://technet.microsoft.com/en-us/library/dd315244.aspx
• Repository de script PowerShell
–
–
–
–
#mstechdays
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-toolssamples/tree/master/AutomatedDeployments
• https://github.com/WindowsAzure/azure-sdk-toolssamples/tree/master/solutions/infrastructure
Architecture/Azure/Cloud
13. CREATION D’ENVIRONNEMENT
AUTOMATISÉE AVEC POWERSHELL
Continuous 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 frequently
Jez Humble – Continuous Delivery
#mstechdays
Architecture/Azure/Cloud
15. Création d’environnements à la demande
DEV A
FEATURE A
Branch
Branch
FEATURE B
DEV B
MAIN
RECETTE
#mstechdays
Architecture/Azure/Cloud
Infrastructure
as
configuration
Infrastructure
as
code
16. Microsoft Release Management
• Environnements
– Serveurs
• Applications
– Composants
• Automatisation
– Outils
• Groupes de sécurité
– Utilisateurs / validateurs
• Releases
– Builds TFS ou Manuellement
– Etapes du processus
#mstechdays
Architecture/Azure/Cloud
17. Comment ça marche ?
RECETTE
Team Foundation
Server
RM Server
Drop Location
PRODUCTION
RM Web
#mstechdays
RM Client
Architecture/Azure/Cloud
18. RELEASE MANAGEMENT AVEC
AZURE
Release 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.
#mstechdays
Architecture/Azure/Cloud
19. 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
#mstechdays
Architecture/Azure/Cloud
20. CONTINUOUS FEEDBACK AVEC
VISUAL STUDIO ONLINE
Web is fundamentally a self-service environment, and it is critical to design
APPLICATION INSIGHTS closed-loop
websites and product 'landing pages' with sophisticated
measurement and feedback systems… This ensures that the most
effective website designs will be selected…”
Ray Ozzie - The Internet Services Disruption memo
#mstechdays
Architecture/Azure/Cloud
21. CULTURE « DEVOPS » :
EXPÉRIMENTATION ET APPRENTISSAGE
EN CONTINU
#mstechdays
Architecture/Azure/Cloud
22. La culture DevOps
•
Valeurs fondamentales :
–
•
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 »).
#mstechdays
Démarche d’introduction volontaire de
défauts dans le système :
–
Vision positive de l’échec :
–
•
•
Respect mutuel, confiance réciproque, ou
systématisation du partage de l’information
–
Capacité du système à se remettre en
service après un dysfonctionnement.
« Failsafe: Guidance for Resilient Cloud
Architectures
http://msdn.microsoft.com/enus/library/windowsazure/jj853352.aspx
Architecture/Azure/Cloud
24. DevOps dans l’environnement Microsoft
Plan
Operate
REQUIREMENTS
Storyboarding
Agile Portfolio Management
Bug tracking
Work item tagging
Build |
Construct Measure |
Learn
Development and
operations management
integration
Performance Events
Intelligent issue
reproduction
Operate
Release
Develop
Source Control Management
Automated Testing
Cross team collaboration
WORKING SOFTWARE
Load Testing as a Service
#mstechdays
Architecture/Azure/Cloud
Integrated Release
Management
Configuration-based
deployments
25. Resources techniques
• 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/enus/download/details.aspx?id=35380
#mstechdays
Architecture/Azure/Cloud
26. Testez dès maintenant Windows Azure !
MSDN:
Partenaires:
http://aka.ms/MSDN/Avantages/Abo
150€ de
ressources
http://aka.ms/Azure/Partner
Poursuivez la
discussion
sur le stand “au
coeur du SI”
http://aka.ms/free/trial
#mstechdays
Architecture/Azure/Cloud