REMINDER
service-level agreement SLA
-
Hi, I'm trying to convince a client from moving from siteground to appdrag, I want to establish in the proposal all the features and advantages that appdrag has over wordpress/traditional hosting, and I want to inform about SLA of appdrag sites.
The new site will use cloud cms, cloud db and cloud api, I know that because the backend uses aws lambda and the database is scalable they have high sla's
How can I Know the sla or downtime of 1 appdrag site? 99.95%? 99.9%? 99.??? I want to explain to my client it's possible the site shutdown 2 days a year, or 2 hours a month, etc
In summary, I want to know the sla of cloud cms, database, and cloud api, if possible, and if the SLA is in general or by service
Thanks! -
Hello Memo,
our public offers do not include any guarantee but ... base on our experience since 2016 we are providing availability of 99.995 (less than 26 minutes of downtime per year). This applies to Cloud CMS and Cloud Backend.
All the files are stored in AWS S3 with crazy durability: 99.999999999%. For example, if you store 10,000,000 objects with Amazon S3, you can on average expect to incur a loss of a single object once every 10,000 years.
source: https://aws.amazon.com/s3/faqs/?nc1=h_lsCloud Database is backed by AWS RDS and auto-backup every day to S3
Cloud API relies on AWS Lambda, they announce 99.95% but in practice, we got a very very low percentage of failures for API calls
When you combine this with a retry mechanism, it's quite solid.Both Cloud Backend and cloud CMS are served by AWS Cloudfront, which announce 99.9% as a minimum, again in practice it's very close to 100%
-
@Joseph-Benguira Thank you so much Joseph, These estimates that you give me was what I needed :), and amazing work for that 99.995! congrats
Regards -
Very impressed @Joseph-Benguira !
Do you have an example of retry logic we could use, or the 'high level' approach to take? I'm interested
-
Hey Daniel,
Here is a very basic one: I usually include in my json response a status attribute, if it's not there I do 1 retry.
In some cases you maybe don't want to retry the operation, so you should implement it only if it makes sense