DEV Community

Cover image for Cloud-Computing-learning
Lajpat Gautam
Lajpat Gautam

Posted on

Cloud-Computing-learning

🌩️ What Is Cloud Computing?

Cloud computing refers to using computing resources such as servers, storage, databases, networking, and software through the internet instead of owning physical hardware.

Rather than buying and maintaining servers on your own premises, cloud users access resources hosted on remote data centers. These resources are available on demand, and users are charged only for what they actually consume.
In simple words, cloud computing allows applications and data to run on online servers instead of local machines.
image image

⭐ Key Features of Cloud Computing

image image

Scalability

Resources can be increased or reduced easily based on workload.

Elasticity

Systems automatically adjust capacity when demand changes.

High Availability

Services remain accessible with minimal downtime.

Agility

Resources can be provisioned quickly within minutes.

Fault Tolerance

Applications continue working even if a component fails.

Disaster Recovery

Data and applications can be restored after failures or disasters.

Pay-As-You-Go Pricing

Users pay only for the resources they use.

☁️ Cloud Service Models

image image

πŸ”Ή Infrastructure as a Service (IaaS)

More control is given to the user

Cloud provider manages hardware and virtualization

User manages OS, applications, and data

Common use cases:

Virtual machines

Testing and development

Application migration

Examples:

AWS EC2

Azure Virtual MachinesπŸ”Ή Infrastructure as a Service (IaaS)

More control is given to the user

Cloud provider manages hardware and virtualization

User manages OS, applications, and data

Common use cases:

Virtual machines

Testing and development

Application migration

Examples:

AWS EC2

Azure Virtual Machines

πŸ”Ή Platform as a Service (PaaS)

Responsibilities are shared

Provider manages OS, runtime, and infrastructure

User focuses only on application code

Ideal for:

Application development

Example:

Heroku

πŸ”Ή Software as a Service (SaaS)

Provider manages everything

Users access applications via browser

No installation required

Examples:

Gmail

Outlook

Microsoft 365

OneDrive

πŸ” Shared Responsibility Model

The shared responsibility model explains who is responsible for what in cloud security.

Cloud Provider β†’ Infrastructure, physical security, and underlying services

Customer β†’ Data, user access, configurations, and applications

πŸ“Œ Responsibility depends on whether you use IaaS, PaaS, or SaaS.

🌍 Cloud Deployment Models

image

Private Cloud

Dedicated environment

High security and control

Higher cost and maintenance

Public Cloud

Fully managed by provider

Cost-effective

No infrastructure management

Hybrid Cloud

Mix of private and public cloud

Sensitive data stays private

Multi-Cloud

Uses multiple cloud providers

Avoids vendor lock-in

πŸ”Œ API (Application Programming Interface)

An API is a set of rules that allows software systems to communicate with each other.

In cloud environments, APIs enable users to interact with:

Compute services

Storage

Databases

AI and ML services
image

πŸ“ˆ Scaling in Cloud Computing

Vertical Scaling

Increasing resource size

Example: Adding more RAM or CPU to a VM

Horizontal Scaling

Adding or removing instances

Common in high-traffic applications

image image

πŸ–₯️ Virtualization

Virtualization allows multiple virtual machines to run on a single physical server.

Key benefits:

Better hardware utilization

Multiple OS on one machine

Cost efficiency

image

image

βš™οΈ Hypervisor

A hypervisor is software that:

Creates and manages virtual machines

Isolates multiple VMs on one host

Allows different OS to run simultaneously

image

image

πŸ“¦ Containerization

Containerization is a lightweight alternative to virtualization, mainly used for microservices.

Key points:

Packages application with dependencies

Shares host OS kernel

Faster and lightweight

Solves β€œit works on my machine” issue

Best for:

Microservices

Scalable backend systems

⚠️ Containers cannot run a different OS kernel.

image image

🏒 Datacenters, Regions & Availability Zones

image image

Datacenter

A physical building that stores servers and networking equipment.

Region

A geographical area containing multiple datacenters.

Availability Zones

Isolated datacenters within a region

Ensure high availability and fault tolerance

🧩 Virtual Machines vs Containers

image image

πŸ–₯️ Virtual Machines (VMs)

Each VM runs its own full operating system

Uses a hypervisor on top of physical hardware

More secure but heavier and slower

Requires more CPU, RAM, and storage

Best for:

Legacy applications

Strong isolation requirements

πŸ“¦ Containers

Share the host operating system kernel

No separate OS for each application

Lightweight and fast

Starts in seconds

Best for:

Microservices architecture

High-scalability applications

✍️ Author: Lajpat Gautam

Top comments (0)