40

Site web fonctionnel et élastique sur Azure

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Site web fonctionnel et élastique sur Azure
Page 2: Site web fonctionnel et élastique sur Azure

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

Page 3: Site web fonctionnel et élastique sur Azure

3

Plan

Introduction

Scénario

CMS

Azure

Exemple avec Orchard

Elasticité

Pour aller plus loin

Conclusion

Page 4: Site web fonctionnel et élastique sur Azure

4

Introduction

Page 5: Site web fonctionnel et élastique sur Azure

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

Page 6: Site web fonctionnel et élastique sur Azure

6

Scénarios pour le Cloud

Utilisation

Co

mp

ute

Temps

Utilisation

Inactivité

Co

mp

ute

Temps

Utilisation Moyenne

Utilisation Moyenne

Co

mp

ute

Temps

Co

mp

ute

Temps

Utilisation Moyenne

Page 7: Site web fonctionnel et élastique sur Azure

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é

par

l’uti

lisa

teu

r d

e c

lou

d

Géré

par l’o

péra

teu

r Clo

ud

Géré

par

l’uti

lisa

teu

r d

e c

lou

d

Géré

par

l’uti

lisa

teu

r

de c

lou

d

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é

par l’o

péra

teu

r Clo

ud

Géré

par l’o

péra

teu

r Clo

ud

• 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

Page 8: Site web fonctionnel et élastique sur Azure

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é

par

l’uti

lisa

teu

r

de c

lou

d

Votre Site Web G

éré

par l’o

péra

teu

r Clo

ud

Page 9: Site web fonctionnel et élastique sur Azure

9

Ne pas partir de rien Content Management Server

Page 10: Site web fonctionnel et élastique sur Azure

10

Démo

Fonctionnalités de base d’un CMS

Page 11: Site web fonctionnel et élastique sur Azure

11

Mise en page

Page 12: Site web fonctionnel et élastique sur Azure

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

Page 13: Site web fonctionnel et élastique sur Azure

13

Public PaaS Microsoft

MarketPlace

Expérience Développeurs Utilisation des outils et compétences existantes

Page 15: Site web fonctionnel et élastique sur Azure

15

Les rôles Azure

Front-End Front-End

Page 16: Site web fonctionnel et élastique sur Azure

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é

Page 17: Site web fonctionnel et élastique sur Azure

17

Blobs

Blob Container Account

cohowinery

images

PIC01.JPG

PIC02.JPG

videos VID1.AVI

http://<account>.blob.core.windows.net/<container>/<blobname>

Page 18: Site web fonctionnel et élastique sur Azure

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

Page 19: Site web fonctionnel et élastique sur Azure

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)

Page 20: Site web fonctionnel et élastique sur Azure

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

Page 21: Site web fonctionnel et élastique sur Azure

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)

Page 22: Site web fonctionnel et élastique sur Azure

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

Page 23: Site web fonctionnel et élastique sur Azure

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

Page 24: Site web fonctionnel et élastique sur Azure

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

Page 25: Site web fonctionnel et élastique sur Azure

26

Vidéo accélérée

Test sur un web role avec une instance

Page 26: Site web fonctionnel et élastique sur Azure

27

(vidéo)

Page 27: Site web fonctionnel et élastique sur Azure

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

Page 28: Site web fonctionnel et élastique sur Azure

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

Page 29: Site web fonctionnel et élastique sur Azure

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?

Page 30: Site web fonctionnel et élastique sur Azure

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

Page 31: Site web fonctionnel et élastique sur Azure

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

Page 32: Site web fonctionnel et élastique sur Azure

34

Sur Azure Marketplace AppMarket

Page 33: Site web fonctionnel et élastique sur Azure

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/

Page 34: Site web fonctionnel et élastique sur Azure

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

Page 35: Site web fonctionnel et élastique sur Azure

37

Tests de charge dans Azure

Cf http://aka.ms/AzureLoadTestSummary

Page 36: Site web fonctionnel et élastique sur Azure

38

Affinité de session

Cf http://aka.ms/AzureARR

Page 37: Site web fonctionnel et élastique sur Azure

39

Conclusion

Page 38: Site web fonctionnel et élastique sur Azure

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

Page 39: Site web fonctionnel et élastique sur Azure

41

Ressources

http://windowsazure.fr

+ les liens dans la présentation elle-même

Page 40: Site web fonctionnel et élastique sur Azure