Module 3 Notes
Module 3 Notes
Module 3- Cloud Computing Architecture: Introduction, Cloud Reference Model, Types of Clouds,
Economics of the Cloud, Open Challenges
Introduction
Utility-Oriented Data Centers- These are the backbone of cloud computing, providing the
infrastructure for delivering services. They can be owned by providers or rented from third parties,
enabling the deployment of virtual hardware, development platforms, or application software.
Cloud Infrastructure Composition- Cloud infrastructures consist of distributed systems like
datacenters, clusters, or networks of heterogeneous devices (e.g., PCs, workstations, servers).
Virtualization is a key feature, ensuring workload isolation and maximizing resource usage.
Layered Architecture- Cloud systems use a layered approach to deliver services. Layers include
virtual machine managers (hypervisors) for resource control, development platforms for app
creation, and middleware for specialized functionalities.
Reference Model for Categorization- A reference model helps classify cloud technologies,
applications, and services into structured categories, enabling better understanding of delivery
models like IaaS, PaaS, and SaaS.
IaaS (M): Offers management tools only, integrating with external infrastructure.
(b) Platform-as-a-Service (PaaS)
Offers development platforms with integrated infrastructure. Tools include web interfaces and
programming frameworks, enabling cloud-native application development using APIs. Pure PaaS
provides only middleware, requiring external infrastructure.
(c) Software-as-a-Service (SaaS)
Delivers application-level services online, such as social media, gaming, and enterprise tools. SaaS
leverages IaaS and PaaS for scalability and performance.
4. Adaptive Management and XaaS (Everything as a Service)
Adaptive Management- Ensures elasticity for performance and availability. SaaS automates
management, while PaaS and IaaS offer APIs for customization.
XaaS- Combines services from various providers for integrated solutions, such as virtual web farms,
enabling cost-effective scaling for startups.
Core Components
Cloud Resources (System Infrastructure)- Includes physical components like virtual machines (VMs),
databases, and storage. These are virtualized and pooled using hypervisors.
Core Middleware- Manages SLA compliance, QoS negotiation, billing, and resource allocation.
Middleware Layers
User-Level Middleware- Provides APIs and environments for cloud-native development, including
distributed programming and workflow tools.
Applications Layer- Hosts cloud-based services like SaaS for social networking, gaming, and enterprise
applications.
Adaptive Management- A horizontal layer ensuring scalability and elasticity across the stack. It
incorporates autonomic features such as performance optimization and cost control.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
Platform-as-a-Service (PaaS)
Platform-as-a-Service (PaaS) solutions offer a development and deployment platform for running
applications in the cloud. These platforms function as middleware, enabling developers to focus on building
applications without worrying about the underlying infrastructure. PaaS automates deployment,
configuration, and resource management, allowing applications to scale according to demand.
Key Features
PaaS typically includes:
Web-Based Interfaces and APIs: Developers interact with PaaS through web portals, REST APIs,
and programming libraries.
Elasticity and Scaling: The platform automatically adjusts resources to meet application demands,
ensuring scalability.
Application and Resource Management: The core middleware manages application deployment,
load balancing, and resource allocation, abstracting the complexities of hardware and
infrastructure.
Quality of Service (QoS) and SLA Management: Ensures that services meet predefined
performance and availability standards.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
Development Models
PaaS offers different development models depending on the platform:
1. Web-Based Interface: Some platforms provide entirely cloud-based interfaces for designing,
prototyping, and deploying applications, using visual programming or rapid prototyping tools.
2. Programming Languages: Other platforms offer a more flexible approach, allowing developers
to use traditional programming languages like Java, .NET, Python, or Ruby, with certain restrictions
to ensure scalability and security.
Types of PaaS
PaaS solutions can be categorized into three types:
1. PaaS-I: These platforms offer a complete web-hosted development environment, including
middleware and infrastructure. Examples include Force.com and Longjump.
2. PaaS-II: These platforms focus on scaling web applications, such as Google AppEngine, Heroku,
and Engine Yard. They provide a runtime environment for specific languages (e.g., Java, Python,
Ruby).
3. PaaS-III: These solutions provide a more comprehensive cloud programming platform for various
applications, not limited to web apps. Examples include Microsoft Azure and GigaSpaces.
Key Characteristics of PaaS
Runtime Framework: A PaaS solution provides a "software stack" to run end-user applications,
automating deployment and scaling.
Abstraction: Unlike IaaS, PaaS abstracts the infrastructure, allowing users to focus solely on
application development.
Automation: PaaS automates resource scaling and provisioning according to service-level
agreements (SLAs).
Cloud Services and APIs: PaaS offerings include APIs for easy integration and management of
services, helping developers create scalable and available cloud applications.
Vendor Lock-In and Portability
One challenge of using PaaS is vendor lock-in. PaaS environments typically tie applications to specific
runtimes, making it difficult to migrate them to another provider. However, some PaaS providers, like
Google AppEngine and Microsoft Azure, use industry-standard runtimes, which may offer some flexibility.
Others, such as Force.com, create proprietary frameworks that limit portability.
Financial Benefits
PaaS solutions reduce the costs associated with development, deployment, and maintenance of applications.
By offloading technology upgrades and infrastructure management to the provider, organizations can focus
on their core business. For small startups, PaaS combined with IaaS solutions offers an affordable way to
quickly scale and provide integrated solutions to customers.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
Figure 4.3 illustrates the Platform-as-a-Service (PaaS) reference model, which highlights the key
components of a PaaS environment. It includes:
Web-Based Interface: A portal or dashboard for developers to interact with the platform.
PaaS Core Middleware: Manages the runtime environment, scaling, and resource allocation.
Elasticity & Scaling: Automatic adjustment of resources to meet application demand.
Resources Management: Tools for managing compute power, storage, and databases.
Physical Infrastructure: Underlying hardware that supports the PaaS environment.
Runtime: The environment where applications run.
Programming API / Libraries: Tools for developers to build and integrate applications.
User and Application Management: Handles user access, application lifecycle, and deployment.
QoS/SLA Management & Billing: Ensures performance and tracks usage costs.
2. Multi-tenancy: SaaS applications are shared by multiple customers (tenants), which helps reduce
costs for both the provider and the users. This is different from traditional software where each user
or organization would need its own installation.
3. Customizability: While the core features of the application are standard, SaaS solutions are often
customizable to meet the specific needs of users, for instance through settings or additional plugins.
4. No Maintenance: The SaaS provider takes care of the infrastructure, software updates, security
patches, and maintenance. Users don't have to worry about managing or updating the software
themselves.
5. Pay-per-Use: Typically, SaaS providers operate on a subscription or pay-per-use pricing model,
making it more affordable and flexible compared to traditional software purchases that require large
upfront costs.
Examples of SaaS:
Salesforce: A cloud-based CRM (Customer Relationship Management) system that helps
businesses manage interactions with customers.
Google Docs: A cloud-based office suite for document, spreadsheet, and presentation creation and
collaboration.
LinkedIn: A professional networking site that allows users to connect with others, share content,
and access job opportunities.
SaaS Evolution: SaaS 2.0
SaaS 2.0 is a newer evolution of the SaaS model, which focuses on integration with other services. Instead
of standalone applications, SaaS 2.0 allows users to integrate third-party applications, creating a more
customizable and scalable system. This shift supports a more business-centric approach, where users can
build applications by connecting different services and components to meet specific business goals.
In summary, SaaS makes it easier and more cost-effective for users to access software, offering flexibility,
scalability, and minimal management responsibilities. It has become popular for business applications
(CRM, ERP), office tools, and social networking platforms.
Types of Clouds
Public Clouds
Public Cloud are the most common and widely known form of cloud computing. They are characterized by
offering services over the internet, where anyone can access and use them. Here are the key points about
public clouds:
1. Structure: Public clouds are distributed systems, often built across multiple data centers, to deliver
various services to customers. These data centers are interconnected and serve as the backbone for
the cloud services offered.
2. Accessibility: Public clouds are available to anyone who subscribes to the service. Customers can
sign in with their credentials, enter payment details, and begin using cloud services. This ease of
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
access makes public clouds ideal for businesses that need scalable and flexible IT solutions without
significant upfront investment.
3. Multitenancy: Public clouds are designed to serve multiple customers simultaneously, which
means the infrastructure is shared. However, each customer is provided with a virtualized
environment that is isolated from others. This ensures performance and security for each user while
supporting a large number of customers.
4. Scalability: One of the main benefits of public clouds is their ability to scale dynamically.
Businesses can increase or decrease their resource usage as needed, such as adding more computing
power during peak loads or reducing it when demand is low.
5. Service Types: Public clouds offer various service models:
o IaaS (Infrastructure as a Service): Provides virtualized computing resources like
Amazon EC2.
o PaaS (Platform as a Service): Offers platforms for application development, like Google
AppEngine.
o SaaS (Software as a Service): Provides ready-to-use software applications, such as
SalesForce.com.
6. Global Reach: Public clouds often have data centers spread across multiple geographical regions.
This global infrastructure helps provide redundancy, better performance, and lower latency by
serving customers from the nearest data center.
7. Cost Efficiency: Public clouds reduce IT costs by eliminating the need for organizations to
purchase and maintain their own hardware and software. Instead, customers pay only for the
services they use, based on a subscription or usage-based pricing model.
8. Management & Accountability: Public cloud providers invest in software infrastructure to
monitor resources, manage performance, and ensure quality of service (QoS). They also track usage
and billing, ensuring transparent and accurate service delivery.
Private Clouds
Public cloud are a cloud computing model that is designed for a specific organization or institution, offering
a controlled environment where the IT infrastructure is provisioned within the organization's premises.
These clouds address concerns related to security, compliance, and control that are often associated with
public clouds. Here are the key aspects of private clouds:
1. Security & Control: Private clouds are especially appealing for organizations that need to keep
sensitive data and critical systems in-house due to security, compliance, or regulatory concerns. For
example, government and military agencies, as well as enterprises with sensitive data, prefer private
clouds because they avoid the risks associated with hosting data on public cloud providers'
infrastructure.
2. Customization: Unlike public clouds, which follow a pay-as-you-go model, private clouds allow
organizations to tailor their resource allocation and pricing models based on internal usage. This
flexibility can include charging internal departments or units based on their cloud consumption.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
The figure you referred to provides a breakdown of the hardware and software stack involved in the
deployment of private clouds. It outlines the layers of technology that make up the infrastructure:
1. Physical Infrastructure: This includes datacenters, clusters, or desktop grids on which the private
cloud runs.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
2. Virtual Machine Technology: The foundational technologies for virtualization are platforms like
Xen, KVM, and VMware.
3. Infrastructure Management Software: This includes tools such as VMware vCloud, Eucalyptus,
and OpenNebula that manage the virtual infrastructure and provide IaaS solutions.
4. PaaS Solutions: These provide higher-level services, including DataSynapse, Zimory Pools, and
Aneka, which support the deployment of distributed applications and complex cloud environments.
Hybrid Clouds
Hybrid cloud combine elements of both public and private clouds, allowing organizations to maintain
control over sensitive data while leveraging the scalability and flexibility of public cloud resources when
needed. Hybrid clouds provide a solution that addresses the limitations of private clouds, particularly
around scalability and handling peak loads. Below are key characteristics and details about hybrid clouds:
1. Integration of Public and Private Clouds: A hybrid cloud consists of a private cloud that
integrates additional resources from one or more public clouds. This setup allows organizations to
use private cloud infrastructure for sensitive workloads while accessing public cloud resources to
scale their infrastructure during high-demand periods.
2. Scalability and Dynamic Provisioning: One of the key advantages of hybrid clouds is the ability
to scale on demand. This is achieved through dynamic provisioning, where resources from the
public cloud can be temporarily leased when the private cloud's capacity is exceeded. This practice
is known as cloudbursting. When the demand decreases, the public cloud resources can be
released, ensuring cost efficiency.
3. Security and Control: In hybrid clouds, security concerns are primarily limited to the public cloud
portion, where less sensitive operations can be performed. The private cloud remains in full control
of the organization, ensuring sensitive data and critical workloads are handled internally.
4. Optimized Use of Resources: Hybrid clouds allow organizations to use their existing infrastructure
while still having the flexibility to leverage external public cloud resources when necessary. This
ensures that the organization can handle fluctuating workloads without needing to over-provision
hardware or maintain excessive IT infrastructure.
5. Infrastructure and Platform Management:
o IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) solutions are
integral to hybrid cloud setups. These services enable dynamic provisioning, which ensures
that additional resources are added and removed seamlessly based on demand.
o Infrastructure management tools like OpenNebula, which integrates with public cloud
resources (e.g., Amazon EC2), and scheduling tools like Haizea (for cost-based
scheduling) are essential for managing hybrid clouds.
o InterGrid is another tool that facilitates hybrid cloud management by enabling distributed
scheduling across various networks, including both private and public clouds.
6. Cost Management and Scheduling: One of the challenges of hybrid clouds is managing costs
effectively. Scheduling algorithms are used to optimize the allocation of resources, taking into
account the organization's budget and resource availability. For instance, advanced scheduling
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
engines like Haizea help ensure that public cloud resources are used cost-effectively, by
determining when and how to scale out.
7. PaaS Solutions for Hybrid Clouds: PaaS solutions, like Aneka, enable hybrid cloud setups by
providing provisioning services that allow applications to scale dynamically across private and
public cloud infrastructures. These platforms often include features like budget-based resource
allocation to guarantee that applications meet the required quality of service (QoS).
8. Use Cases: Hybrid clouds are suitable for organizations that:
o Need to balance control and security with flexibility.
o Require scalability during peak usage times without investing in expensive on-premises
infrastructure.
o Want to maintain compliance and security for sensitive data while still benefiting from the
cost-effectiveness and scalability of public clouds.
hybrid clouds offer the flexibility to maintain sensitive data and operations within private infrastructure
while utilizing the public cloud's vast resources for scalability and cost efficiency when needed. This blend
of private and public resources makes hybrid clouds an attractive option for businesses with fluctuating IT
demands.
Figure 4.5 illustrates a hybrid cloud architecture, which combines private cloud infrastructure with
resources from public clouds. The diagram shows:
Private Cloud: The internal infrastructure of an organization, such as datacenters or clusters,
providing secure, in-house resources.
Public Cloud: External cloud services, such as Amazon EC2, that offer additional resources to
handle peak loads.
Dynamic Provisioning: The process of adding or releasing public cloud resources as demand
fluctuates, enabling scalability.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
Hybrid Cloud Overview: A distributed system where the private cloud integrates resources from
public clouds to meet capacity demands, known as cloudbursting.
Community Clouds
Community clouds are distributed systems designed to meet the specific needs of a particular industry,
community, or business sector by integrating resources from multiple organizations. They are typically used
by groups with shared concerns, such as security requirements, policies, and compliance considerations.
According to the National Institute of Standards and Technology (NIST), community clouds are
characterized by shared infrastructure that serves a specific community, and can be managed either by the
community members or a third party, and may exist on-premise or off-premise.
Here are key characteristics of community clouds:
1. Shared Infrastructure and Collaboration:
Community clouds are built on resources contributed by different organizations, such as
government bodies, private enterprises, or public infrastructure providers.
They focus on collaboration among users who have common goals or concerns, such as security,
compliance, or operational needs.
Unlike public clouds, which serve a broad user base with varied needs, community clouds serve
specific groups with similar interests.
2. Industries and Use Cases:
Media Industry: Community clouds provide a collaborative environment for media companies
that require high computational power, bandwidth, and storage. These clouds help facilitate the
creation and sharing of digital content, particularly in media production processes that involve large
data movements and compute-intensive rendering tasks.
Healthcare Industry: Community clouds can store non-sensitive information in the shared
infrastructure while keeping sensitive patient data within private clouds. They also provide a
platform for collaboration across hospitals, research institutions, and healthcare providers while
respecting privacy and regulatory concerns.
Energy and Core Industries: These sectors benefit from community clouds that integrate
resources from various providers to manage operations and services, creating a fair and open market
for energy distribution, management, and coordination.
Public Sector: Legal and administrative processes within government bodies can be streamlined
using community clouds, providing a distributed platform for communication and collaboration
across agencies and departments.
Scientific Research: Community clouds are used in scientific computing, where research
organizations collaborate by sharing large, distributed infrastructures to support computational
tasks and data analysis.
@VTUpadhai – Cloud Computing (21CS72) – Module 3 Notes
Figure 4.6 provides an overview of different types of clouds, including Community Cloud, Private Cloud,
and Public Cloud. It illustrates how these cloud models cater to various sectors and user groups:
Community Cloud: A cloud model formed by integrating the services of multiple clouds to serve
the needs of a specific industry, community, or business sector. The resources are shared by
organizations with common concerns, such as industries or government bodies.
Private Cloud: A cloud infrastructure dedicated to a single organization, such as enterprises or
federal and government bodies, ensuring control over security and operations.
Public Cloud: A cloud infrastructure available to the general public, providing services to various
users like public services, users, and development platforms.
services rely on multiple third-party services, it becomes difficult to pinpoint liability if privacy
violations or breaches occur.
There is a need for legal and technical solutions to address these challenges, ensuring that cloud
services adhere to regulations and provide transparent accountability.
5. Organizational Aspects:
Cloud computing transforms how businesses manage IT services, leading to new organizational
and cultural shifts. One of the most significant changes is how IT departments function when much
of the infrastructure is outsourced to the cloud.
Important questions include:
o What is the role of the IT department in organizations that rely heavily on the cloud?
o How will compliance and regulatory frameworks adapt to the cloud environment,
especially in areas where businesses lose control over workflows?
Organizationally, moving to the cloud reduces local IT maintenance and support costs but also
requires employees to have new competencies. IT staff may need fewer technical skills in
infrastructure management, but they must adapt to cloud-specific management tools and services.
This can lead to a reshaping of team structures and responsibilities.
6. Implications for Businesses:
Moving IT services to the cloud introduces several political, legal, and operational considerations.
Organizations may lose control over some aspects of their IT infrastructure, which could have
broader implications for their governance and regulatory compliance.
Additionally, as businesses increasingly rely on cloud services, their internal processes and the role
of IT departments will evolve, requiring new strategies for managing risk, ensuring security, and
maintaining user trust.
While cloud computing offers significant benefits in flexibility, cost efficiency, and scalability, it is still in
its developmental phase, with many challenges that need to be addressed. These include refining cloud
definitions, ensuring interoperability through standards, improving scalability and fault tolerance,
addressing security and privacy issues, and transforming organizational structures to accommodate cloud
adoption. Continued research and collaboration between industry and academia will be crucial in resolving
these challenges and enabling more seamless and secure cloud adoption across various sectors.