DEV Community

Cover image for KEY CONCEPTS IN CLOUD COMPUTING
Isaiah Izibili
Isaiah Izibili

Posted on

KEY CONCEPTS IN CLOUD COMPUTING

1. What is Virtualization?

Virtualization is the process of creating a virtual (rather than physical) version of something, such as a server, a desktop, a storage device, an operating system, or network resources. It allows multiple virtual systems to run on a single physical system, maximizing hardware efficiency and flexibility.

Key Concepts:

  • Virtual Machines (VMs): Software-based emulations of physical computers. Each VM runs its own OS and applications.
  • Hypervisor: Software that enables virtualization by managing and allocating resources to VMs. There are two types:

  • Type 1 (bare-metal): Runs directly on hardware (e.g., Microsoft Hyper-V, VMware ESXi).

  • Type 2 (hosted): Runs on a host OS (e.g., VMware Workstation, VirtualBox).

  • Resource Sharing: Virtualization allows CPU, memory, and storage to be shared among multiple VMs.

  • Isolation: Each VM is isolated from others, increasing security and stability.

2. Scalability

Scalability is the ability of a system—such as an application, service, or infrastructure—to handle increased workload or demand without compromising performance or stability.

  • Types of Scalability: Vertical Scaling (Scale Up):
  1. Vertical Scaling(Scale Up): Increasing the power of an existing machine. e.g., adding more CPU, RAM, or storage to a server.

  2. Horizontal Scaling (Scale Out): Adding more machines or instances to distribute the load. e.g., adding more virtual machines behind a load balancer.

  3. Auto-Scaling: Automatically adjusting resources based on real-time demand. e.g., Azure App Service scaling out during peak traffic.

3. Agility
Agility in cloud computing refers to the ability to rapidly develop, test, deploy, and scale applications and services in response to changing business needs or market conditions.

4. High Availability
High Availability (HA) in cloud computing refers to the design and implementation of systems that remain continuously operational and accessible, even in the face of hardware failures, network outages, or unexpected surges in demand.

Key Characteristics of High Availability in the Cloud:

1. Redundancy Across Regions and Zones:

  • Cloud providers (like Azure, AWS, GCP) offer multiple data centers (regions) and availability zones to host duplicate services.
  • If one zone or region fails, another takes over.

2. Automatic Failover

  • Cloud services can automatically switch to backup systems in case of failure. e.g., Azure SQL Database automatically fails over to a secondary instance if the primary goes down.

3. Scalable Infrastructure

  • Resources can scale automatically to handle increases in load, avoiding downtime due to overuse.

4. Load Balancing

  • Distributes incoming traffic across multiple servers or instances to avoid overload and ensure continuous availability.

5. Fault Tolerant

Fault Tolerance in cloud computing refers to a system's ability to continue operating correctly even when one or more components fail. It ensures that failures do not cause service interruption or data loss.

Key Concepts of Fault Tolerance:

  • Redundancy: Duplicates critical components (like servers, databases, or networks) so if one fails, another takes over automatically.
  • Failover Systems: Automatically detect failures and switch to backup systems or instances without affecting the end user.
  • Isolation: Faults in one component do not impact others (e.g., through containers or microservices).
  • Self-Healing: The system detects a failure and automatically repairs or replaces the faulty component (e.g., auto-restarting a failed VM or container).

6. Global Reach

Global reach refers to the ability of cloud platforms to deliver services, applications, and data to users around the world with high availability, low latency, and consistent performance. It’s one of the defining strengths of cloud computing—especially for businesses aiming to scale internationally or serve a distributed user base.

7. What is the difference between Elasticity and Scalability

While elasticity and scalability are closely related—and often used interchangeably—they refer to distinct concepts in cloud computing. Both deal with resource management, but they focus on different aspects of system behavior.

Key Difference:

Table Elasticity vs Scalability

Top comments (0)