CONCEPTS OF CLOUD COMPUTING
Tags: cloudcomputing, virtualmachine
Published: 2024-06-26 16:57:27

- virtualization?

Virtualization is a tech tools that makes use of the host OS of a single computer device, to create multiple layers of guests OS. This could be done with the help of a virtualization software known as HYPERVISOR. These guestOS created can be in form of servers, network and storage depending on the required tasks. To make virtualization easier to understand, below is an example. 
A cloud engineer, John Doe using a Mac laptop (Mac OS) has a project to be carried out that requires the operating system of a windows laptop (Window OS), it will be an extra cost for John to purchase a new windows laptop to complete a project. So, what John does is install a virtual machine (through a HYPERVISOR/VMware software), that will let him operate a windows OS on his Mac laptop. This virtualization saves John the extra cost of purchasing another device, and also saves him the time of working on 2 different computer devices. 


- Scalability?

Scalability refers to the ability to scale up (increase) or scale down (reduce) the usage of resources (such as database and server) that is required to meet the demand of an organization/individual using the cloud services. You might ask why will a company want to scale up or scale down it resources, and below is a scenario of why it is important to do and what makes scalability one of the driving forces of cloud services. 
e-commerce companies such as Amazon, Ebay and Walmart where you can shop online, tends to get more users and more website traffic during special sales such as Black Fridays. During this period, they tend to be a large number of users visiting the website at the same time, of which it might be beyond the maximum capacity the website can carry. This can reduce the performance of the site or even a crash. But with the aid of scalability monitoring the performance of the website, more servers can be deployed to the website during the time of large inflow of users, in-order to maintain the stable performance of the website. And when the site has returned to the normal average traffic, it will be automatically scaled down to fit the current demand.


- Agility?

This is the ability to respond to customer changing needs and market conditions, through the use of cloud computing tools such as scalability, automation, flexibility and innovation etc. Like the scenario given above (on scalability), the resources of the website was scaled up due to the increase of traffic. The process of response to these changes is known as Agility.


- High availability?

High availability makes it possible for a system to function and operate continuously without failure or shortage for a specific period of time or as long as it is needed. This tool of cloud computing helps to reduce downtime, increase recovery time (if peradventure a failure occurs) and also automate the recovery process. This can be achieved by various components such as redundancy(this is the deploying of multiple critical component, so that the next one can take over if the initial failed), load-balancing (this is the act of sharing incoming network traffic across different server to avoid failure of a critical component), data replication etc. 
A scenario here is the case of Amazon during black Friday. In this case, Multiple web servers are deployed in various regions to avoid a crash or slow website performance. And with the help of load-balancer, traffics are shared amongst the multiple web servers. These processes help to keep the site to perform well and keep running as long as it is needed.


- Fault tolerant?

Just as high availability makes the system operate continuously, fault tolerance helps to make the system to operate properly when there is a component failure or shortage. This is possible due to the presence of multiple components and servers. 
A scenario, is when there is a component failure on the Amazon site due to heavy traffic, the system will be able to switch to the next available critical component by engaging other available virtual machines programmed in the system and available in different zones, in-order for it to keep functioning.


- Global reach?

The ability of cloud computing services to be made available and utilized by both individuals and organizations is known as Global reach. Cloud providers such as Microsoft Azure, Amazon Web Services (AWS) and Google Cloud Provider(GCP) makes it possible for cloud services to be available all over the world. The use of content delivery network (CDN) by these cloud providers makes it possible for these services to be accessed.
A company like amazon, wanting to expand it services and operations to other countries, use their cloud service (AWS) to help deploy its application across these countries. This makes it possible for users in the country to experience low latency, due to the availability of various data-centers close by. 


- What Is the difference between elasticity and scalability?

For a system to be able to expand and reduce (vice versa) resource due to current demand is known as elasticity. 
Scalability on the other hand, is the ability of a system to enlarge, to be able to accommodate growing amount of work.