Introduction
Basics of Cloud Computing ☁️
What is the Cloud? ☁️
Cloud is a virtual space where you can store files, run software, and access various services over the internet. It’s like having a powerful computer somewhere out there on the web that you can use for tasks without needing to own or physically manage the hardware. This allows users to access data and applications from anywhere with an internet connection.
What is Cloud Computing? ☁️
Cloud computing is a technology model delivering computing services over the internet. Users access resources, applications, and storage without owning physical infrastructure. Services can be from third-party providers (public cloud) or an organization’s own servers (private cloud), hosted in global data centers.
Cloud computing offers flexibility by utilizing third-party providers (public cloud) or an organization’s internal resources (private cloud), with the key distinction being shared resources for multiple customers in the public cloud and dedicated resources for a single organization in the private cloud.
Public Cloud: ☁️
Who Uses It: Everyone, like individuals, businesses, and organizations.
What It’s Like: Imagine a giant, shared computer space on the internet. It’s like using apps, storing files, or doing tasks on the internet that anyone can access.
Example: Think of Google Drive, Amazon Web Services (AWS), Azure or GCP.
Private Cloud: ☁️
Who Uses It: One specific organization or business.
What It’s Like: Picture having your own personal, private computer space. It’s like a digital clubhouse where only you and your team have access. Others can’t just drop in.
Example: A company using its server for all its digital needs, government organizations, and banks.
Hybrid Cloud: ☁️
Who Uses It: A mix of everyone, depending on needs.
What It’s Like: It’s like having your private computer space, but sometimes you use the shared internet space too.
Example: A business storing sensitive data in its private space but using the public cloud for extra storage or specific tasks.
Terminology in Cloud Computing 📚
Virtualization 💻
Virtualization is the act of creating a simulated or virtual instance of a system component, be it an operating system, server, storage, or network resources. This allows efficient utilization and management of resources by running multiple instances on a single physical infrastructure.
Virtual Machine 💻
A Virtual Machine (VM) is a software-based emulation of a physical computer. It allows running multiple operating systems on a single physical machine.
API (Application Programming Interface) 🔄
API is a set of rules and protocols that allows different software applications to communicate with each other. It defines how software components should interact.
Regions 🌍
Regions in cloud computing refer to geographic locations where cloud providers have data centers. Each region contains multiple data centers.
Availability Zones ⚡
Availability Zones are isolated locations within a region that have their power, cooling, and networking. They are designed to provide high availability and fault tolerance.
Scalability 📈
Scalability is the ability of a system to handle an increasing amount of work or its potential to be enlarged to accommodate that growth.
Elasticity 🌱
Elasticity in cloud computing refers to the ability to dynamically scale resources up or down based on demand.
Agility 🏃♂️
Agility is the capability of quickly and easily adapting to changes. In the context of cloud computing, it involves the rapid deployment of resources and applications.
High Availability ⏰
High Availability (HA) ensures that a system or application is operational and accessible for a high percentage of time, typically 99.9% or higher.
Fault Tolerance 🛡️
Fault Tolerance is the ability of a system to continue operating without interruption in the presence of hardware or software failures.
Disaster Recovery 🌀
Disaster Recovery involves the planning and processes for restoring and recovering data and systems after a natural or human-induced disaster.
Load Balancing ⚖️
Load Balancing is the distribution of network traffic or computing workload across multiple servers to ensure no single server is overwhelmed.