Wednesday, January 1, 2025

Cloud Computing Vocabulary

 

Virtualization

Definition: Virtualization is the process of creating a virtual version of physical resources such as servers, storage, or networks.
Example: Instead of using three physical servers, a company can use one powerful server with virtualization software like VMware or Hyper-V to create three virtual machines, each acting as an independent server.


Virtual Machine (VM)

Definition: A Virtual Machine is a software-based emulation of a physical computer that runs its own operating system and applications independently.
Example: A developer can run Windows and Linux simultaneously on a Mac using VMs created with VirtualBox or VMware.


API (Application Programming Interface)

Definition: An API is a set of rules and protocols that enables different software applications to communicate and interact with each other.
Example: A weather website uses the OpenWeatherMap API to fetch live weather data and display it to users.


Regions

Definition: Regions are physical locations around the world where cloud providers like AWS, Azure, or GCP have data centers.
Example: Microsoft Azure has a "UK South" region in London and a "West Europe" region in the Netherlands.


Availability Zones

Definition: Availability Zones are isolated data centers within a region, each with separate power, cooling, and networking, to ensure high availability.
Example: AWS’s "us-east-1" region (Virginia) has multiple availability zones like us-east-1a, us-east-1b, etc., to spread resources and reduce the risk of downtime.


Scalability

Definition: Scalability is the ability of a system to grow and handle increased demand by adding resources.
Example: An e-commerce site can scale its infrastructure during Black Friday by adding more servers to handle the spike in traffic.


Elasticity

Definition: Elasticity refers to the automatic scaling of resources up or down based on real-time demand.
Example: A cloud-based video streaming service like Netflix adds more servers during peak hours and reduces them when traffic decreases.


Agility

Definition: Agility is the ability to quickly adapt and respond to changes or deploy new features rapidly.
Example: A startup can use Azure DevOps to deploy new versions of its app weekly instead of waiting months, thanks to the agility provided by cloud tools.


High Availability (HA)

Definition: High Availability ensures that systems remain operational with minimal downtime, typically 99.9% uptime or higher.
Example: Hosting a web application in multiple availability zones helps ensure it remains online even if one zone fails.


Fault Tolerance

Definition: Fault Tolerance is the ability of a system to continue functioning even when some components fail.
Example: A banking system using a redundant database cluster can still serve customers even if one database server crashes.


Disaster Recovery (DR)

Definition: Disaster Recovery includes processes and technologies used to restore systems and data after catastrophic events.
Example: A company backs up its data to Azure Backup, so it can restore files and virtual machines if a ransomware attack corrupts the primary data.


Load Balancing

Definition: Load Balancing distributes incoming network traffic across multiple servers to ensure no single server is overwhelmed.
Example: A web application uses an AWS Elastic Load Balancer to route requests to multiple EC2 instances, keeping the application fast and responsive.