Développer un site Web fonctionnel et élastique sur Azure
Upcoming SlideShare
Loading in...5
×
 

Développer un site Web fonctionnel et élastique sur Azure

on

  • 911 views

L'audience d'un site Web peut varier dans l'année, ou dans la journée, son succès peut arriver plus vite que prévu. Une plateforme d'informatique en nuage (cloud) telle que Windows Azure permet ...

L'audience d'un site Web peut varier dans l'année, ou dans la journée, son succès peut arriver plus vite que prévu. Une plateforme d'informatique en nuage (cloud) telle que Windows Azure permet d'adapter les ressources d'hébergement nécessaires au succès du site. Bien qu'on veuille pouvoir personnaliser le site de façon poussée, il est intéressant de partir d'un framework existant pour bâtir son site. Nous verrons comment cela peut se faire par exemple avec Orchard.
V111109a

Statistics

Views

Total Views
911
Views on SlideShare
911
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Développer un site Web fonctionnel et élastique sur Azure Développer un site Web fonctionnel et élastique sur Azure Presentation Transcript

  • Développer un site Webfonctionnel et élastiquesur AzureBenjamin Guinebertièrehttp://blogs.msdn.com/benjguin, @benjguinDivision Plateforme & EcosystèmeMicrosoft France4ème trimestre 2011 2
  • Plan Introduction Scénario CMS Azure Exemple avec Orchard Elasticité Pour aller plus loin Conclusion 3
  • 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 … 4
  • Scénarios pour le Cloud Inactivité Compute Compute Utilisation Utilisation Utilisation Moyenne Temps Temps Compute Compute Utilisation Moyenne Utilisation Moyenne Temps Temps 5
  • Personnaliser sans tout gérer Informatique Cloud IaaS Cloud PaaS Cloud SaaS Traditionnelle Infrastructure Plate-Forme Software de cloud Géré par l’utilisateur Applications Géré par l’utilisateur de cloud Applications Applications Applications Runtime Runtime Runtime RuntimeGéré par l’utilisateur de cloud Géré par l’opérateur Cloud Middleware Middleware Middleware Middleware Géré par l’opérateur Cloud O/S O/S O/S O/S Géré par l’opérateur Cloud Virtualisation Virtualisation Virtualisation Virtualisation Serveurs Serveurs Serveurs Serveurs Stockage Stockage Stockage Stockage Réseau Réseau Réseau Réseau • 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 6
  • Personnaliser sans tout gérerHébergé sur du PaaS, on Cloud PaaSpeut se concentrer sur la Plate-Forme de cloud Géré par l’utilisateurpersonnalisation du site Votre Site Web(développement),et le contenu éditorial 7 Géré par l’opérateur Cloud
  • Ne pas partir de rien Content Management Server 8
  • DémoFonctionnalités de base d’un CMS 9
  • Mise en page 10
  • Critères de choix du CMS Quelques critères: Capacité à personnaliser Technologie de développement Type de licence Mode de support Ecosystème Références Couverture fonctionnelle (éventuellement via des modules complémentaires) Gestion du multilingue Architecture Capacité à monter en charge Hébergement possible sur une plateforme de cloud + les critères en lien avec Windows Azure 11
  • Public PaaS Microsoft Expérience Développeurs Utilisation des outils et compétences existantes MarketPlace 12
  • Azure dans l’abonnement MSDNhttp://j.mp/azuremsdnhttp://www.microsoft.com/windowsazure/msdn-benefits/ 13
  • Les rôles Azure Front-End Front-End 14
  • Site Web typique sur AzureNavigateur Web Site Web Site LB Web ASMX, WCF) (ASPX, Role (ASPX, ASMX, WCF) Cache distribué AppFabric Roles CDN LB Blobs Tables Storage SQL Azure 15
  • Blobs http://<account>.blob.core.windows.net/<container>/<blobname> Account Container Blob PIC01.JPG images PIC02.JPG cohowinery videos VID1.AVI 16
  • Azure Drive Application Drive X: Lease Windows Azure Blob Service 17
  • 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
  • Fonctionnement en ferme Webdu Web Role Un rôle Azure Instance (VM) = une ferme de serveurs Chaque instance peut tomber Instance Les instances ne tombent pas (VM) en même tempsLB (notion de domaine de panne) … C’est l’ensemble qui a une disponibilité de 99,95% Instance (VM) 19
  • 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
  • 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
  • Quelques CMS sur Azure Liste non exhaustive Rendre votre CMS compatible avec la plateforme Windows Azure est toujours une option http://aka.ms/AFewCmsOnAzure 22
  • Exemple avec Orchard Code open source (fondation Outercurve) Contribution importante de la part de Microsoft ASP.NET MVC3, avec syntaxe « Razor » http://orchardproject.net 23
  • Etapes Prendre en main le CMS Créer le package dont on a besoin Avec les bons modules et thèmes Avec les éventuelles personnalisations dans le code C# Déployer sur Azure Configurer … 24
  • Tester rapidement sur uneinstance 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 25
  • DémoPrise en main d’Orchardsur une instance uniqueVidéo accélérée et quelques copies d’écrans 26
  • (vidéo non incluse ici, car incompatible avec le formatde publication) 27
  • 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 29
  • 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 31
  • Et qu’est-ce que je gagne? 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, … 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èglesOutillage fourni par la plateforme Windows AzureVoir guides de mise en œuvre 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 34
  • Sur Azure Marketplace AppMarket 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/ 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 37
  • Tests de charge dans Azure Cf http://aka.ms/AzureLoadTestSummary 38
  • Affinité de session Cf http://aka.ms/AzureARR 39
  • Conclusion 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 41
  • Ressources http://windowsazure.fr + les liens dans la présentation elle-même 42