Site web fonctionnel et élastique sur Azure

860 vues

Publié le

Introduction
Scénario
CMS
Azure
Exemple avec Orchard
Elasticité
Pour aller plus loin
Conclusion

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
860
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Site web fonctionnel et élastique sur Azure

  1. 1. 2 Développer un site Web fonctionnel et élastique sur Azure Benjamin Guinebertière http://blogs.msdn.com/benjguin, @benjguin Division Plateforme & Ecosystème Microsoft France 4ème trimestre 2011
  2. 2. 3 Plan Introduction Scénario CMS Azure Exemple avec Orchard Elasticité Pour aller plus loin Conclusion
  3. 3. 4 Introduction
  4. 4. 5 Scénarios Site qui commence avec peu d’utilisateurs, mais a de grosses ambitions. Payer peu tant qu’il y a peu d’audience Pouvoir répondre à la demande rapidement quand elle arrive Pouvoir s’adapter à des pics, par exemple lors de passage de spots publicitaires à la télévision Quels types de sites Site de nouvelles Site web de commerce Site institutionnel Campagne marketing spécifique …
  5. 5. 6 Scénarios pour le Cloud Utilisation Compute Temps Utilisation Inactivité Compute Temps Utilisation Moyenne Utilisation Moyenne Compute Temps Compute Temps Utilisation Moyenne
  6. 6. 7 Personnaliser sans tout gérer Informatique Traditionnelle Cloud IaaS Infrastructure Cloud PaaS Plate-Forme Stockage Serveurs Réseau O/S Middleware Virtualisation Applications Runtime Stockage Serveurs Réseau O/S Middleware Virtualisation Applications Runtime Géréparl’utilisateurdecloud Géréparl’opérateurCloud Géréparl’utilisateurdecloud Géréparl’utilisateur decloud Stockage Serveurs Réseau O/S Middleware Virtualisation Applications Runtime Cloud SaaS Software Stockage Serveurs Réseau O/S Middleware Virtualisation Applications Runtime Géréparl’opérateurCloud Géréparl’opérateurCloud • Dans le cadre d’un cloud privé, l’opérateur de Cloud, c’est vous • La gestion des couches « grises » est souvent automatisée au maximum
  7. 7. 8 Personnaliser sans tout gérer Hébergé sur du PaaS, on peut se concentrer sur la personnalisation du site (développement), et le contenu éditorial Cloud PaaS Plate-Forme Géréparl’utilisateur decloud Votre Site Web Géréparl’opérateurCloud
  8. 8. 9 Ne pas partir de rien Content Management Server
  9. 9. 10 Démo Fonctionnalités de base d’un CMS
  10. 10. 11 Mise en page
  11. 11. 12 Critères de choix du CMS Quelques critères: Hébergement possible sur une plateforme de cloud Capacité à personnaliser Type de licence Mode de support Références Ecosystème Technologie de développement Architecture Capacité à monter en charge Couverture fonctionnelle (éventuellement via des modules complémentaires) Gestion du multilingue + les critères en lien avec Windows Azure
  12. 12. 13 Public PaaS Microsoft MarketPlace Expérience Développeurs Utilisation des outils et compétences existantes
  13. 13. 14 Azure dans l’abonnement MSDN http://j.mp/azuremsdn http://www.microsoft.com/windowsazure/msdn-benefits/
  14. 14. 15 Les rôles Azure Front-End Front-End
  15. 15. 16 SQL Azure Site Web typique sur Azure Roles LB Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF)Web Role LB Storage Tables Blobs Navigateur CDN AppFabric Cache distribué
  16. 16. 17 Blobs BlobContainerAccount cohowinery images PIC01.JPG PIC02.JPG videos VID1.AVI http://<account>.blob.core.windows.net/<container>/<blobname>
  17. 17. 19 Critères liés à Windows Azure Exécution sur Windows Server Le langage n’est pas un critère bloquant. Windows Azure peut exécuter du .NET, PHP, Java, Ruby, … Architecture compatible avec Windows Azure Fonctionnement en ferme Web, sans affinité de session Stockage centralisé Base de données relationnelle SQL Azure Autres (URL des media, …) Points à prendre en compte Pour le moteur Mais également pour les modules
  18. 18. 20 Fonctionnement en ferme Web du Web Role Un rôle Azure = une ferme de serveurs Chaque instance peut tomber Les instances ne tombent pas en même temps (notion de domaine de panne) C’est l’ensemble qui a une disponibilité de 99,95% LB Instance (VM) Instance (VM) Instance (VM) …
  19. 19. 21 Stockage centralisé Le stockage sur la VM est possible pour des données transitoires, ou du cache Les fichiers centralisés en Azure => blobs Attention à l’Azure Drive: lecture écriture depuis une VM à la fois max Base de données SQL Azure Drivers récents pour SQL Server. Au moins disponibles pour PHP Java (JDBC) ADO.NET en .NET Haute disponibilité des blobs et SQL Azure Cache distribué d’Azure en .NET uniquement, mais des caches open source peuvent s’installer sur Azure Ex: Memcached
  20. 20. 22 Fonctionnement en ferme web Points d’attention Session gérée en mémoire Fichiers locaux à chaque serveur Plus spécifiquement pour les CMS, regarder Chargement dynamique de modules, de thèmes Stockage du contenu (en base, sur disque) Notification des modifications comme le changement d’un thème (invalidation de cache) Indexes (recherche)
  21. 21. 23 Exemple avec Orchard Code open source (fondation Outercurve) Contribution importante de la part de Microsoft ASP.NET MVC3, avec syntaxe « Razor » http://orchardproject.net
  22. 22. 24 Etapes Tester Orchard sur une instance Azure ou sur un serveur local Créer le package dont on a besoin, avec les bons modules Déployer sur Azure
  23. 23. 25 Tester rapidement sur une instance unique Pour avoir une machine de test sur Azure Créer un nouveau projet Azure 1 web role Configurer Remote Desktop Déployer Se connecter en Remote Desktop C’est sur une instance unique => uniquement pour tester quelques instants
  24. 24. 26 Vidéo accélérée Test sur un web role avec une instance
  25. 25. 27 (vidéo)
  26. 26. 28 Et pour le vrai site? Téléchargement des sources Inclusion des modules et thèmes dans les sources Choix du type de machine virtuelle pour définir la granularité Package pour Azure Déploiement sur Azure Configuration initiale pour se connecter à SQL Azure
  27. 27. 30 Démo - Parcours des sources permettant de créer le package - Exécution du site hébergé sur Azure (2 instances) - Passage à 3 instances au lieu de 2
  28. 28. 31 Changement de la taille de la ferme Créer de nouveaux environnements pour la pré- production, recette ou intégration Copier une base est simple Basculement entre staging et production Environnement pour exécuter des tests de charge Haute disponibilité, CDN, … Et qu’est-ce que je gagne?
  29. 29. 32 Et l’élasticité elle-même ? Pour ajuster le nombre d’instances à l’audience du site, il faut avoir Des indicateurs de performances qui remontent de la plateforme Des API pour modifier le nombre d’instances Une gestion automatisée de l’ajout et de la suppression des instances Des règles qui décident de l’augmentation, ou de la réduction du nombre d’instances Un environnement d’exécution des règles Outillage fourni par la plateforme Windows Azure Voir guides de mise en œuvre
  30. 30. 33 Quelques guides sur le sujet Real World: Dynamically Scaling a Windows Azure Application AzurePHP - Scaling PHP Applications on Windows Azure Windows Azure Autoscaling Block BETA is out (Enterprise Library) Auto-scaling in Azure. - Strive for excellence through continuous improvements - Site Home - MSDN Blogs
  31. 31. 34 Sur Azure Marketplace AppMarket
  32. 32. 35 Descente en charge Plusieurs sites sur une même ferme Azure Peut être pris en charge par le CMS Windows Azure permet de configurer un Web Role pour qu’il héberge plusieurs sites. Voir billet de Wade Wegner Windows Azure Accelerator for Web Roles Hébergement de plusieurs sites dans une ferme Azure http://waawebroles.codeplex.com/
  33. 33. 36 Très grande montée en charge Pour des fermes avec des centaines d’instances Partitionnement fonctionnel: www, search, … Partitionnement SQL Azure (fédérations) Voir le blog de Cihan Biyikoglu Modèle noSql: tables Windows Azure Traffic Manager pour répartir la charge sur divers centres de calculs Azure
  34. 34. 37 Tests de charge dans Azure Cf http://aka.ms/AzureLoadTestSummary
  35. 35. 38 Affinité de session Cf http://aka.ms/AzureARR
  36. 36. 39 Conclusion
  37. 37. 40 Conclusion Héberger un site Web construit à partir d’un CMS open source sur du PaaS permet De disposer d’un site web personnalisable De ne pas se préoccuper des détails d’infrastructure D’adapter les ressources d’hébergement à l’audience courante du site Le CMS peut prendre plus ou moins en compte l’architecture Azure, Azure peut aussi s’adapter Testez gratuitement Windows Azure http://windowsazure.fr
  38. 38. 41 Ressources http://windowsazure.fr + les liens dans la présentation elle-même

×