MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
TechDays 2010 (CLO301) : Windows Azure Comment Migrer Une Application
1.
2. Azure: comment migrer une application 08/02/2010Sébastien Pertus, BeWiseThomas Conté, Microsoft
3. Agenda Introduction et Rappels Plate-forme Windows Azure Migration vers Azure: Principes Démo de migration en troisétapes Présentation de l’application Migration des données Migration de l’application Connexion au S.I. Migration vers Azure: Points d’attention Conclusion
8. Web App Windows Azure Database SQL Azure Exemple: “Après” AppFabric (Service Bus) Sync Framework Utilisateur Databases Services AD ADFS Server
9. Worker Database SQL Azure Worker Exemple: “Encore Après” Storage Web App Web App AppFabric (Service Bus) Sync Framework Faire évoluer l’application pour exploiter les capacités de montée en charge de la plate-forme (e.g. traitements asynchrones Worker / Queues, utilisation des Blobs…) Databases Services AD ADFS Server
11. Compute Le Web Rôle permet de migrer naturellement des applications ASP.NET Avec les Windows Azure Tools for Visual Studio Partir d’un projet Cloud Service vide Ajouter les projets existants Promouvoir en Web Role Le WorkerRole peut être utilisé de plusieurs façons: Services tournant en tâche de fond Composants incompatibles / ne nécessitant pas IIS Peut faire tourner un existant Win32, PHP, Java, etc.
12. Storage Les options de stockage proposées dans Windows Azure ont des propriétés bien particulières Blob Storage Stockage de données binaires Hautement évolutif: jusqu’à 100 To par compte Durable et disponible: répliqué 3 fois VanityURLs, CDN Table Storage Données structurées, mais sans schéma Hautement évolutif: milliards d’entités possibles Durable et disponible: répliqué 3 fois
13. SQL Azure Option la plus simple pour migrer des applications s’appuyant sur une base existante SQL Azure Migration Wizard http://sqlazuremw.codeplex.com/ Analyse une base, génère les scripts, migre les données Vérifications: par exemple, index aggloméré (cluster index) Sync Framework Power Pack Provider SQL Azure pour Sync Framework 2.0 Data Sync Tool for SQL Server
14. Azure AppFabric Composant crucial dans des scénarios de migration: il permet de garder une connectivité avec l’existant! Au-delà de la synchronisation de données, permet l’interrogation et la communication avec les référentiels restés “à demeure” Appels type RPC Notifications type Push/Pull, Multicast ou Unicast Opérations asynchrones via Message Buffers Permet de conserver la sécurisations des données Access Control Service permet de se baser sur un token SAML AD FS pour s’authentifier auprès du service
20. Blob Storage: usages Adapté au stockage de fichiers volumineux Plus encore si le contenuest public (images, vidéos…) Nécessite une adaptation de l’application pour utiliser le StorageClient Azure Néanmoins l’on a des gains par rapport à la simple utilisation d’un Drive: Meilleur contrôle des coûts associés aux accès lecture/écriture URL de téléchargement direct VanityURLs Content Delivery Network
21. Table Storage: le bon usage Les Tables ne sont pas… Les Tables sont… Si vousavezbesoin de cesfonctionnalités, utilisez SQL Azure!
22. Zoom sur les Drives Nouveaudans la version 1.1 (February 2010) du SDK et le Windows Azure Guest OS 1.1 Permet à une application Azure d’accéder à un lecteur de disque NTFS (e.g. X: pour stocker des données durables Implémenté sous la forme d’un Page Blob contenant un VHD formaté en NTFS Possibilité de cacher les données sur un disque local à la VM Opérations: Create Mount Unmount Snapshot Copy
Web Roles run ASP.NET websites, pretty much anything that will work in a standard IIS ASP.NET Web Site should work in Windows Azure. At MIX09, we additionally added support for IIS7’s FastCGI capability. This allows any FastCGI application (like PHP) to run in Windows Azure as well. This was made possible not only by adding the FastCGI support, but by adding Full Trust support that was necessary to launch native code like a FastCGI process.Additionally, in order to support FastCGI, we had to add a new configuration file called “web.roleConfig” that houses those settings that would normally be in the applicationHost.config on an IIS7 server. The reason is that applicationHost.config also houses some system wide settings for things like Application Pools and security settings that can’t be changed for security, deployment and stability reasons. This separate config file allows us to isolate the system settings that can be changed inside Windows Azure.As a note, any files that are part of a asp.net project on windows azure are READ ONLY! If you need to be able to change the contents of files:User Blob StorageIf its configuration, use the service model files – which can be changed at runtime.Inbound protocols are http(s) – outbound protocols are any TCP connection but NOT UDP.