In today's world, we are supposed to create systems that are obscenely reliable. Consider the following table:
# of Nines | Reliability | Time per Year |
1 | 90% | 36.5 days |
2 | 99% | 3.65 days |
3 | 99.9% | 9 hours |
4 | 99.99% | 53 minutes |
5 | 99.999% | 5 minutes |
6 | 99.9999% | 32 seconds |
7 | 99.99999% | 3 seconds |
8 | 99.999999% | 300 milliseconds |
Can we provide 1 nine of reliability: sure. How about 2 nine? Probably. How about 3? Maybe. 4? We have to have round the clock pager support with very motivated and knowledgeable people. 5? Probably not.
It becomes practically impossible for human beings to keep a system up somewhere between 4 and 5 nines and impossible for an automated system between 7 and 8 nines of reliability.
At around 3 nines you have to have 7/24 support with people constantly checking and able to resolve problems almost instantly.
At 7 nines and above, the reliability of your network connection becomes an issue: consider how many hours you have spent trying to get that working!
Miranda gives you what appears to be 5 nines of reliability, provided your system does only HTTP POST, PUT and DELETE.
Miranda does this by recording POST/PUT/DELETE messages and then playing them back later. If your system crashes, Miranda will save the messages until it is back up.
Assuming you are using Miranda as a clustered service, Miranda itself should be very (5 nines) reliable.
Basically, Miranda was designed for people who are suddenly asked to provide some outrageous level of reliability without the necessary resources.
No comments:
Post a Comment