Unit 1
Unit 1
Unit details
Unit-1 Introduction to Cloud Computing
• Overview of Cloud Computing
• Cloud Service Models:
• IaaS
• PaaS
• SaaS
• Deployment Models:
• Public, Private
• Hybrid Clouds
• Benefits and Challenges of Cloud Computing
2
Unit-2 Cloud Infrastructure and Services
• Cloud Infrastructure Basics
• Virtualization Techniques and Technologies
• Core Cloud Services:
• Computing, Storage
• Networking
• Introduction to Major Cloud Platforms
• AWS
• Azure
• GCP
3
Unit-3 Cloud Application Development
• Designing Cloud Applications
• Cloud Application Development Tools and Frameworks
• Deploying and Scaling Applications in the Cloud
• Best Practices in Cloud Application Development
4
Unit-4 Cloud Security and Privacy
• Security Challenges in the Cloud
• Data Privacy and Compliance in the Cloud
• Identity and Access Management (IAM)
• Security Best Practices and Standards
5
Unit-5 Advanced Topics and Emerging
Trends
• Cloud Analytics and Big Data Solutions
• IoT in the Cloud
• Cloud Migration Strategies
• Future Trends and Innovations in Cloud Computing
6
Text Books
• Cloud Computing: Concepts, Technology & Architecture -
Thomas Erl, Ricardo Puttini, and Zaigham Mahmood; Prentice
Hall; First Edition, 2013.
• The Cloud at Your Service - Jothy Rosenberg and Arthur
Mateos; Manning Publications; First Edition, 2010.
7
Reference Books
• Cloud Computing: From Beginning to End - Ray J. Rafaels;
CreateSpace Independent Publishing Platform; First Edition,
2015.
• Mastering Cloud Computing: Foundations and Applications
Programming - Rajkumar Buyya, Christian Vecchiola, and S.
Thamarai Selvi; Morgan Kaufmann; First Edition, 2013.
• Architecting the Cloud: Design Decisions for Cloud Computing
Service Models (SaaS, PaaS, and IaaS) - Michael J. Kavis;
Wiley; First Edition, 2014.
8
Unit I
Introduction to Cloud Computing
Overview of Cloud
Computing
Statement
• Cloud Computing refers to the delivery of computing services such as
• Servers
• Storage
• Databases
• Networking
• Software
• Analytic
• and intelligence
• over the Internet (“the cloud”) to offer faster innovation, flexible resources,
and economies of scale.
11
On-Demand Self-Service
• Users can provision computing capabilities, such as server time
and network storage, automatically without requiring human
interaction with the service provider.
12
Broad Network Access
• Cloud services are available over the network and can be
accessed through standard mechanisms by heterogeneous
client platforms like mobile phones, tablets, laptops, and
desktops.
13
Resource Pooling
• The provider’s computing resources are pooled to serve
multiple customers using a multi-tenant model, with different
physical and virtual resources dynamically assigned and
reassigned according to demand.
14
Rapid Elasticity
• Capabilities can be elastically provisioned and released, in
some cases automatically, to scale rapidly outward and inward
appropriate with demand.
15
Measured Service
• Cloud systems automatically control and optimize resource use
by leveraging a metering capability at some level of abstraction
appropriate to the type of service (e.g., storage, processing,
bandwidth, and active user accounts).
16
Practical Example
On-Demand Self-Service:
17
Practical Example
Broad Network Access:
18
Practical Example
Resource Pooling:
19
Practical Example
Rapid Elasticity:
20
Practical Example
Measured Service:
A business uses Microsoft Azure for data storage. They are billed
based on the exact amount of storage and bandwidth they use
each month, providing transparency and control over costs.
21
Development and Evolution
1960s - Conceptual Foundation:
22
Development and Evolution
1990s - Early Cloud-like Services:
23
Development and Evolution
2000s - Emergence of Modern Cloud Computing:
24
Development and Evolution
2010s - Cloud Expansion and Adoption:
25
Development and Evolution
2020s - Current Trends:
26
Benefits of Cloud Computing:
Cost Savings:
∙ No need to invest in expensive hardware and infrastructure, pay only for what
you use (pay-as-you-go model).
27
Benefits of Cloud Computing:
Scalability:
∙ Deploy applications and services globally without the need for setting up
local data centers.
28
Benefits of Cloud Computing:
Flexibility:
29
Benefits of Cloud Computing:
Ease of Access:
∙ Users can access data and applications from any device, anywhere, improving
collaboration and productivity.
30
Use Cases of Cloud Computing in Various
Industries
Healthcare:
∙ Telemedicine
o Cloud platforms enable video consultations and real-time sharing of
medical reports between doctors and patients.
31
Use Cases of Cloud Computing in Various
Industries
Education:
32
Use Cases of Cloud Computing in Various
Industries
Finance:
• Fraud Detection
• Financial institutions use cloud-based machine learning models to analyze
transaction patterns in real-time, detecting and preventing fraudulent
activities.
33
Use Cases of Cloud Computing in Various
Industries
Retail:
• E-Commerce Platforms
• Companies like Amazon use cloud services to run their e-commerce
websites, handling large volumes of transactions, product recommendations,
and customer data.
• Inventory Management
• Retailers use cloud-based inventory systems to track stock levels across
multiple locations in real-time.
34
Use Cases of Cloud Computing in Various
Industries
Media and Entertainment:
• Media Production
• Media companies use cloud-based tools for video editing, rendering, and
collaboration, speeding up the production process.
35
Use Cases of Cloud Computing in Various
Industries
Manufacturing:
• IoT Integration
• Factories deploy IoT devices connected to the cloud to monitor machinery,
predict maintenance needs, and improve operational efficiency.
36
Use Cases of Cloud Computing in Various
Industries
Government:
• E-Governance
• Governments use cloud platforms to provide online services like tax
filing, public records access, and citizen feedback systems.
• Disaster Recovery
• Cloud solutions enable governments to back up critical data and
quickly recover services in case of disasters or cyberattacks.
37
Cloud Service Models
IaaS, PaaS, SaaS
Statement
Cloud service model such as,
• Infrastructure as a Service (IaaS),
39
Infrastructure as a Service (IaaS)
• IaaS provides virtualized computing resources over the internet.
40
Infrastructur
e as a
Service
(IaaS)
41
(IaaS) vs
(SaaS) vs
(PaaS)
42
(IaaS)
Architectur
e
43
Infrastructure as a Service (IaaS)
IaaS architecture
Network
• Network consists of resources like bridge, gateway, router, and switches that are virtualized before the cloud
consumer can access them.
Storage
• The most common type of cloud storage is object storage, which is inexpensive and can store any type of
unstructured data including images, documents, blobs, and binary data.
• Block storage splits data into blocks, allowing it to be spread across various platforms—for example, hard
disks and SSD.
• File storage stores data in an organized, hierarchical structure. Examples are shared file systems and Network
Attached Storage devices (NAS).
44
Infrastructure as a Service (IaaS)
IaaS architecture
Compute
• Central processing units (CPU) for processing web requests and running applications.
• Graphical processing units (GPU) that handle workloads like training algorithms and embedded systems.
• High performance units that perform advanced complex calculations for science and engineering workloads.
Virtualization
• All the physical resources are virtualized using a hypervisor before they can be accessed by the cloud
consumer (subscriber). Consumers can access the infrastructure from anywhere using an internet
connection, or a virtual private network (VPN) for additional security.
45
(IaaS)
Additional
service
• A hypervisor is a software product that shares one physical resource with multiple virtual
machines.
• A cloud provider uses network protocols like fiber channel, iSCSI, and NFS to split a physical
network into logical partitions (or views).
• For example, the hypervisor can provide networking as a service to the virtual machines using
routing, bridging, or network address translation. Some popular hypervisors are Microsoft
Hyper-V and VMware vSphere.
47
Hypervisor
in (IaaS)
48
Infrastructure as a Service (IaaS)
Hypervisors
• A hypervisor is software that allows multiple virtual machines (VMs) to run on a single physical
host.
• By creating virtualized environments, hypervisors enable the sharing of hardware resources, such
as CPU, memory, and storage, across multiple operating systems and applications.
49
Infrastructure as a Service (IaaS)
Hypervisor protocols
•Virtual Machine Monitor (VMM): Manages hardware resources and ensures
secure, isolated execution for virtual machines.
50
Infrastructure as a Service (IaaS)
Hypervisor protocols
•SR-IOV: Enables VMs to directly access network or storage adapters, reducing latency and
enhancing performance.
•NVMe Over Fabrics: Provides high-speed access to flash storage across VMs, optimizing data
throughput.
•PCI Passthrough: Directly maps physical PCI devices to VMs, enhancing performance by bypassing
the hypervisor.
•Open vSwitch (OVS): A virtual switch that manages secure, efficient network traffic among VMs and
physical networks.
51
Infrastructure as a Service (IaaS)
Implementation of IaaS
• Instead of using a physical data center, or hardware, IaaS provides these as a service on-demand. IaaS can be
implemented on public, private, and hybrid cloud models.
• There are 3 deployment models in which it can be set. (Public, Private and Hybrid)
• The customer’s workloads run on data centers that are owned and maintained by the public cloud provider.
• The provider offers infrastructure over the internet as a service through dedicated connections and takes care of
the virtualization software. The provider may also give access to physical resources (not virtualized) as per the
organization’s needs.
52
Infrastructure as a Service (IaaS)
Implementation of IaaS
In a private cloud setup
• The infrastructure is available to only one organization, which is similar to having an on-premise
data center, but managed by a cloud provider.
A hybrid model
• Offers a mix of virtual machines and container-based applications, deployed on public cloud or
data centers.
53
Infrastructure as a Service (IaaS)
Use cases
• Advanced workloads: Complex workloads such as scientific computations and machine learning require high computational
power, which can otherwise be very costly.
• Web applications: IaaS provides all the infrastructure needed to host web applications, like servers, storage space,
computation resources, clustering, and load balancing.
• Big data analytics: Big data often requires a lot of data to be pushed through the network and at a great speed. IaaS provides
the required network and computational resources to process the incoming data and store them effectively.
• Data storage, scaling, recovery, and backup: To handle your changing user base, IaaS can provide efficient horizontal and
vertical scaling, and availability.
• Flexibility to set up your environment: With infrastructure taken care of, developers can choose their platforms and tools to
build their applications.
54
Infrastructure as a Service (IaaS)
Drawbacks
• Because of the multi-tenant nature of IaaS, resources like bandwidth and disk space may be
unevenly shared or used up by a certain consumer (a noisy neighbor), which may affect the
overall network performance.
• Although providers and subscribers follow security guidelines, the organization is dependent on
the provider for data security..
55
Infrastructure
as a Service
(IaaS)
Real world example of Iaas,
PaaS and SaaS
56
Platform as a Service (PaaS)
• PaaS provides a platform that allows developers to build,
deploy, and manage applications without handling the
underlying infrastructure.
57
Platform
as a
Service
(PaaS)
58
Layers in
(PaaS)
In this lecture, PaaS built
on Red Hat OpenShift
59
Platform as a Service (PaaS)
1 Containers
• Containers represent isolated environments where applications run.
60
Platform as a Service (PaaS)
2 Application Management
OpenShift Self-Service:
• for developers to deploy and manage their applications within containers.
• Developers use this interface to access, create, and control their application
instances without needing to manage the underlying infrastructure.
Middleware + Data Services:
• Middleware services include messaging, authentication, and API management,
which facilitate communication and integration between applications.
• Data services provide access to managed databases and other data storage
solutions, which are crucial for application functionality
61
Platform as a Service (PaaS)
2 Application Management
Service Catalog:
• lists available services that developers can use, such as databases, APIs, or
third-party applications.
• a central catalog of preconfigured, deployable services.
Build Automation:
• Automates the process of building and compiling code, streamlining continuous
integration.
• OpenShift automates the creation of container images from the source code,
reducing manual intervention in the deployment process.
62
Platform as a Service (PaaS)
2 Application Management
Deployment Automation:
• Manages the deployment process, including staging, testing, and deploying to
production environments.
• Enables developers to deploy updates quickly and efficiently, ensuring that applications
can be released in a timely manner.
OpenShift Application Lifecycle Management:
• Provides tools for managing the entire lifecycle of applications from development to
production.
• This includes version control, updates, scaling, and retirement, ensuring that
applications are maintained and managed effectively.
63
Platform as a Service (PaaS)
3 Container Management and Infrastructure Services
Container Orchestration:
• Manages container scheduling, load balancing, and scaling.
• OpenShift uses Kubernetes for orchestration, ensuring that containers are
automatically deployed, managed, and scaled as needed.
Cluster Services:
• Cluster services include essential services for managing clusters of containers,
such as node health checks and resource allocation.
• Ensures high availability and resource optimization across multiple container
instances.
64
Platform as a Service (PaaS)
3 Container Management and Infrastructure Services
Networking:
• Manages networking for containers, including communication between containers and
secure network access.
• This layer includes configuration of virtual networks, IP addressing, and firewall rules for
secure communication.
Storage:
• Provides persistent storage solutions for applications that require data to persist even if
containers are stopped or restarted.
• Storage can be attached dynamically to containers, offering flexibility and scalability for
data storage needs.
65
Platform as a Service (PaaS)
3 Container Management and Infrastructure Services
Registry:
∙ A container registry stores and manages container images, which are templates for running
containers.
∙ The registry provides a repository where container images are stored, enabling quick
deployment and reuse of applications.
Telemetry:
∙ Collects data on container performance and resource utilization for monitoring purposes.
∙ Telemetry enables administrators to monitor and analyze the performance of applications,
ensuring optimal performance.
66
Platform as a Service (PaaS)
3 Container Management and Infrastructure Services
Security:
∙ Manages security policies, authentication, and encryption for applications and data.
∙ This includes network security, access control, and compliance measures to protect
containerized applications.
Atomic Automation:
∙ Automates the provisioning, scaling, and maintenance of container environments.
∙ Atomic automation reduces the need for manual intervention, allowing for efficient
management of large-scale container environments.
67
Platform as a Service (PaaS)
3 Container Management and Infrastructure Services
Atomic Cockpit:
∙ Provides a web-based interface for managing the underlying infrastructure and container
orchestration services.
∙ The Atomic Cockpit dashboard offers tools for monitoring and managing system performance,
configuration, and updates.
68
Platform as a Service (PaaS)
4 Operating System and Runtime
Container Runtime & Packaging:
∙ The container runtime is the software responsible for running containers (such as Docker or CRI-O in
Kubernetes).
∙ It handles the execution and isolation of containers, ensuring that each runs in its environment without
interference from others.
Atomic Host:
∙ It offers a lightweight, optimized environment for containers, providing the necessary resources without
the overhead of a full OS.
69
Platform as a Service (PaaS)
4 Operating System and Runtime
Red Hat Enterprise Linux (RHEL):
∙ RHEL provides a secure, stable, and high-performance platform for running containerized
applications.
70
Platform as a Service (PaaS)
5 Physical Infrastructure
Physical Infrastructure:
∙ This includes the actual hardware, such as servers, storage devices, and networking equipment,
that supports the entire PaaS environment.
71
Platform as a Service (PaaS)
Benefits
•Developer Efficiency:
• Developers focus on coding and deploying applications, not infrastructure management.
72
Platform as a Service (PaaS)
Case
•Google App Engine:
73
Software as a Service (SaaS)
• SaaS delivers fully functional, software applications over the internet.
74
Software as a Service (SaaS)
Features
∙ Ready-to-Use Applications:
∙ Users access software through a web interface or client, requiring no local
installation.
∙ Automatic Updates:
∙ The SaaS provider handles all updates, maintenance, and security patches.
∙ Access Anywhere:
∙ Accessible from any device with an internet connection, ideal for remote work and
collaboration.
75
Software as a Service
(SaaS)
76
Software as a Service (SaaS)
1 Users and Access Control
•DevOps Team:
• Manages the infrastructure, deployments, and maintenance using tools like
CodePipeline and CodeBuild for CI/CD.
77
Software as a Service (SaaS)
2 AWS Shared Services
∙ S3 Private Bucket:
∙ Used for storing objects and files, possibly for backups or static resources for the
application.
∙ ECR (Elastic Container Registry) Private Registry:
∙ Stores Docker container images required for the Kubernetes cluster (EKS).
∙ Certificate Manager:
∙ Manages SSL/TLS certificates for secure communication between the SaaS
application and users.
78
Software as a Service (SaaS)
2 AWS Shared Services
∙ Cognito:
∙ Provides authentication, authorization, and user management for the SaaS
application, supporting secure access.
∙ Secret Manager:
∙ Manages sensitive data like database credentials, API keys, and other secrets
securely.
∙ IAM (Identity and Access Management):
∙ Controls access to AWS resources, defining permissions for users, roles, and
services.
79
Software as a Service (SaaS)
3 CloudFront CDN
Acts as a Content Delivery Network (CDN) to serve static and dynamic content to users with low
latency, ensuring a fast user experience
VPC provides an isolated network environment for the SaaS application, split into public and private
subnets for additional security.
Application Load Balancer: Managed by AWS, it distributes incoming application traffic across
multiple resources in the EKS cluster, providing scalability and reliability.
Public Subnets: Hosts resources that need to be accessible externally, such as the Application Load
Balancer.
80
Software as a Service (SaaS)
6. Private Subnet Group
∙ EKS Cluster:
∙ The Kubernetes cluster, managed by AWS EKS, hosts and orchestrates the containerized SaaS
application components.
∙ Nginx Ingress:
∙ Acts as a load balancer within the Kubernetes cluster, managing internal traffic and directing
requests to appropriate namespaces or components based on rules (e.g., tenant-specific
host rules like tenant1.saas.com).
81
Software as a Service (SaaS)
7 Application Tier - Hard Multi-Tenancy
∙ Front-End Sign-Up/Login, SaaS App, and Admin: These are the core components of the SaaS
application:
o Front-End Sign-Up/Login: Handles user authentication and onboarding.
o SaaS App: The main application providing the SaaS functionalities.
o Admin: An administrative component for tenant or user management.
82
Software as a Service (SaaS)
8. Data Tier - Isolated Tenant
∙ This provides “soft multi-tenancy” at the data level, ensuring each tenant’s data is securely separated.
∙ Contains databases and other resources that do not require external access, increasing security
by limiting these to internal network access.
83
Software as a Service (SaaS)
9. Tenant Deployment Tools (Right Panel)
• CodePipeline:
• Automates the application and infrastructure deployment process, ensuring quick and
consistent updates to the SaaS environment.
• CodeBuild:
• Builds and packages application components for deployment, ensuring they’re
production-ready.
• CloudFormation:
• Automates the provisioning of AWS infrastructure, creating consistent environments for each
tenant.
84
Software as a Service (SaaS)
Benefits
∙ Lower IT Responsibility:
∙ Businesses don’t need to manage hardware or software.
∙ Subscription Pricing:
∙ SaaS typically follows a subscription model, providing predictable costs.
∙ Collaboration:
∙ Many SaaS applications are built for team collaboration with shared documents and
real-time editing.
85
Software as a Service (SaaS)
Case
∙ Microsoft 365:
∙ A suite of productivity tools (e.g., Word, Excel, Teams) accessible via the cloud,
enabling collaboration and access from any internet-connected device.
86
Deployment Models
Public, Private, and Hybrid Clouds
Deployment Models
Cloud deployment models define the environment in which a
cloud service operates, each offering different levels of control,
security, and management
88
Public Cloud
• Public Cloud is a cloud environment hosted by a third-party
cloud provider, offering shared resources to multiple
organizations over the internet.
89
Public Cloud
Characteristics
• Multi-Tenant:
• Multiple organizations (tenants) share the same infrastructure, while their data remains
isolated.
• Scalability:
• High scalability and flexibility, as resources can be scaled up or down based on demand.
90
Public Cloud
Advantages
• Cost-Effective:
• No need for companies to invest in hardware; ideal for small businesses and
startups.
• Global Reach:
• Available in multiple locations, providing access to resources from anywhere with an
internet connection.
91
Public Cloud
Examples:
• Amazon Web Services (AWS), Microsoft Azure, and Google Cloud
Platform (GCP) are popular public cloud providers that offer services to
various organizations worldwide.
Ideal For:
• Organizations with unpredictable or fluctuating workloads and
companies seeking lower operational costs.
92
Private Cloud
A Private Cloud is a cloud environment that is dedicated
exclusively to a single organization.
93
Private Cloud
Characteristics:
• Single-Tenant:
• The infrastructure is not shared with other organizations, ensuring complete data isolation.
• Customizable Security:
• Allows for advanced, customized security configurations that meet strict regulatory or
compliance requirements.
• Higher Control:
• The organization has complete control over the environment, from hardware to software.
94
Private Cloud
Advantages:
∙ Enhanced Security and Privacy:
∙ Data remains within the organization’s control, making it ideal for sensitive
information.
∙ Customizable:
∙ Resources, storage, and security can be customized to meet the specific needs of
the organization.
∙ Reliable Performance:
∙ Without competing tenants, performance is often more consistent and reliable.
95
Private Cloud
Examples:
∙ VMware Cloud on AWS or OpenStack for on-premises private cloud
setups.
∙ Many financial, government, and healthcare organizations maintain
private clouds for enhanced control and compliance.
Suitable For:
∙ Organizations that handle sensitive data, such as finance, healthcare, and
government, or those with strict regulatory and compliance requirements.
96
Hybrid Cloud
A Hybrid Cloud combines both public and private cloud environments,
allowing data and applications to be shared between them.
This setup enables organizations to utilize the scalability of the public cloud
while keeping critical workloads on a private cloud.
97
Hybrid Cloud
Characteristics:
• Flexibility:
• Workloads can be shifted between private and public clouds as needs change,
offering a balance between security and scalability.
• Cost Efficiency:
• Run high-security, critical workloads on a private cloud, and less-sensitive tasks on a
cost-effective public cloud.
• Data Portability:
• Requires a robust network and data portability to move workloads seamlessly
between environments.
98
Hybrid Cloud
Advantages:
• Optimized Workload Placement:
• Sensitive data can remain in the private cloud, while less-sensitive tasks leverage the
public cloud for cost and scalability.
∙ Microsoft Azure Hybrid Cloud and AWS Outposts are popular hybrid
solutions that connect on-premises infrastructure with the public cloud.
Ideal For:
101
Unit I
Ends