Dot Net For All

Core cloud computing concepts you should be aware of

Like every technology, cloud computing also a good number of terms that you should be aware about while learning. These terms could come quite handy and can help you to understand most of the services in the cloud computing. These are terms that describe the resilience and instant adaptability of the system.

Important Cloud computing terms:

High availability

Fault tolerance

Disaster recovery

Scalability

Elasticity

Agility

Lets discus these terms one by one to have a better understanding:

High Availability:

If any customer is planning to buy your software system, he would be very much curious about the up time of it. He would ask you to sign an service level agreement that would state the percentage of up time of your software system. It would be generally more that 99%.

High availability is the core to the cloud computing. If you are using a service which is giving you a guarantee of up of 99.999999999 %, you can image how much resilient is that.

In cloud computing we can get the new servers at the click of a button or can be provisioned through mechanism like auto scaling group. It can start serving the requests in no matter of time.

In traditional on premise setup, the organizations have the limited capability in their data centers. On the flip side, we don’t own the servers in the cloud and there is unlimited capability to add more servers.

Fault Tolerance:

Fault tolerance is another term to denote the high resilience of cloud computing. The cloud systems are tolerant to any fault that may occur in the system. Any fault in the cloud system is dealt by the cloud provider like AWS, Azure or GCP and put the system in active state.

Disaster recovery:

Like other two terms discussed above, disaster recovery is real and any organizations can face it in their system. Disaster recovery can be helpful to recover the system in case of natural threats like hurricane, flood, tornado or cyber attacks. There can be other threats to system as well like cyber threats which can completely cripple your system and bring it down to its kneas.

Disaster recovery contains the plans to completely recover the critical business systems and normal operations, bring back to its normal state.

Disaster recovery is configured with a designated time to recovery(time to recover) and recovery point(point to time data to recover).

All the above terms are more or less related to the resilience of cloud computing. But there is more than that when we deal with IT systems. There can be instances when your servers run out of the resources to keep serving the requests.

In traditional hardware setup, you may have to provision more servers which may take good amount of time. But that is not the case with cloud computing.

Scalability:

Scalability is to scale out, up or down. This can help us to automatically handle the capability of the system based on the increased or decreased demand. It is a term to describe how responsive is cloud provider to handle the fluctuations in the demand.

Elasticity:

Elasticity goes hand in hand with scalability. It is the ability to quickly expand or decrease computing resources, not just VMs. We can say that elastic computing is what enables scalability.

Agility:

The term comes from agile which denotes how quick an engineering team to deliver changes in the system. Agility is the ability to rapidly develop, test and launch software applications that drive business growth.

Conclusions

Cloud computing will revolve around the terms or concepts, I have discussed in the above article. To summarize.

High Availability: VMs can spin up fast to help process requests.

Fault tolerance: Describes how Azure or AWS will ensure you have zero downtime for service provided by the cloud provider.

Disaster recovery: Uses time-to-recovery and recovery point metrics to recover from tornadoes, floods and more.

Scalability: Refers to scaling out or scaling up

Elasticity: is the ability to quickly increase or decrease computer processing and resource.

Agility: means to the ability to rapidly develop, test and launch software applications.

With todays growing demand for the cloud computing, it becomes very important to have a good and sound knowledge of the systems. It can be achieved through cloud certifications. Below are two links to prepare for your cloud certification:

AWS Certified Solutions Architect Associate [SAA-C02]

[AZ-104] Microsoft Azure Administrator

Top career enhancing courses you can't miss

My Learning Resource

Excel your system design interview