<p>Virtual Machine Scale Sets (VMSSs) <a href="https://azure.microsoft.com/en-gb/support/legal/sla/virtual-machine-scale-sets/v1_1/" rel="nofollow noreferrer">don't have a SLA of their own</a>:</p>

<blockquote>
  <p>Virtual Machine Scale Sets is a free service, therefore, it does not have a financially backed SLA itself. However, if the Virtual Machine Scale Sets includes Virtual Machines in at least 2 Fault Domains, the availability of the underlying Virtual Machines SLA for two or more instances applies. If the scale set contains a single Virtual Machine, the availability for a Single Instance Virtual Machine applies. See the Virtual Machines SLA for more details.</p>
</blockquote>

<p>The above statement points to the fact that VMSSs are just an orchestration layer over the top of Virtual Machines and as you quite rightly pointed out results in an availability for a VMSS of <strong>99.95%</strong>.</p>

<p>In terms of the storage calculation, there are several parameters here:</p>

<ol>
<li>Whether you are using Hot or Cold storage, the availability for Hot storage is 10 times that of cold storage.</li>
<li>Whether your application is read or write heavy, what you need to consider here is that there are separate SLAs for reading and writing.</li>
</ol>

<p>Let's make some assumptions:</p>

<ol>
<li>Storage is, in general, cheep.  Therefore, only ever use the Hot Storage Tier.</li>
<li>Managed Disks are, in general, easier to use.  Therefore, you are limited to only using Locally Redundant Storage.</li>
</ol>

<p>With the above two assumptions your <a href="https://azure.microsoft.com/en-gb/support/legal/sla/storage/v1_3/" rel="nofollow noreferrer">storage SLA</a> is <strong>99.9%</strong>.</p>

<p>Multiplying these two figures together you get, <strong>99.985%</strong>, this is still kind of low, but higher than your 98% figure above.  You can increase this number by hosting Service Fabric <a href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-disaster-recovery" rel="nofollow noreferrer">across multiple regions</a>:</p>

<p><a href="https://i.sstatic.net/gI9ii.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/gI9ii.png" alt="Availability Diagram"></a></p>

<p>This would give you system availability close to four nines, i.e. <strong>99.9898%</strong></p>

CC BY-SA 3.0
2018-01-17T12:13:00.633Z
2018-01-17T12:13:00.633Z
Richard Slater
<p>I have looked at the question and answer in <a href="https://devops.stackexchange.com/questions/711/how-do-you-calculate-the-compound-service-level-agreement-sla-for-cloud-servic?newreg=c0bbff3cd2c44330b5acec9b2e6b1944">How do you calculate the compound Service Level Agreement (SLA) for cloud services?</a></p>

<p>I have a service fabric application which has a stateful service which stores the data in the disks of the VMs themselves.
Service fabric relies on underlying Virtual machine scale set's availability, which is 99.95 %
The azure storage VHD has a SLA of 99%</p>

<p>Going by the answers in the question above, is my applications availability 99.95 % * 99%  = 98.9505 % ?</p>

<p><a href="https://i.sstatic.net/sx6Df.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/sx6Df.png" alt="enter image description here"></a></p>

<p>This seems a little strange that i use a stateful service in azure service fabric which is supposed to be a distributed service mesh framework and the availability of the services built is so low. </p>

<p>I am sure I am missing something. Can anyone tell me if my calculation is correct ?
Do I need to consider the number of replicas in my calculations in which case I have as many VHDs as replicas ??</p>

CC BY-SA 3.0
2017-12-22T07:01:00.510Z
Could you provide some context, e.g. did one of your customers request this?
030
CC BY-SA 3.0
2017-12-24T12:04:42.480Z
Possible duplicate of [How do you calculate the compound Service Level Agreement (SLA) for cloud services?](https://devops.stackexchange.com/questions/711/how-do-you-calculate-the-compound-service-level-agreement-sla-for-cloud-servic)
030
CC BY-SA 3.0
2018-01-17T12:15:01.827Z
I actually think this question is quite nuanced to Service Fabric as a product and platform, it's also worth remembering that Azure Service Availablity thresholds are very soft in nature - if they failed to meet the SLA then you get 10% back in expenditure for that month in the form of Service Credits.
Richard Slater
CC BY-SA 3.0
2018-01-21T01:20:22.943Z
Not exactly for your maths, your vm availability has good chances to already encompass vhd failure as they probably use it, they are not independent probabilities so I'd assume the worst case is the vm availability. (I mean a failure of vhd would probably turn down the vm also, those maths are OK for independent service where a failure if one won't cause a failure of the other)
Tensibai
<cloud><azure><architecture><infrastructure><sla>
availability calculation of a azure service fabric stateful application
Vicky
# availability calculation of a azure service fabric stateful application

(Asked by: username_0 on 2017-12-04)

I have looked at the question and answer in [How do you calculate the compound Service Level Agreement (SLA) for cloud services?](https://devops.stackexchange.com/questions/711/how-do-you-calculate-the-compound-service-level-agreement-sla-for-cloud-servic?newreg=c0bbff3cd2c44330b5acec9b2e6b1944)

I have a service fabric application which has a stateful service which stores the data in the disks of the VMs themselves.
Service fabric relies on underlying Virtual machine scale set's availability, which is 99.95 %
The azure storage VHD has a SLA of 99%

Going by the answers in the question above, is my applications availability 99.95 % \* 99% = 98.9505 % ?

[![enter image description here](https://i.sstatic.net/sx6Df.png)](https://i.sstatic.net/sx6Df.png)

This seems a little strange that i use a stateful service in azure service fabric which is supposed to be a distributed service mesh framework and the availability of the services built is so low.

I am sure I am missing something. Can anyone tell me if my calculation is correct ?
Do I need to consider the number of replicas in my calculations in which case I have as many VHDs as replicas ??

**Tags:** cloud, azure, architecture, infrastructure, sla

> **Comments:**
> **username_1**: Could you provide some context, e.g. did one of your customers request this?  
> **username_1**: Possible duplicate of [How do you calculate the compound Service Level Agreement (SLA) for cloud services?](https://devops.stackexchange.com/questions/711/how-do-you-calculate-the-compound-service-level-agreement-sla-for-cloud-servic)  
> **username_2**: I actually think this question is quite nuanced to Service Fabric as a product and platform, it's also worth remembering that Azure Service Availablity thresholds are very soft in nature - if they failed to meet the SLA then you get 10% back in expenditure for that month in the form of Service Credits.  
> **username_3**: Not exactly for your maths, your vm availability has good chances to already encompass vhd failure as they probably use it, they are not independent probabilities so I'd assume the worst case is the vm availability. (I mean a failure of vhd would probably turn down the vm also, those maths are OK for independent service where a failure if one won't cause a failure of the other)  

---

## 1 answers

### Answer by username_2 on 2018-01-17. Score: 3 | Accepted answer

Virtual Machine Scale Sets (VMSSs) [don't have a SLA of their own](https://azure.microsoft.com/en-gb/support/legal/sla/virtual-machine-scale-sets/v1_1/):

> Virtual Machine Scale Sets is a free service, therefore, it does not have a financially backed SLA itself. However, if the Virtual Machine Scale Sets includes Virtual Machines in at least 2 Fault Domains, the availability of the underlying Virtual Machines SLA for two or more instances applies. If the scale set contains a single Virtual Machine, the availability for a Single Instance Virtual Machine applies. See the Virtual Machines SLA for more details.

The above statement points to the fact that VMSSs are just an orchestration layer over the top of Virtual Machines and as you quite rightly pointed out results in an availability for a VMSS of **99.95%**.

In terms of the storage calculation, there are several parameters here:

1. Whether you are using Hot or Cold storage, the availability for Hot storage is 10 times that of cold storage.
2. Whether your application is read or write heavy, what you need to consider here is that there are separate SLAs for reading and writing.

Let's make some assumptions:

1. Storage is, in general, cheep. Therefore, only ever use the Hot Storage Tier.
2. Managed Disks are, in general, easier to use. Therefore, you are limited to only using Locally Redundant Storage.

With the above two assumptions your [storage SLA](https://azure.microsoft.com/en-gb/support/legal/sla/storage/v1_3/) is **99.9%**.

Multiplying these two figures together you get, **99.985%**, this is still kind of low, but higher than your 98% figure above. You can increase this number by hosting Service Fabric [across multiple regions](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-disaster-recovery):

[![Availability Diagram](https://i.sstatic.net/gI9ii.png)](https://i.sstatic.net/gI9ii.png)

This would give you system availability close to four nines, i.e. **99.9898%**


---

