Accueil

Articles techniques

A propos de AzureGuru.org

Publier sur AzureGuru.org
 
   Accueil

12
Voici un premier retour d'expérience sur la tarification d'Azure... car les choix technologiques vont devoir tenir compte d'un certain nombre de nouvelles contraintes, sous peine de faire exploser les coûts !

Les éléments facturables dans Azure sont :
  • Compute time (temps de calcul d'une instance)
  • Storage (espace de stockage permanent)
  • Les transactions vers les espaces de stockage permanent
  • Les transferts CND (Content Delivery Network)
  • Les transferts entrant et sortant du Datacenter Azure
  • SQL Azure
  • AppFabric

Il existe deux mode de facturation, la tarification "à la demande", et la tarification sous forme d'abonnements avec des coûts packagés très attractifs (et un engagement de durée).

Premier exemple : Site Web minimal

Prenons dans un premier temps le cas d'un service simple, un site Web minimal hébergé dans Azure avec une tarification "à la demande".
De notre expérience, et après une étude attentive de nos factures Azure, ce qui coute le plus cher, c'est le "Compute time", le reste étant, toute proportion gardée, relativement faible.

L'unité de calcul du "Compute time" est l'heure d'une small instance.

Rappels de coûts horaires :

Compute Instance Coût par heure  
Extra Small $0.05  Dédié aux développements / tests
Small $0.12  Base de référence
Medium $0.24  Equivalent à 2 heures de Small
Large $0.48  Equivalent à 4 heures de Small
Extra large $0.96  Equivalent à 8 heures de Small














L'ordre de grandeur du coût d'une small instance déployée en permanence (30 jours x 24 heures = 720 heures) est 720x0.12 = 86,40 $  soit environ 62 €.
Attention cependant, pour assurer le niveau de SLA optimal (En particulier éviter les indisponibilités de service pendant les montées en version de l'OS), Microsoft recommande au minimum 2 instances par service... ce qui double le coût.

Pour notre exemple, ajoutons le coût d'une instance SQL-Azure.
Le coût de SQL-Azure est forfaitaire, donc pas de surprises :

  • Web Edition:
    • Jusqu'à 1 GB = $9.99 / mois
    • Jusqu'à 5 GB = $49.95 / mois
  • Business Edition:
    • Jusqu'à 10 GB = $99.99 / mois
    • Jusqu'à 20 GB = $199.98 / mois
    • Jusqu'à 30 GB = $299.97 / mois
    • Jusqu'à 40 GB = $399.96 / mois
    • Jusqu'à 50 GB = $499.95 / mois
Si l'on prend une base 1 GB, cela fait 86,40+9,90=96,30 $ soit environ 70 € mensuel ; à rapprocher de la location d'un serveur dédié... mais on est au niveau PaaS (La maintenance de l'OS, ce n'est pas notre responsabilité !) et un serveur SQL fiable (très haute disponibilité)

Calcul de l'heure de facturation :

Attention cependant à la notion d'heure facturée... le principe est le suivant :
Toute instance déployée pendant plus de 5 minutes entre deux heures pleines sera facturée 1 heure. Par exemple, si vous déployez une instance small à 14h50 et que vous la supprimez à 15h15, vous serez facturé 2 heures - 1 heure pour la consommation de 10 minutes dans l'intervalle 14h00-15h00 et 1 heure pour la consommation de 15 minutes dans l'intervalle 15h00-16h00. Les instances déployées pendant moins de 5 minutes ne sont pas facturées.

Il faut également ne pas oublier que toute instance déployée est facturée, même si elle n'est pas en train de tourner...

Deuxième exemple : Site Web évolué (Développement 3 tiers)

Si l'on souhaite déployer une solution plus conséquente, prenons par exemple une application 3 tiers classique avec un frontal Web - dans un WebRole - et une BLL (Business Logic Layer) - dans un WorkerRole - ainsi qu'une base SQL-Azure. 



L'optique de la montée en charge dans Azure se base sur la multiplication des instances et non sur le fait de disposer d'une instance dont la puissance augmente (même si on peut aller jusqu'à l'instance "extra-large").
Il vaut mieux déployer une architecture avec 8 instances small qu'une seule instance extra-large.
Reprenons notre exemple, nous pouvons facilement multiplier le nombre d'instances pour absorber une charge croissante.


Le coût plein temps de cette configuration avec une base SQL-Azure Business Edition de 10 Gb sera de l'ordre de 700 $ / mois, soit environ 500 € mensuel (auxquels vont s'ajouter les coût des transferts et des transactions mais qui resteront relativement faibles)
Cette architecture répond bien aux critères de SLA, donc le niveau de disponibilité est optimal, elle est évolutive et s'appuie sur SQL-Azure hautement disponible.
Pour avoir un ordre de grandeur des autres coûts, et à moins d'avoir un site d'hébergement de vidéos en streaming, 1000 GB de transfert sortant par mois est déjà très convenable. Cela représente un coût de 150 $ / mois soit environ 108 € mensuel.
Au total, l'ordre de grandeur de l'hébergement mensuel est de 600-700 € mensuel. 
Si l'on compare à un hébergement classique, qui peut garantir une telle architecture avec un tel niveau de service pour cette fourchette de coût ?
Par expérience, rien qu'un Cluster SQL-Serveur avec 2 serveurs et les licences Enterprise serait déjà d'un coût équivalent...

La tarification sous forme d'abonnement est en fait constituée de package d'heures "compute time" et de services (SQL-Azure, AppFabric, ...) avec des réductions qui peuvent aller jusqu'à 50% sur le tarif à la demande. Elles sont très intérressantes, surtout pendant les phases de développement d'un nouveau produit.

Conclusion

Nos premiers retours d'expériences sont réellement positifs avec un coût sensiblement inférieur à de l'hébergement classique et ceci avec un très haut niveau de disponibilité  (SLA).
Le niveau PaaS nous affranchi de la responsabilité de l'OS (Sécurité, ...) et l'architechture d'Azure nous garantie une bonne tenue en charge (Load Balancing, ajout d'instances à la demande, ...).
Lors du déploiement d'une application dans Azure, une réelle réflexion doit être entreprise sur la distribution des instances, ceci pour maitriser les coûts et garantir une vraie agilité de montée en charge.

Pour information, voici les tarifs public des coûts périphériques :
- Stockage permanent, le coût est de 0,15 $ / GB / mois
- Transaction vers le stockage : 0,01 $ / pour 10 000 transactions
- Les transferts de données : 0,10 $ GB entrant et 0,15 $ GB sortant du Datacenter
- Le CDN et AppFabric ont des coûts dédiés et feront l'objet d'un autre article

Poster un commentaire

Only registered users may post comments.