Cloud Computing
Source: Dev.to
What is Virtualization?
Virtualization is the technology that allows you to create multiple virtual versions of something such as servers, devices, or networks on a physical machine. It lets one powerful physical server run many virtual machines (VMs) simultaneously.
Why virtualization matters
- Saves hardware costs
- Uses resources more efficiently
- Makes it easier to deploy and manage systems
- Foundation of cloud computing
Scalability
Scalability is the ability of a system to handle growth by increasing resources.
Example: When demand increases—more users, more data, more traffic—you add more servers so the website doesn’t slow down. A scalable system can expand to keep performance stable.
Agility
In IT and cloud computing, agility means the ability to quickly adapt to change. Instead of waiting weeks to buy and set up new hardware, you can deploy new servers, apps, or services in minutes.
Example: A startup launches a new feature today because they can instantly spin up cloud servers—no waiting for physical equipment.
High Availability
High Availability means a system is designed to stay up and running with minimal downtime. Even if one part fails, another takes over automatically.
- Keeps services available 99.9%–99.999% of the time (often referred to as “uptime”).
Fault Tolerance
Fault Tolerance goes a step further than high availability. It means a system continues to operate without interruption, even when hardware or components fail.
- Two systems run simultaneously with identical data.
- If one fails, the other continues instantly with zero disruption.
Global Reach
Global Reach refers to the ability of a system or cloud provider to deliver services to users worldwide. Cloud providers have data centers in multiple countries and regions, allowing applications to run closer to users.
Example: A user in South Africa connects to a nearby data center instead of one in the US, so the application loads faster.
Elasticity vs. Scalability
Elasticity
- Definition: Flexibility
- Ability to automatically adjust capacity up and down based on demand
- Handles short‑term demand changes
- Usually automatic (e.g., adding servers during a traffic spike, then removing them when traffic drops)
Scalability
- Definition: Growth
- Ability to increase capacity to handle long‑term growth
- Often manual or planned (e.g., adding more servers because your app is growing)