Azure Course Part-1 : Cloud Computing important vocabulary

In the first article, we’ll be talking about what cloud computing is, but also the most important vocabulary you should understand when working with the cloud. In general, it both describes what cloud computing is and what its benefits are. Stay tuned!

Episode Objectives

Let’s look at the objectives of the first episode. Today, we’ll learn what cloud computing is, but also what its benefits are by learning the most important vocabulary like high availability, scalability, elasticity, agility, fault tolerance, and disaster recovery.

What is Cloud Computing?

Let’s start with cloud computing. Cloud computing is a delivery model for services, like storage services, where you’re storing your unstructured or structured data in files and databases. The cloud delivers thousands of services to do so. You can pretty much choose any technology that is popular in the market, and you will be able to use it in an easier environment.

Storage in Cloud Computing

In this case, storage doesn’t only mean storing data but also includes all the services and tools that allow you to migrate your data to the cloud. Once your data is in the cloud, you will need computing resources like Windows virtual machines, maybe Linux ones, web containers, or any of the hundreds of services available in the cloud. Cloud is about creating applications, whether those are web, AI, machine learning, reporting, or any kind of applications out there.

Secure Networking in Cloud Computing

Additionally, once you have your components, you need to be able to somehow connect them to each other securely. The cloud delivers functionalities to create secure networking between those components and your company. Because your entire platform is managed in the cloud, it also needs to deliver you analytic capabilities so you can review your performance and telemetry data for your services. You can perform operations. The list of services delivered by cloud computing is much longer than this, but those are the four main ones and the four that are tested by the exam.

Characteristics of Cloud Computing

All of those services, of course, are delivered over the internet, and this is basically what cloud computing is: delivering services like this. However, this alone doesn’t make cloud computing; it must also fulfill certain characteristics.

Scalability

The first characteristic that we will learn today is scalability. Imagine you have a resource; that resource can be anything: a web application, a database, or a virtual machine. Scalability gives you a way to scale up this virtual machine by increasing its size. Increasing the size of the resource basically means adding more power, like CPU, memory, or maybe faster storage. In this case, we are moving along the vertical line, which is why this is called vertical scaling. Increasing the size of the resource is called scaling up. If you decrease the size, decreasing the power of the machine, this is called scaling it down.

Besides changing the size of your resource or changing the power of that resource, you can also scale by adding more resources to your environment. So, increasing the number of resources themselves is called horizontal scaling. If you increase the number of your resources, this is called scaling out. If you decrease the number of resources, this is called scaling in.

To summarize, scalability is the ability of the system to scale. In this case, scaling is a process of adding or removing resources. Remember that resources might mean both virtual resources like CPU memory and specific instances of the resources.

Elasticity

Our next term is elasticity. One of the best ways to explain elasticity is to show the user workload of a typical application during the day, where the user workload changes as the day progresses. If you design a system like this, you need to assign a specific amount of resources to be able to handle the workload properly. The design system will be able to allocate and deallocate resources whenever needed. If this process is done automatically, we are talking about automatic scaling, which is essentially what elasticity is. Summarized, elasticity is the ability of the system to scale dynamically.

Agility

The next term is agility. In the cloud, there are two ways to provision resources: either manually via a portal or automated using APIs and scripting. Regardless of the choice you make, in both cases, there’s a time between when the request is submitted and when the request has been fulfilled. The major difference between cloud and on-premises environments is that requesting resources in an on-premises environment usually takes days, weeks, or even months. In the cloud, once you request the resource, you will most likely get it within seconds or minutes. For very few, very big services, this might take a few hours, but still, this is a major difference between the on-premises environment and the cloud.

In this case, when we say agility, we mean the ability to react quickly. In the cloud, this means being able to allocate and deallocate your resources in a very short time.

Fault Tolerance

The next term on our list is fault tolerance. As a user, you purchase services from the cloud, whether that’s a web application, virtual machine, or SQL. Regardless of the service you choose or the interface you use, that service needs to run on some sort of server in a data center, storing their data on disk arrays. Whenever there’s any service or component failure on those servers, they are automatically moved to another. The same goes for disk arrays; your data is ultimately stored on multiple disks and multiple disk arrays to ensure no data is lost.

Fault tolerance talks about the ability of the system to remain up and running during component and service failures, so those localized failures will not interrupt your service. Most of the time, in the cloud, all the services have built-in fault tolerance. That means if you use cloud services, you will not notice those localized failures affecting your system at all.

Disaster Recovery

Besides localized failures, a much greater event might happen, and this is called a disaster. A disaster is a serious disruption of the entire service, caused by natural or human-induced causes. Scenarios of this level typically include floods, earthquakes, thunderstorms, power grid failures, or human errors. These can affect an entire region or other servers from working properly.

In this case, you need to set up disaster recovery. Disaster recovery simply means creating two copies of the same application in two regions and then setting up replication between them so that you have two identical copies of your application. In front of those applications, you need to set up simple DNS routing so that your users are automatically redirected to the working version of your application. If any service fails, they will automatically be resurrected by the replicated version of your application. Simply put, disaster recovery is the system’s ability to recover from an event that has taken down an entire region or service, allowing your system to work properly after a disaster.

High Availability

Our last term for today is high availability. Availability is a simple metric that measures how much uptime the system has (the system being accessible to users or other systems) versus how much downtime the system had. Downtime means planned occurrences like system downtime for patching or unplanned system failures.

High availability is a measure of system uptime for either users or services, with the goal of having very little downtime. Depending on what you agree with your client, you calculate availability either monthly or daily. This metric is very important because 99% availability means only three days of downtime per year. If you aim for 99.9%, that’s only eight to nine hours per year of downtime. However, most companies targeting high availability aim for at least 99.99%, which translates to only 52 minutes per year.

With such restrictive uptime requirements, you’ll need specific tools and design to achieve high availability. However, many cloud services deliver very high availability by default, so just check what they offer and decide if the service is right for you.

Conclusion

That’s it for this episode. Thank you for reading! If you like what I do, support the channel by subscribing, liking, commenting, or showing this to your friends. If you want to see the next episode, simply follow the playlist or hit the icon on the side. See you there!

Leave a Reply

Your email address will not be published. Required fields are marked *