What is 'Availability' in cloud?
The term ‘Availability’ is often heard in cloud. Here I try to explain in simple form for my students, if it helps.
Lets consider an example of Availability in real life.
Example1: When you go for a written exam, you carry not one ink pen with you but two ink pens. The reason being, you want to make sure that if one ink pen is not available for any reason, the second one is. Your exam should not be halted because your ink pen stopped working or got lost.
You ink pen is always available. This is an example of ‘Availability’
Example2: Now lets consider you were traveling in a Mumbai local train. You had rs. 100 in your back pocket. During the journey, somebody robbed you. Now what do you do?
But guess what ! you were smart. You already knew that robberies take place in a local train. So you had an extra Rs.100 but it was deep inside your book, which is further inside in the back pack bag.
By ensuring you had an alternative 100 rupee note in a "different location" altogether, you reduced the chances of having no money at all.
Your 100 rupee note is highly available. This is an example of ‘High Availability’, where distance makes a difference.
Availability in other words can be thought of as an alternative that will be available in case something happens to the first copy.
In AWS, we ensure website is available by creating a duplicate version in other location. This other location could be 100 km away. The first location will be called Availability Zone A (example this is is located in Bandra, Mumbai) and second location will be around 100 km away in Availability Zone B (example this is located Virar, Mumbai).
When you ensure the two copies of the same website is running in two different locations which are quiet a distance apart, you have created a highly available website.
Recommended by LinkedIn
Now if there is a natural disaster in Bandra such as a fire on the computer where your website is running, the computer will get destroyed but your website will still keep running. This is because, all your website requests will be diverted to Virar. Your website does not go down because it is designed to be ‘Highly Available’.
In this case you have provided High availability using a multi-az (Multi-Availability Zone) technique.
Just like your website needs to be available, it is also very important that your data is also highly available.
Assume you are managing the most important database in India, the Aadhar card database. This Aadhar card data can be stored in Aurora SQL database. This database is running on a machine in Bandra (Availability Zone A). What will happen if there is earthquake in Bandra and the whole building collapsed. The machine containing the data might have been destroyed. To ensure you do not lose your database in any condition, you always have a latest duplicate copy in Delhi as well. But Mumbai and Delhi are way way further than 100 kms. Yes, they are further apart in two different aws regions of India all together.
The further the distance, the better the chances of availability. In this case you have provided High availability using a Multi-Region technique.
A well-architected solution ensures that business process or software application will never stop even if there is an earthquake. And one way to achieve this is ensuring an alternate ‘Availability’ of the same at all times, be it a website or your data.
I hope now you understand what does it mean to make cloud services 'available' or 'highly available' or what does 'Availability' exactly mean.
#aws #availability