techdays 2010 (clo301) : windows azure comment migrer une application
DESCRIPTION
TechDays 2010 (CLO301) : Windows Azure Comment Migrer Une ApplicationTRANSCRIPT
22
Azure: comment migrer une application08/02/2010Sébastien Pertus, BeWiseThomas Conté, Microsoft
33
Agenda
Introduction et RappelsPlate-forme Windows Azure
Migration vers Azure: PrincipesDémo de migration en trois étapes
Présentation de l’applicationMigration des donnéesMigration de l’applicationConnexion au S.I.
Migration vers Azure: Points d’attentionConclusion
44
IntroductionRappels sur la plate-forme Windows Azure
55
Plateforme Azure: vue d’ensemble
Compute Storage Management ManagementRelational data Connectivity Access control
66
Migration vers AzurePrincipes & Modèles
77
Exemple: “Avant”
Utilisateur
Web App Databases
ADServices
88
Web AppWindows Azure
DatabaseSQL Azure
Exemple: “Après”
Utilisateur
DatabasesServices
ADADFS Server
Sync FrameworkAppFabric (Service Bus)
99
WorkerWorker
DatabaseSQL Azure
Exemple: “Encore Après”
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…)
DatabasesServices
ADADFS Server
Sync Framework
Web App
Storage
Web App
AppFabric (Service Bus)
1010
Migration vers AzureLes principes
1111
Compute
Le Web Rôle permet de migrer naturellement des applications ASP.NET
Avec les Windows Azure Tools for Visual StudioPartir d’un projet Cloud Service videAjouter les projets existantsPromouvoir en Web Role
Le Worker Role peut être utilisé de plusieurs façons:Services tournant en tâche de fondComposants incompatibles / ne nécessitant pas IISPeut faire tourner un existant Win32, PHP, Java, etc.
1212
Storage
Les options de stockage proposées dans Windows Azure ont des propriétés bien particulièresBlob Storage
Stockage de données binairesHautement évolutif: jusqu’à 100 To par compteDurable et disponible: répliqué 3 foisVanity URLs, CDN
Table StorageDonnées structurées, mais sans schémaHautement évolutif: milliards d’entités possiblesDurable et disponible: répliqué 3 fois
1313
SQL Azure
Option la plus simple pour migrer des applications s’appuyant sur une base existanteSQL Azure Migration Wizard
http://sqlazuremw.codeplex.com/Analyse une base, génère les scripts, migre les donnéesVérifications: par exemple, index aggloméré (cluster index)
Sync Framework Power PackProvider SQL Azure pour Sync Framework 2.0Data Sync Tool for SQL Server
1414
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 RPCNotifications type Push/Pull, Multicast ou UnicastOpérations asynchrones via Message Buffers
Permet de conserver la sécurisations des donnéesAccess Control Service permet de se baser sur un token
SAML AD FS pour s’authentifier auprès du service
1515
DémoMigration d’application dans Windows Azure
1616
Migration vers AzurePoints d’Attention
1717
Points d’attention: Compute
Affinité de session
• Au minimum deux Web Roles• Sinon, risque de downtime lors des mises à jour de la plate-forme
Haute disponibilité
• Utiliser du LocalStorage pour obtenir des espaces de travail temporaires• Les Drives offrent du stockage durable
Pas d’accès au disque local
• Les fichiers faisant partie de la solution sont en lecture uniquement• Utiliser XDrive ou des Blobs
Pas d’accès à la solution
1818
Rôles Azure: les détails
ASP.NET 3.5 SP1 – 64bit
IIS7 Hostable Web Core
IIS Hosting• Web Forms ou MVC• WCF• Applications FastCGI (e.g. PHP)
HTTP(S)/TCP
Web Role• New web.roleConfig to support FastCGI• Support same Role model semantics as Worker Role (e.g. OnStart, Run, etc.)
1919
Et le futur de Compute
Accès Administrateur
Machine Virtuelles
2020
Blob Storage: usages
Adapté au stockage de fichiers volumineuxPlus encore si le contenu est public (images, vidéos…)Nécessite une adaptation de l’application pour utiliser le
StorageClient AzureNé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/écritureURL de téléchargement directVanity URLsContent Delivery Network
2121
Table Storage: le bon usage
Peu onéreuses
Transactionnelles
Très évolutives
Flexibles
Durables
Vraiment TRES évolutives
Pas relationnelles
Pas d’intégrité référentielle
Pas de jointures
Requêtes limitées
Pas de Group By
Pas d’Agrégations
Les Tables ne sont pas… Les Tables sont…
Si vous avez besoin de ces fonctionnalités, utilisez SQL Azure!
2222
Zoom sur les Drives
Nouveau dans la version 1.1 (February 2010) du SDK et le Windows Azure Guest OS 1.1Permet à une application Azure d’accéder à un lecteur de disque
NTFS (e.g. X:\) pour stocker des données durablesImplémenté sous la forme d’un Page Blob contenant un VHD
formaté en NTFSPossibilité de cacher les données sur un disque local à la VMOpérations:
CreateMountUnmountSnapshotCopy
2424
Points d’attention: SQL Azure
• Aujourd’hui seul le service SGBD (SQL) est disponible
SQL Reporting Services, etc.
• Bien étudier l’option Windows Tables/Blobs, car beaucoup moins coûteux que SQL Azure
Coûts
• Pour dépasser la limite des 10 Go, il faut implémenter un « sharding » (partitionnement des données) applicatif
Deux éditions en V1.x: 1 Go ou 10 Go
2525
Se connecter à SQL Azure
Connexion via ADO.NET, ODBC, etc.
OLE DB n’est PAS supporté
Syntaxe spécifique <login>@<server>
USE statement actuellement PAS supporté
Utilisation des outils habituels (sqlcmd, osql, SSMS, etc.)
Utiliser SSMS 2008 R2 CTP
2626
T-SQL Support (full or partial)
Constants
Constraints
Cursors
Index management and rebuilding indexes
Local temporary tables
Reserved keywords
Stored procedures
Statistics management
Transactions
Triggers
Tables, joins, and table variables
Transact-SQL language elements such as • Create/drop databases• Create/alter/drop tables• Create/alter/drop users and logins• …
User-defined functions
Views
2727
T-SQL Not Supported (v1)
Common Language Runtime (CLR)
Database file placement
Database mirroring
Distributed queries
Distributed transactions
Filegroup management
Full Text Search
Global temporary tables
Spatial data and indexes
SQL Server configuration options
SQL Server Service Broker
System tables
Trace Flags
2828
SQL Azure: Migrer les données
Scripts utilisant des INSERT statements
SQL Server Integration Services• Utiliser un connecteur ADO.NET
BCP (bulk copy) est supporté
DataSync pour utiliser le Microsoft Sync Framework
3030
Conclusion
3131
Azure au sein de la plateforme
3232
Tout Azure aux TechDaysTitre Heure Session
Introduction à Windows Azure Lundi 8, 16h à 17h CLO202
Azure: comment migrer une application Lundi 8, 17h30 à 18h30 CLO301
Gestion et stratégie storage sous Azure Mardi 9, 13h à 14h PAR105
Windows Azure AppFabric Mardi 9, 13h à 14h CLO305
Azure et les technologies non Microsoft Mercredi 10, 11h à 12h INT301
SQL Azure & Azure Storage Mercredi 10, 16h à 17h CLO304
Ateliers encadrés Heure Heure
Lundi 8 14h30 – 15h30 17h30 – 18h30
Mardi 9 14h30 – 15h30 17h30 – 18h30
Mercredi 10 14h30 – 15h30
Ateliers assurés par Wygwam