1.
Fundamentals of Cloud Computing
Concept Building: Consuming Services vs Owning Products
In traditional IT systems, companies own and manage hardware and software
products like servers, data centers, and networking devices. This means they are
responsible for setup, maintenance, upgrades, and costs—even if resources are
underused.
In cloud computing, the model shifts to consuming services. Instead of owning
infrastructure, users rent computing services (like storage, databases, or servers) from
a cloud provider. This approach is more flexible and cost-effective.
Owning Products Consuming Services
Capital expenditure (CapEx) Operational expenditure (OpEx)
Requires physical space and setup No physical setup required
User is responsible for maintenance Provider handles maintenance
Low resource scalability Highly scalable on-demand
Example: Buying a server Example: Renting a server on AWS
What is Cloud Computing?
Cloud Computing is the delivery of computing services—including servers, storage,
databases, networking, software, analytics, and intelligence—over the Internet (the
cloud). These services are provided on-demand and are billed based on usage.
It allows users to access data and applications from anywhere, anytime, using any
device connected to the internet.
Definition:
Cloud computing is a model for enabling convenient, on-demand network access to a
shared pool of configurable computing resources that can be rapidly provisioned and
released with minimal management effort.
Goals of Cloud Computing
The main goals of cloud computing are:
Cost Efficiency: Reduce IT infrastructure costs by using pay-as-you-go
services.
Scalability: Automatically scale resources up or down as needed.
Flexibility and Accessibility: Access resources anytime, anywhere via the
internet.
Improved Collaboration: Enable multiple users to collaborate in real-time.
Business Continuity: Offer backup, disaster recovery, and data
redundancy.
Faster Deployment: Launch applications and services quickly without
infrastructure delays.
Advantages of Cloud Computing
Cost Savings: No need to buy and maintain hardware.
High Scalability: Resources can be scaled on demand.
Accessibility: Access from any device with internet connectivity.
Disaster Recovery: Automatic data backups and quick recovery.
Automatic Updates: Cloud providers manage updates and patches.
Performance: Large-scale cloud providers offer optimized performance.
Disadvantages of Cloud Computing
Internet Dependency: Requires a stable internet connection.
Limited Control: Less control over infrastructure compared to on-premise
setup.
Security Concerns: Data is stored offsite; risk of unauthorized access.
Downtime: Possible service outages due to maintenance or technical issues.
Vendor Lock-in: Difficult to migrate between cloud providers.
Characteristics of Cloud Computing
Cloud computing has five essential characteristics defined by NIST (National Institute
of Standards and Technology). These characteristics differentiate it from traditional
computing models:
1 On-Demand Self-Service
Users can provision computing resources (like server time, storage, or applications)
automatically without requiring human interaction with the service provider.
Example: A developer can launch a virtual machine instantly using AWS or Azure
without calling technical support.
2 Broad Network Access
Cloud services are accessible over the network (typically the internet) using standard
devices such as laptops, smartphones, and tablets.
Example: Google Drive can be accessed from any browser or mobile app from
anywhere.
3 Resource Pooling
The provider's computing resources are pooled to serve multiple users (multi-tenancy
model). Resources are dynamically assigned and reassigned based on demand.
Example: A single data center in the cloud may serve hundreds of clients, each using
a portion of the total CPU, storage, and bandwidth.
4 Rapid Elasticity
Cloud services can be scaled up or down automatically and quickly to meet demand.
To users, the resources often appear unlimited and can be purchased in any quantity at
any time.
Example: An e-commerce site experiences high traffic during a festival sale and can
instantly increase server capacity.
5 Measured Service
Cloud systems automatically control and optimize resource use by metering service
usage. This supports a pay-as-you-use billing model.
Example: Users are charged only for the amount of storage or computing power they
actually use, similar to a utility service like electricity.
Cloud Delivery (Service) Models
Cloud service models define what kind of services are delivered and how much
control the user has over the infrastructure and applications. These models are the
foundation of cloud computing architecture.
1 Concept Building – Service Delivery Models
There are three primary service delivery models in cloud computing:
SaaS (Software as a Service)
PaaS (Platform as a Service)
IaaS (Infrastructure as a Service)
These models represent different levels of control and responsibility, ranging from
full service (SaaS) to full control (IaaS).
Cloud Service Models
Software as a Service (SaaS)
Software as a Service (SaaS) is a cloud computing service model where software
applications are delivered to users over the Internet, on a subscription or pay-per-
use basis. Users do not need to install, maintain, or manage the software or
underlying infrastructure.
Key Features:
Web-based access: Users access the software through a web browser.
No installation needed: No local setup or maintenance required.
Automatic updates: Software is always up to date.
Subscription-based: Pay as per usage or on a monthly/yearly plan.
Multi-tenancy: Multiple users share the same application securely
Examples of SaaS:
Application Use Case
Gmail Email communication
Google Docs Online document editing
Microsoft 365 Office productivity tools
Dropbox Cloud storage
Zoom /
Video conferencing
Teams
Salesforce Customer relationship mgmt
Advantages of SaaS:
Low initial cost – No need to buy hardware or software.
Easy to use – Accessible from anywhere via browser.
Scalability – Easily upgrade to more users or features.
Automatic backups and updates – Handled by the provider.
Accessibility – Use from laptops, tablets, or phones.
Disadvantages of SaaS:
Internet required – No access without a stable connection.
Less customization – Limited control over app features.
Data security – Depends on the provider’s security measures.
Vendor lock-in – Switching providers can be difficult.
Platform as a Service (PaaS)
Platform as a Service (PaaS) is a cloud computing model that provides a ready-to-
use platform for developers to build, test, deploy, and manage applications without
managing the underlying hardware or infrastructure.
PaaS offers runtime environments, databases, middleware, and development tools
so developers can focus on coding rather than worrying about servers, storage, or
network setup.
Key Features:
Development tools like compilers, code editors, and debuggers.
Application hosting and deployment services.
Integrated databases and middleware.
Automatic scaling and load balancing.
Supports multiple programming languages.
Examples of PaaS:
PaaS Platform Use Case
Google App Engine Web and mobile app development
Microsoft Azure App
Hosting web applications
Service
Heroku Deploying scalable cloud apps
IBM Cloud Foundry Multi-language app development
Red Hat OpenShift Containerized app deployment
Advantages of PaaS
Faster development – No need to set up the environment.
Reduced complexity – Focus on code, not infrastructure.
Scalable – Easily scale up as demand increases.
Cross-platform development – Build for web, mobile, etc.
Collaboration – Multiple developers can work together online
Disadvantages of PaaS:
Limited control – Users can’t manage the underlying infrastructure.
Dependency on provider – Vendor lock-in may occur
Compatibility issues – Apps may depend on specific platform features.
Security concerns – Apps and data are on a shared platform.
Infrastructure as a Service (IaaS)
Infrastructure as a Service (IaaS) is a cloud computing model that provides
virtualized computing resources over the internet. These resources include servers,
storage, networking, and operating systems, which users can provision and manage
just like traditional physical hardware.
IaaS gives the most control to users compared to SaaS and PaaS.
Key Features:
Virtual machines and computing power
Cloud storage (block, file, and object storage)
Networking components like firewalls, load balancers
Full control over the OS and applications
Scalable resources based on demand
Examples of IaaS:
Provider Service
Amazon Web
Amazon EC2, Amazon S3
Services
Microsoft Azure Azure Virtual Machines
Google Cloud Google Compute Engine
IBM Cloud IBM Virtual Servers
DigitalOcean Droplets (VMs)
Advantages of IaaS:
Full control over operating systems and application
Highly scalable – Resources can be adjusted as needed
Cost-efficient – Pay only for what you use
No hardware maintenance – Managed by the provider
Quick provisioning – Faster setup than physical hardware
Disadvantages of IaaS:
Complexity – Requires technical skills for setup and management
Security responsibility – User must secure OS and apps
Vendor dependency – Switching providers can be difficult
Unpredictable cost – Usage-based billing may fluctuate
Comparison between SaaS, PaaS, and IaaS
SaaS (Software as a PaaS (Platform as IaaS (Infrastructure as
Feature / Aspect
Service) a Service) a Service)
Ready-to-use Platform for Virtualized hardware
Definition software delivered building and resources delivered via
via the internet deploying apps the internet
IT admins / System
User End-user Developers
engineers
Only the software OS, apps, data, and
Control Over Apps and data
configuration runtime
Everything (app, Infra, OS, Only hardware and
Managed By Provider
runtime, OS, infra) runtime virtualization
Setup Time No setup needed Minimal setup Moderate setup
Customization Limited Moderate Full
Gmail, Dropbox, Google App AWS EC2, Azure VM,
Example Services
Microsoft 365 Engine, Heroku Google Compute Engine
Developers
End-users needing Companies needing full
Best For building
quick solutions environment control
applications
Pay per usage
Per user or per Pay per resource used
Billing (app runtime, DB,
subscription (VMs, storage, etc.)
etc.)
Scalability High High High
Shared (provider
Security Managed By Provider Mostly user
& user)
Partial (app by
Maintenance Done by provider User responsible
user)
Cloud Deployment Models
Cloud deployment models define how cloud services are made available to users —
whether for private use, public access, or shared among organizations. The main types
are:
Private Cloud
Public Cloud
Community Cloud
Hybrid Cloud
Private Cloud
A Private Cloud is a type of cloud deployment model where the entire cloud
infrastructure is exclusively dedicated to a single organization. It can be hosted
on-premise (within the organization) or by a third-party provider, but the
infrastructure is not shared with any other organization.
It offers cloud benefits (scalability, automation, virtualization) while maintaining
greater control, security, and privacy.
Key Characteristics:
Single-tenant environment – Only one organization uses the
infrastructure.
High customization – Can be tailored to the organization's exact needs.
Greater security & control – Full oversight over data, apps, and policies.
Used in – Banks, government agencies, research labs, large enterprises.
Advantages of Private Cloud:
High Security & Privacy
Data and infrastructure are isolated, making it ideal for organizations with
strict security and compliance requirements.
Complete Control
Organizations can customize infrastructure, software, and security policies
as needed
Better Performance
Since the environment is not shared, resource allocation is consistent and
optimized.
Regulatory Compliance
Helps meet strict industry standards (e.g., HIPAA, GDPR, etc.)
Disadvantages of Private Cloud:
High Cost
Requires significant investment in hardware, software, and skilled staff.
Maintenance Overhead
All updates, backups, and security patches must be handled by the
organization.
Limited Scalability
Scaling requires purchasing and setting up new hardware.
Public Cloud
A Public Cloud is a cloud deployment model where computing resources like
servers, storage, and applications are offered to the general public over the
internet by third-party providers such as Amazon Web Services (AWS), Microsoft
Azure, or Google Cloud Platform (GCP).
In this model, multiple users share the same infrastructure, but each user's data
and applications remain isolated and secure.
Key Characteristics:
Multi-tenant environment – Shared by many users or organizations.
Fully managed by provider – No maintenance burden on the user.
Accessed via internet – Accessible from anywhere.
Highly scalable and flexible – Add or remove resources easily.
Advantages of Public Cloud:
Cost-Effective
No need to purchase hardware or software; pay only for what you use.
Scalable on Demand
Can quickly increase or decrease resources based on need.
No Maintenance Required
All infrastructure is managed, updated, and secured by the provider.
Quick Deployment
Services and applications can be launched within minutes.
Global Reach
Data centers located worldwide allow faster access and availability.
Disadvantages of Public Cloud:
Limited Control
Users have no access to the physical infrastructure and limited
customization.
Security Risks
Although providers secure their platforms, shared environments may raise
data security concerns for some industries.
Compliance Challenges
Difficult to meet industry-specific compliance or regulatory standards.
Vendor Lock-in
Migrating services between cloud providers can be complex and costly.
Community Cloud
A Community Cloud is a shared cloud infrastructure that is used by multiple
organizations that have common goals, security requirements, policies, or
compliance needs. It is jointly owned, managed, and operated by one or more of
the participating organizations or by a third-party provider.
Key Characteristics:
Shared among organizations with common concerns (e.g., security,
compliance).
Access is restricted to a specific group of users or organizations.
Can be hosted on-premises or by a third party.
Offers a balance between the cost-effectiveness of Public Cloud and the
control of Private Cloud.
Advantages of Community Cloud:
Cost Sharing
Costs are shared among the organizations, making it more affordable than a
private cloud.
Improved Collaboration
Ideal for organizations working on joint projects or needing shared access
to data and applications.
Better Compliance
Designed to meet specific industry or regulatory compliance requirements
(e.g., healthcare, education, government)
Security and Privacy
Offers better security than a public cloud because it is accessible only by a
known group.
Disadvantages of Community Cloud:
Limited Scalability
Not as scalable as the public cloud due to limited users and resources.
Shared Responsibilities
All participating organizations must agree on policies and management
strategies.
Higher Cost than Public Cloud
Although cost is shared, it's usually more expensive than a public cloud
setup.
Complex Setup
May involve complex agreements and setup among organizations.
Hybrid Cloud
A Hybrid Cloud is a combination of two or more cloud deployment models—
Private, Public, or Community Cloud—that are distinct entities but integrated
together, offering the advantages of multiple deployment models.
It allows data and applications to be shared between public and private clouds,
offering greater flexibility and optimization of existing infrastructure, security, and
compliance.
Key Characteristics:
Combines Private and Public Cloud environments.
Interconnected via technology that enables data and application
portability.
Enables workload shifting between clouds as needs and costs change.
Often used to keep sensitive data in the private cloud while using the
public cloud for scalability.
Advantages of Hybrid Cloud:
Flexibility and Scalability
Organizations can scale resources up or down easily by leveraging the
public cloud when needed.
Cost Efficiency
Sensitive tasks can be handled in the private cloud, while less critical
workloads use the more cost-effective public cloud.
Improved Security
Sensitive data remains in the private cloud while the public cloud handles
general computing needs.
Business Continuity
Can be used as a backup or disaster recovery solution by using the public
cloud in case the private system fails.
Customizable Architecture
Organizations can customize their cloud strategy based on business needs
and compliance requirements.
Disadvantages of Hybrid Cloud:
Complex Management
Managing multiple cloud environments and ensuring smooth integration
can be difficult
Security Risks
Transferring data between public and private environments can increase the
risk of data breaches if not properly managed.
Compliance Challenges
Different environments may have different compliance standards that must
be met.
High Initial Cost
Requires investment in infrastructure and integration technologies.
Examples of Cloud Deployment Models
Cloud Model Examples
– Internal banking systems (e.g., SBI)
Private Cloud – Government data centers
– IBM Private Cloud
– Google Drive
Public Cloud – Microsoft Azure
– Amazon Web Services (AWS)
– Shared university research cloud
Community
– Government health cloud
Cloud
– Banking consortium cloud
Cloud Model Examples
– Banking apps (private for data, public for interface)
Hybrid Cloud – E-commerce sites
– Healthcare systems (private for records, public for appointments
Cloud Computing Architecture
Cloud computing is one of the most popular tech concepts right now. Thanks to it,
every organization is now embracing a new look at virtualized services and resources
on demand. Regardless of size, every organization now uses cloud services to access
or store information that is easily accessible always, from anywhere in the world via
the Internet.
The cloud architecture umbrella pools multiple technologies, making them
easily accessible to everyone from everywhere.
If the cloud means giving services on demand to customers anywhere and
at any time, no matter what, the cloud infrastructure is the collection of
technologies that makes the whole cloud computing system actually work.
It can be used in private, public, and hybrid clouds, and it is cheap, flexible,
and easy to scale.
A traditional cloud framework involves a delivery model, a network,
security and management layers, and most importantly, the back-end and
front-end, which we'll discuss next.
Front-end. The collection of elements a client interacts with is the user interface and
application a person uses to get to the cloud services.
Back-end. The cloud that’s leveraged by the cloud provider that holds, manages, and
secures resources. In addition to this, it contains storage, virtual machines, ways to
control traffic, deployment models, and so on.
Storage: Virtual place to manage and safekeep data.
Management: Elements that help take care of the application, service, runtime,
storage, infrastructure, and other security mechanisms.
Security: Practice and tools to employ diverse security mechanisms to keep cloud
resources, systems, and files, safe for end users.
Network: Internet connection that acts as a bridge between the front-end and the
back-end, allowing them to talk and interact with each other.
Cloud Architecture Benefits
Organizations can almost completely remove their in-house hardware needs in
terms of storage, servers, or networking elements such as routers thanks to cloud
computing design.
Frequently, companies adopt cloud models to host internal IT elements on an
external platform. A major benefit is eliminating physical hardware like servers
or data centers, as well as the costs that come with maintaining said hardware
including facilities, electricity, cooling devices, and more.
Thanks to cloud architectures, companies move away from the upfront costs
mentality and shift towards an ongoing operating expenses approach. The three
main cloud architecture types are:
Software as a Service (SaaS) refers to a model of software and application delivery
and management in which the vendor takes care of updating and supporting the client
application. Clients avoid the headaches of downloading and deploying the cloud
architecture on their own as most SaaS platforms have a web interface that supports a
wide array of operating systems and browsers.
Platform as a Service (PaaS) is a cloud paradigm in which a provider makes
available, on-demand, a software stack, including a computer platform. On top of the
platform, businesses can create their own software or service. The user is responsible
for the software's installation and configuration, while the cloud service provider
handles the servers, network, and storage needs.
Infrastructure as a Service (IaaS) is a 3rd party provider that handles the
maintenance of servers, networks, and storage devices for a company. This model is
ideal for companies looking to only pay for the resources they truly need.
There are plenty of advantages gained from cloud architectures. The most important
ones include:
Accelerate the release of new apps.
Use cloud-native architecture like Kubernetes to update your apps and speed up your
digital transformation.
Simplifies the cloud system as a whole.
Enhances data processing requirements.
Offers superior security levels.
Improved disaster recovery.
Reduces the operational costs of IT.
Ensure adherence to the latest guidelines.
Prevent data breaches.
Get resources quicker.
Use hybrid cloud architecture to scale applications up or down, in real-time.
Consistently meet service goals
Cloud Computing Logical Architecture
Logical Architecture refers to the high-level structure that defines how cloud
services are organized and how different components interact logically (not
physically). It focuses on what each component does rather than where or how it is
implemented.
Main Layers of Cloud Logical Architecture
Layer Description
Represents users or clients who use cloud services (e.g., businesses,
1. Cloud Consumer Layer
developers, individuals).
Offers three main service models: SaaS, PaaS, and IaaS. Each delivers
2. Cloud Service Layer
different types of services to consumers.
Manages physical and virtual resources like servers, storage, and
3. Cloud Resource Layer
networking. It ensures scalability, availability, and performance.
The foundation layer including data centers, physical servers, power
4. Cloud Infrastructure Layer
supply, and cooling systems.
Layers of Cloud Logical Architecture (Explained)
1. Cloud Consumer Layer
Who it includes: End users, businesses, developers.
Role: This layer represents the people or applications using the cloud
services.
Function:
Requests cloud resources (e.g., software, storage, computing power)
Interacts with the user interface (UI) or application interface (API).
Examples:
A student accessing Google Drive.
A developer deploying an app on AWS.
2. Cloud Service Layer
What it includes: Major cloud service models: SaaS, PaaS, and IaaS
Role: Delivers services to users based on their needs.
Function:
Provides services such as software, platforms, or infrastructure via the
internet
Hides the complexity of underlying hardware or system configurations.
Examples:
SaaS: Gmail, Microsoft 365.
PaaS: Google App Engine.
IaaS: Amazon EC2, Microsoft Azure VM.
3. Cloud Resource Layer
What it includes: Virtual machines, virtual networks, virtual storage.
Role: Manages abstracted and virtualized IT resources.
Function:
Allocates resources dynamically based on demand.
Enables resource pooling, multi-tenancy, and elastic provisioning.
Examples:
A virtual server allocated to run a customer’s application.
Dynamic storage allocation in Google Cloud.
4. Cloud Infrastructure Layer
What it includes: Physical components like servers, routers, power,
cooling, storage.
Role: This is the foundation of the entire cloud architecture.
Function:
Provides computing and network infrastructure.
Houses all physical machines in data centers.
Examples:
Amazon or Microsoft’s data centers.
Physical servers running thousands of virtual machines.
Concept Building – Cloud Enabling Technologies
Broadband Networks and Internet Architecture
Broadband Networks provide high-speed internet connectivity, which is
essential for cloud computing as it enables rapid access to remote
resources.
Types include DSL, Fiber Optic, Cable, Satellite, and Wireless.
Internet Architecture is the structural design of how data flows over the
internet. It includes: Clients, Servers, Routers, Protocols (TCP/IP)
Cloud relies on this architecture to provide seamless, scalable, and distributed
computing services over the internet
Datacentre Technology
A Data Centre is a facility used to house computer systems and associated
components such as storage systems and networking equipment.
It serves as the backbone of cloud computing.
Key components:
Servers
Networking infrastructure
Cooling systems
Power backups
Security system
Virtualization Technology
Virtualization allows multiple virtual machines (VMs) to run on a single
physical machine using a hypervisor.
It is a core enabling technology for cloud computing.
Benefits:
Resource optimization
Scalability
Isolation between applications
Web Technology
Web technologies form the interface between cloud services and users
Include:
HTTP/HTTPS protocols
Web Browsers for accessing cloud services
Web APIs for programmatic access to services
Technologies like HTML, CSS, JavaScript
Essential for SaaS models and web-based applications.
Multi-tenant Technology
Multi-tenancy allows a single instance of software to serve multiple users (tenants).
Each tenant’s data is isolated and invisible to others.
Examples: Gmail, Office 365
Advantages of Multi-tenancy
Cost efficiency (shared infrastructure)
Simplified maintenance and updates
Scalability
Resource optimization
Disadvantages of Multi-tenancy
Security concerns (data from multiple users in one system)
Less customization
Performance issues due to shared resource
Service Technology (SOA – Service-Oriented Architecture)
SOA (Service-Oriented Architecture) is an architectural pattern where
services are provided to other components via a communication protocol
(typically HTTP)
It plays a key role in cloud computing, especially in SaaS and PaaS
models.
Key Features:
Loose coupling between services.
Reusability of services.
Interoperability across different platforms.
Discoverability of services via service registries.
Characteristics of a Service
Characteristic Description
Self-Contained A service performs a specific task independently.
Reusable Designed to be used in multiple applications.
Stateless Doesn’t store client state between calls.
Discoverable Can be found and invoked by clients via registries.
Platform Independent Services work across different platforms and languages.