Développer avec Visual Studio 2010 pour Windows Azure ne se limite pas à une bonne connaissance du SDK Windows Azure et des outils associés. En effet, la mise en place d'une démarche ALM (Application Lifecycle Management) dans le développement et la mise en production d'une application exploitant une plateforme de services Cloud nécessite la prise en considération de caractéristiques spécifiques à ce type d'environnement. Cette session se veut didactique : elle sera articulée autour des problématiques liées au cycle de vie d’une solution bâtie sur la plateforme Windows Azure et abordera différentes étapes conduisant à sa mise en production : architecture, développement, génération de livrables, tests, déploiements et supervision
3. 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
4. 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
8. 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
9. ALM, une démarche orientée :
Des outils : intégrés, productifs, Des processus : méthode, non
extensible, apprentissage simple intrusifs, personnalisable
Des équipes : excellence, mesurer et améliorer la qualité, responsabiliser
10. 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
14. 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
18. 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
21. 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 »
23. 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
25. 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
30. 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
32. 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
34. 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
36. 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
40. 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 .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
44. Livre blanc « Développer pour le Cloud »
http://www.microsoft.com/france/visual-studio/scenarios/developper-pour-le-cloud.aspx
45. 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
46. 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
47. 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