2. ALM 206 : Mise en place d'une
démarche ALM avec Visual Studio
pour Windows Azure
François MERAND National Practice Leader
Stéphane GOUDEAU Architecte
.Net Rangers Manager, SOGETI DPE, Microsoft France
Jason DE OLIVEIRA Manager & Vincent LABATUT Consultant
Architecte MVP Visual Visual Studio ALM, SOGETI
MVP Visual C#, SOGETI
Date : 8/02/2012 - 16H-17H
3. SOGETI c’est :
20.000 collaborateurs dans 15 pays
dont 6000 dédiés aux technologies Microsoft
Votre performance par la technologie
Des outils :
• Une maîtrise de la plateforme .Net
• ATC – Advanced Technology Center .Net (CDS) IC²
• Un showroom.Net dédié aux technologies Microsoft
• Un DataCenter IC2 –Innovation Cloud Center Des expertises reconnues :
• Un ancrage fort dans l’écosystème Microsoft (MVP):
www.dotnetrangers.net
• Des blogs, des articles, des livres blancs
Azure
Privilege
Club 2012
7. ALM : Les fondamentaux
Project Portfolio Application Portfolio
Business Case Management Management
Development
Gouvernance
Dev Dev Dev
SDLC, v2
Maintenance
SDLC, v1
Exploitation
Déploiement
Mises à jour
Supervision
Idée Déploiement Fin de vie
8. ALM, une démarche orientée :
Des outils :
intégrés, productifs, extensible, appr Des processus : méthode, non
entissage simple intrusifs, personnalisable
Des équipes : excellence, mesurer et améliorer la qualité, responsabiliser
9. Des outils pour tous les acteurs
du logiciels dans l’entreprise
PMO Customers Business
Arch Designers Operations Analyst Test Dev.
PM DB
• Visual Studio 2010
• Windows Azure Tools for Microsoft Visual Studio Windows Azure SDK 1.6
• TFS 2010, Sharepoint, Office, Project, …
http://www.microsoft.com/download/en/details.aspx?id=27422
13. Prendre en compte les
spécificités de la Plateforme
Windows Azure
Gestion des états
Montée en charge
Dépendances
Latence entre composants
Données Confidentielles
SLA requis
Réglementation
17. Développement pour Windows
Azure
Comment se lancer ?
Vous avez besoin d’un compte Windows Azure
Un environnement de développement : Visual Studio 2008 ou 2010
Installation du SDK Windows Azure
Ce SDK intègre :
Des exemples d’applications
Un kit de formation
Des modèles de programmation Azure
Les APIs pour lancer les machines virtuelles
Un environnement de simulation Azure en local
Les outils de packaging et de déploiement automatique
Téléchargement du SDK Azure
http://msdn.microsoft.com/en-us/windowsazure/cc974146.aspx
20. Développement pour Azure :
Les points à retenir
Courbe d’apprentissage simple et rapide pour un
développeur connaissant la plateforme .Net
Un environnement de développement familier : Visual
Studio
Il faut juste avoir conscience :
Que le déploiement peut se faire en local et bien sûr
dans le cloud
Des spécificités liées au « cloud public »
22. Génération des livrables pour
Azure
Pour automatiser le processus de génération des livrables, il
faut :
Se connecter à un serveur TFS et y installer la solution
Installer le Windows Azure SDK sur le serveur de « Build »
Configurer un « build » pour créer un package Azure
24. Génération de livrables pour
Azure : Les points à retenir
Une installation des composants spécifiques à Windows Azure
sur le serveur de « build »
Une configuration de build “presque” standard
Toutes les tâches complémentaires habituelles peuvent êtres
insérées dans le processus de build (test unitaires par
exemple)
Les applications Windows Azure sont déployées via des
packages chiffrés (*.cspkg) créés depuis Visual Studio ou en
ligne de commande avec CSPACK
Attentions aux dépendances de l’application
Assemblies du GAC
Sites Web secondaires
26. Déploiement pour Azure
Azure SDK sur le serveur de Build
Deux types de déploiements
Sur un serveur hébergeant l’émulateur
Sur Windows Azure (staging / production)
29. Déploiement pour Azure :
Les points à retenir
Une bonne pratique consiste à déployer dans l’ordre :
Sur l’émulateur local pour tester pendant le développement
Via le serveur de build sur l’émulateur serveur pour lancer
des tests fonctionnels sans coûts Windows Azure
Sur le ou les serveurs de staging de Windows Azure pour
lancer les tests fonctionnels en situation réelle.
Sur Windows Azure, déploiement en plusieurs étapes :
Déploiement du certificat de Management sur le portail
Upload du package vers le Blob Storage
Déploiement du package et du fichier ServiceConfiguration
vers les instances de Staging
Swap du Staging vers la Production
31. Tests pour Azure
Les développeurs
implémentent des tests
unitaires en local Développeurs & Testeurs
Les testeurs planifient
et exécutent les
plans de tests + tests UI
automatisés
Contrôle de sources
Exécution tests unitaires & Build
Tests manuels, systèmes et Verifications lors du build : tests Tests acceptance Plateforme, sur
fonctionnels avec MTM et unitaires et autres “quality environnement intermédiaire
l’émulateur Windows Azure gates” Windows Azure avec MTM
33. Visual Studio Load Testing pour
Azure
Internal Systems Windows Azure
Test Data
Report Data
Test
Test
Visual Studio Test Controller Application
Test
Test Agent
Performance Data
35. Tests pour Azure : Les points à
retenir
Deux types de test sont impactés : les tests fonctionnels et les tests de
charge
Tests fonctionnels :
Savoir changer dynamiquement les URLs des sites de staging cibles
Tests de charge :
Visual Studio 2010 Ultimate s’exécute on premise pour piloter les
tests
Des Instances Azure (Worker Role) hébergent les Test Agents et le
Test Controller
Une base SQL Express est installée en local sur le Contrôleur
La connectivité VPN est mise en place grâce à Azure Connect
Les mécanismes d’authentification sont basés sur une homonymie
entre le compte utilisé pour le Remote Desktop et le compte logué
sur la machine locale sur laquelle tourne Visual Studio 2010
39. Supervision : Les points à
retenir
Exploitation :
Authentification Windows Live ID sur le portail Azure
Délégation de droits via Certificats de Management
Utilisation d’outils fondés sur l’API de Management (REST) :
https://management.core.windows.net
Cmdlet pour intégration sur d’autres solutions d’exploitation
Gestion de l’accès aux bureaux distants
Monitoring :
Impact de l’instrumentation sur les performances voire sur la
facturation
API .NAPI .NET (DiagnosticsMonitorConfiguration)
Permet de rapatrier les logs Azure, Event Logs, logs
IIS, compteurs de performances, etc.
Sont stockés à intervalles réguliers dans le Stockage Azure
(Tables et Blob)
Outils de Supervision :
Red-Gate Cerebrata Azure Diagnostics Manager
SCOM + Azure Management Pack Features
42. Livre blanc « Développer pour le Cloud »
http://www.microsoft.com/france/visual-studio/scenarios/developper-pour-le-cloud.aspx
43. Moving Applications to the Cloud on the Microsoft
Windows Azure Platform
How do you Génération de livrables applications to be scalable and have high availability? Along with developing the applications, you must also have an infrastructure
that can support them. You may need to add servers or increase the capacities of existing ones, have redundant hardware, add logic to the application to handle
distributed computing, and add logic for failovers. You have to do this even if an application is in high demand for only short periods of time.
The cloud offers a solution to this dilemma. The cloud is made up of interconnected servers located in various data centers. However, you see what appears to be a
centralized location that someone else hosts and manages. By shifting the responsibility of maintaining an infrastructure to someone else, you're free to concentrate on
what matters most: the application.
http://msdn.microsoft.com/en-us/library/ff728592.aspx
44. Des ressources Windows Azure
gratuites
Testez Windows Azure Abonnés MSDN, vous
gratuitement pendant bénéficiez de
90 jours Windows Azure
http://aka.ms/
http://aka.ms/
tester-azure-90j
activer-azure-msdn
Scénario d’utilisation
(B2B): http://aka.ms/
b2b-avec-sqlazure
45. Pour aller plus loin
Prochaines sessions des Dev Camps
Chaque semaine, les 10
Live Open Data - Développer des applications riches avec le
février
DevCamps 2012
16
Meeting protocole Open Data
ALM, Azure, Windows Phone, HTML5, OpenData février
Live
Meeting
Azure series - Développer des applications sociales sur
la plateforme Windows Azure
2012
http://msdn.microsoft.com/fr-fr/devcamp
17
Live Comprendre le canvas avec Galactic et la librairie
février
Meeting three.js
2012
Téléchargement, ressources 21
février
Live La production automatisée de code avec CodeFluent
Meeting Entities
et toolkits : RdV sur MSDN 2012
2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour
http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android
6 mars Live
Nuget et ALM
2012 Meeting
Les offres à connaître 9 mars
2012
Live
Meeting
Kinect - Bien gérer la vie de son capteur
90 jours d’essai gratuit de Windows 13 mars
2012
Live
Meeting
Sharepoint series - Automatisation des tests
Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre
www.windowsazure.fr 2012 Meeting plateforme de développement
15 mars Live Azure series - Développer pour les téléphones, les
2012 Meeting tablettes et le cloud avec Visual Studio 2010
Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle d'un
Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript
20 mars Live Retour d'expérience LightSwitch, Optimisation de
www.visualstudio.fr 2012 Meeting l'accès aux données, Intégration Silverlight
23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans
2012 Meeting votre application
STEPHGOU16:10 16:11(1 min)Slide ObjectiveUnderstand what a scale-out application looks likeSpeaking notesHigh scale applications often follow this sort of an patternInbound connectivity comes through a load balancerRequests are round robin routedLoad balancer is typically aware of the state of the web servers (i.e. are they up)There are one or more tiers or groups of stateless web or app serversBy stateless we mean that they do not hold state between client requestsStateless means that simple load balancing works – no need for sticky sessionsStateless means that the failure of a web server does not cause major issues for application- it is simply removed from the load balancerA stateful or storage tierThis will generally involve some sort of scale out approach for large appsOften using partitioned databasesOften some sort of queuing mechanismApplications will often perform processing in the background. Improves response time for usersAllows load peaks to be buffered in queuesWindows Azure provides us with a Platform as a Service offering to implement these sorts of applicationsNoteshttp://msdn.microsoft.com/en-us/magazine/cc500561.aspx http://msdn.microsoft.com/en-us/library/ff650667.aspx
12 min16h12
12 min (6)16h12
20 min16h20
29 min16h29
Demo :PowerShellCmdLet AzureBuild/TFS DeployDéploiement automatisé sur Emulateurhttp://andrewmatthewthompson.blogspot.com/2011/12/deploying-packages-to-azure-compute.htmlDéploiement sur Staging Azure
36 min16h36
Vincent /DEMOTests Fonctionnels – Sur emulateur « serveur »Coded UI Test par import du test fonctionnel – Sur émulateurTests Fonctionnels – stagingPortail SharePoint : montrer un ou de rapports…
What tools to use?Custom developed toolsTraditional load testing productse.g. Visual Studio 2010SaaS offeringse.g. SOASTAWhere to generate the load?In the cloudNo latencyProvision and scale on-demandLow bandwidth costsOutside the cloudRealistic latencyFull controlHigher Bandwidth costsDecisionsWhere to run Visual Studio, Controller, Agents, DatabaseVM Role versus Worker RoleCommunication between cloud and on-premises environment Windows Azure Connect configurationProvisioning sequenceFirewallsLatencyLocal user accounts and password synchronisation
StephgouTests de charge
48 min16h48
Azure Diagnostics to capture diagnostic data for monitoring the performance of your system. Azure Diagnostics canoperate in conjunctionwith the Enterprise Library Logging Application Block. Microsoft Systems Center Operations Manager alsoprovides a management pack for Windows Azure, againbased on Azure Diagnostics. The Azure Management portal which enables administrators to provision the resources and web sites required by your applications. It also provides a means for implementing the various security roles required to protect these resources and web sites. This tool is well documented elsewhere and will not be described further in this chapter. For more information, log in to the Azure Management portal at http://windows.azure.com. The Azure Service Management API which enables you to create your own custom administration tools as well as perform scripted management tasks from Windows PowerShell. Développement pour Azure