Les
SLA (niveaux de service) ne sont pas la première préoccupation des développeurs car ils relèvent plutôt de la production. Par contre, ils doivent intéresser
les architectes, et ce pour plusieurs raisons. Tout d'abord, le SLA d'un service dans le Cloud, c'est ce que le client achète (et que l'architecte "vend") : en effet à quoi sert un service s'il n'est pas disponible ! Ensuite, lorsqu'une application utilise différents services Cloud, leurs SLA peuvent être différents et c'est donc à l'architecte d'en tenir compte lors de la conception de l'application pour pallier aux différences de disponibilité.
Abordons le cas de la
plateforme Azure : elle s’enrichit régulièrement de nouvelles fonctionnalités, à tel point qu’il devient difficile de distinguer les services disponibles
commercialement de ceux en
CTP ou beta, ainsi que leur niveau de service et les remboursements proposés par Microsoft en cas de défaut.
Avec Windows Azure, il existe
un contrat pour chaque service car le niveau de service est calculé différemment, en fonction de la nature de la ressource proposée (calcul, stockage, connectivité...) et des infrastructures et technologies sous-jacentes. Chaque contrat comporte aussi des clauses d’exclusion sur l’engagement et les remboursements, celles-ci définissant notamment les limites du périmètre de responsabilité de Microsoft et les conditions d’obtention des avoirs. Pour plus de détails, je vous invite donc à consulter chaque SLA
ici.
Enfin, n'oubliez pas que le SLA de la plateforme et de ses services n'est pas le SLA de votre application. A vous, architectes, de définir
une conception et une qualité de développement qui maximisent le SLA.
Voici donc le récapitulatif des différents
services Windows Azure… rassemblés à ce jour ! (comprendre que d’ici quelques mois, cette liste évoluera)
| Service
|
Version
|
SLA
|
Avoir #1
|
Avoir #2
|
Windows Azure Compute (*)
- Connectivity
- Instance uptime
|
Release + beta |
99,95%
99,9% |
10% si <99,95 %
10% si <99,9 %
|
25% si <99 %
25% si <99 % |
| Windows Azure Storage |
Release |
99,9% |
10% si <99,9 % |
25% si <99 % |
| Windows Azure CDN |
Release |
99,9% |
10% si <99,9 % |
25% si <99,5 % |
| Windows Azure Connect
|
CTP |
- |
- |
- |
| SQL Azure |
Release |
99,9% |
10% si <99,9 % |
25% si <99 % |
| SQL Azure Reporting |
CTP |
- |
- |
- |
| SQL Azure Data Sync |
CTP |
- |
- |
- |
| AppFabric Access Control |
Release |
99,9% |
10% si <99,9 % |
25% si <99 % |
| AppFabric Service Bus |
Release |
99,9% |
10% si <99,9 % |
25% si <99 % |
| AppFabric Caching |
Release |
99,9%< |
10% si <99,9 % |
25% si <99 % |
| AppFabric Application Manager |
CTP |
- |
- |
- |
| Traffic Manager |
CTP |
- |
- |
- |
(*) Le VM Role et l'Extra-Small Instance sont actuellement disponibles en beta, mais sont proposés avec le même niveau de service que les autres roles et instances de Windows Azure Compute.