0% found this document useful (0 votes)
17 views87 pages

Nptel Cloud

This document provides an overview of cloud computing, detailing its definitions, architectures, service models, and deployment strategies. It discusses the evolution of cloud computing from earlier paradigms like distributed and grid computing, and outlines essential characteristics such as on-demand self-service, resource pooling, and rapid elasticity. Additionally, it addresses the advantages and challenges of cloud computing, including security concerns and the importance of service level agreements.

Uploaded by

Saarthak Singhal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views87 pages

Nptel Cloud

This document provides an overview of cloud computing, detailing its definitions, architectures, service models, and deployment strategies. It discusses the evolution of cloud computing from earlier paradigms like distributed and grid computing, and outlines essential characteristics such as on-demand self-service, resource pooling, and rapid elasticity. Additionally, it addresses the advantages and challenges of cloud computing, including security concerns and the importance of service level agreements.

Uploaded by

Saarthak Singhal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 87

Lecture 1: Cloud Computing – Overview

Computing can be defined as a means to solve any goal-oriented activity, including


hardware, software systems, communications, and information gathering for a wide
range of purposes. This definition encompasses a broad spectrum of resources and
users, ranging from high-end researchers to the general public.
This lecture series focuses on Cloud Computing and its major components, recent
trends, and future research opportunities. The initial lectures will provide an overview
of cloud computing, covering topics like NIST models, characteristics, advantages,
disadvantages, and the role of open standards.
Subsequent lectures will explore:
● Cloud Computing Architecture, including the typical computing stack and
Service-Oriented Architecture (SOA).
● Service Models available in the cloud, such as:
o Infrastructure as a Service (IaaS)
o Platform as a Service (PaaS)
o Software as a Service (SaaS)
● Deployment Models of the cloud.
● Service Management in the cloud, including the concept of Service Level
Agreements (SLAs) between the consumer and the Cloud Service Provider
(CSP). SLAs address aspects like service guarantees, resource requirements,
availability, downtime, and Quality of Service (QoS).
● Cloudonomics, which examines the economic model of cloud computing and
factors such as resource costs, availability, and the economics of purchasing
versus hiring resources.
● Resource Management from the CSP's perspective, focusing on managing
resources like CPU, RAM, hard disk, and network connectivity to avoid
overloading or underutilization.
● Data Management, including data storage, management, scalability, and data
services in the cloud. This involves examining conventional data management
approaches and their suitability for cloud environments, as well as the
management of data stores and large-scale data processing. The lecture will
also touch upon the architecture and challenges of data management, using
examples like Dropbox.
● Security in the cloud, covering various aspects such as:
o Infrastructure security
o Data and storage security
o Identity and Access Management (IAM)
o Access control
o Trust, reputation, and risk management.
● Case studies and demos of open-source and commercial cloud platforms and
simulators.
● Recent Trends in Cloud Computing, including concepts like fog
computing.
The course structure will prioritize key concepts based on their importance. The
lectures will build upon concepts from previous computing paradigms, including:
● Distributed Computing
● Grid Computing
● Cluster Computing
● Utility Computing.
Understanding the evolution of these computing paradigms will help contextualize
the emergence of cloud computing.
Lecture 2: Cloud Computing – Overview (Contd.)
This lecture continues the discussion on the evolution of cloud computing.
Why Distributed Systems are Needed
● Nature of the Application: Some applications are computationally intensive,
data-intensive, or require a high degree of robustness, making distributed
systems suitable.
● Performance: Distributed systems offer enhanced performance for specific
tasks by distributing the workload across multiple nodes.
● Robustness: They eliminate single points of failure by enabling tasks running
on a failed node to be executed by other nodes, ensuring continuous
operation.
Distributed Applications
● Distributed applications involve sets of processes spread across a network of
machines that collaborate to solve a common problem.
● These applications are crucial for large-scale projects, where different
operations are handled by different entities, ultimately achieving a unified
objective.
● Examples of distributed applications include client-server systems and
peer-to-peer computing, which facilitate resource management and truly
distributed applications.
Grid Computing
● Grid Computing leverages the unused resources of networked computers to
solve problems that are too demanding for standalone systems.
● It enables the virtualization of distributed computing and data resources, like
processing power, bandwidth, and storage capacity, to create a single system
image for seamless access.
● This approach offers dependable, consistent, and inexpensive access to vast
computing capabilities.
Analogy to the Electrical Grid
● Similar to accessing power from an electrical grid, users or client applications
can seamlessly access computing resources (processors, storage, data,
applications) on a grid without needing to know their location.
● Grids connect various computing resources (PCs, workstations, etc.) and
provide the mechanisms for accessing them.
Characteristics of Grid Computing
● Grids offer more than just information sharing; they focus on sharing data and
computing resources.
● They facilitate efficient resource utilization across organizations and institutes
by enabling the use of underutilized resources.
● Grids support the formation of local communities that share resources for
specific purposes (e.g., biological sciences, genetic research).
● The interaction with underlying layers must be transparent and seamless for
users.
Need for Grid Computing
● Grid computing finds significant applications in:
o Scientific research, particularly data analysis, visualization, and
collaboration
o Computer simulation and modeling
● The increasing complexity of scientific and engineering problems demands
more accurate and precise solutions, which grids can facilitate.
● Data visualization and the need to exploit underutilized resources further drive
the adoption of grid computing.
Users of Grids
● Grid computing benefits various domains, including:
o Physics
o Weather forecasting
o Material science
o Reactor applications
Types of Grids
● Computational Grid: Focuses on computing power.
● Data Grid: Designed for data storage.
● Collaborative Grid: Supports collaborative research activities.
● Network Grid: Provides high-performance, fault-tolerant communication
services.
● Utility Grid: Shares a wide range of resources, including data, computation
cycles, and software.
Players in Grid Computing
● Grid: The central entity that provides resources and services.
● Users: Individuals or groups utilizing grid resources.
● Sites: Locations hosting heterogeneous resources.
The operation of grids involves policies for resource sharing and access control.
Cluster Computing
● Cluster Computing is a parallel or distributed computing platform where
interconnected standalone computers work as a single integrated computing
resource.
● Key components include:
o Standalone computers (PCs, workstations, or SMPs)
o Operating system
o High-performance interconnects
o Middleware
o Parallel programming environment
o Applications
Benefits of Clusters
● Clusters enhance speed and reliability compared to single computers.
● They typically have:
o Faster and closer connections than a typical LAN
o Low latency communication protocols
o Looser coupling than SMPs
Types of Clusters
● High-Availability or Failover Clusters: Ensure high availability by
transferring tasks to other nodes upon node failure.
● Load-Balancing Clusters: Distribute workloads across nodes for efficient
resource utilization.
● Parallel Distributed Processing Clusters: Facilitate parallel and distributed
processing tasks.
Utility Computing
● Utility Computing is a service provisioning model where a provider makes
computing resources and infrastructure management available to customers
on demand, charging for specific usage rather than a flat rate.
● This model, often referred to as "pay per use" or "pay as you go", is
analogous to utilities like electricity or mobile phone services.
Utility Computing in Analogy to Electricity and Telecom Services
● Similar to metered electricity services, users pay for computing resources
based on their consumption.
● Analogous to mobile phone services, users pay for services like calling,
messaging, and data based on usage.
Key Features of Utility Computing
● Metered Services: Consumption of resources is tracked, and users are
charged accordingly.
● Pay-as-You-Go or Pay-as-You-Use Model: Pricing is based on actual
resource usage.
● Data Center Virtualization and Provisioning: Resources are virtualized and
provided to users on demand, enabling customization and efficient utilization.
● Outsourcing: Services like software maintenance and data storage can be
outsourced.
● Shift from Data-Driven to Service-Driven Architecture: Focus is placed on
services rather than solely on data.
● Automation: Workflows can be automated, improving efficiency.
Advantages of Utility Computing
● Lower Computing Costs
● Improved Performance
● Reduced Software Costs
● Instant Software Updates
● Improved Document Format Compatibility
● Unlimited Storage
● Increased Data Reliability
● Universal Information Access
● Access to the Latest Systems and Software
● Easier Group Collaboration
● Device Independence
Risks and Disadvantages of Utility Computing
● Data Backup Concerns: Potential data loss in case of service provider
failure.
● Data Security Issues: Risk of unauthorized data access.
● Competence of Service Provider: Uncertainty regarding the service
provider's capabilities.
● Challenges in Defining SLAs: Difficulties in establishing mutually agreeable
service level agreements.
● Value from Chargebacks: Concerns about the value obtained from
chargeback mechanisms.
Cloud Computing
● Cloud Computing is a model that provides ubiquitous, convenient,
on-demand network access to a shared pool of configurable computing
resources.
● These resources, including networks, servers, storage, and applications, can
be rapidly provisioned and released with minimal management effort or
interaction with the service provider.
Cloud computing has evolved from earlier computing paradigms and aims to offer
computing as a service, with features like pricing models, SLAs, security, and
management, to meet diverse computing needs.
Lecture 3: Cloud Computing – Introduction
This lecture focuses on the introduction to cloud computing.
NIST Definition of Cloud Computing
● Cloud Computing is a model enabling convenient, on-demand network
access to a shared pool of configurable computing resources (networks,
servers, storage, and applications) that can be rapidly provisioned and
released with minimal management effort.
Essential Characteristics of Cloud Computing
● On-Demand Self-Service: Users can provision resources independently
without requiring human interaction with the service provider.
● Broad Network Access: Access to resources is available over a network,
enabling ubiquitous access.
● Resource Pooling: Resources are pooled to serve multiple consumers in a
multi-tenant model, with resources dynamically assigned and reassigned
based on demand.
● Measured Service: Resource usage is monitored, controlled, and reported,
providing transparency for both the provider and consumer.
● Rapid Elasticity: Resources can be rapidly and elastically provisioned and
released to scale up or down based on demand.
Common Characteristics of Cloud Computing Platforms
● Massive Scale: Ability to scale resources up or down significantly.
● Resilient Computing: Ability to withstand and recover from failures.
● Homogeneity: Providing a consistent and uniform computing environment
despite underlying heterogeneity.
● Geographic Distribution: Resources may be geographically dispersed
across multiple locations.
● Virtualization: Abstraction of physical resources to create virtual instances.
● Service Orientation: Focus on services that communicate with each other,
enabling a flexible and interoperable environment.
● Low-Cost Software: Reduced software costs due to the multi-tenant nature
of cloud environments.
● Advanced Security: Enhanced security features related to access control,
data preservation, and resilience against attacks.
Service-Oriented Architecture (SOA) in Cloud Computing
● SOA is a key aspect of cloud computing, where services are the primary
means of communication and interaction.
● It involves:
o Service Provider: Offers services.
o Service Consumer: Utilizes services.
o Registry or Catalogue: A central repository of available services.
Cloud Service Models
● Software as a Service (SaaS): Provides access to provider's applications
running on cloud infrastructure. Users can access applications over the
internet without managing the underlying infrastructure.
● Infrastructure as a Service (IaaS): Provides access to fundamental
computing resources like servers, storage, and networks on demand. Users
can configure and manage these resources as virtual instances.
● Platform as a Service (PaaS): Offers a platform for developing, testing, and
deploying applications in the cloud. Users can focus on application
development without managing the underlying infrastructure.
Cloud Deployment Models
● Private Cloud: Cloud infrastructure operated solely for a single organization.
● Public Cloud: Cloud services offered publicly over the internet by third-party
providers.
● Hybrid Cloud: A combination of private and public cloud environments.
● Community Cloud: Shared infrastructure for a specific community of users
with common interests or goals.
Virtualization and the Cloud
● Virtualization plays a crucial role in cloud computing.
● Virtual Machine (VM) technology enables running multiple VMs on a single
physical machine, abstracting hardware resources and providing isolated
environments.
Virtualization Stack
● Bare Metal Hardware: Physical hardware.
● Virtual Machine Monitor (VMM) or Hypervisor: Software layer that
manages and emulates hardware resources for VMs.
● Guest OS: Operating system running inside a VM.
Advantages of Virtualization
● Running operating systems where physical hardware is unavailable.
● Simplified creation of new machines and backups.
● Facilitating software testing.
Cloud Sourcing
● Cloud Sourcing is driven by:
o High-scale, low-cost service providers
o Anytime, anywhere access via web browsers
o Rapid scalability, incremental costs, and load sharing
Concerns and Disadvantages of Cloud Computing
● Performance, Reliability, and SLAs: Potential concerns about performance,
reliability, and adherence to service level agreements.
● Data Security: Security and privacy concerns related to data stored in the
cloud.
● Service Parameters: Ensuring and auditing service parameters like
availability and data integrity.
● Application Features and Choices: Limited customization options compared
to on-premise solutions.
● Interoperability between Cloud Providers: Lack of standardization and
challenges in interoperability between different cloud platforms.
● Standardization of APIs: The need for standardized APIs for seamless
communication and integration.
● Security, Privacy, Compliance, Trust, Competence, and Risk: Concerns
regarding security, privacy, regulatory compliance, trust in providers, their
competence, and potential risks.
Cloud Storage
● Cloud Storage is a crucial aspect of cloud computing, allowing data to be
stored remotely and accessed over the internet.
● It offers advantages like lower computing costs, improved performance,
reduced software costs, instant software updates, improved document
compatibility, unlimited storage, increased reliability, universal access, and
easier collaboration.
● However, it also presents disadvantages like the need for a constant internet
connection, limited features, potential slowdowns, data loss risks, and
dependence on the cloud provider's infrastructure.
Lecture 4: Cloud Computing Architecture
This lecture begins the discussion of cloud computing architecture.
Architectural Approach
● A high-level architectural approach to cloud computing involves aligning
business goals with quality attributes and architectural tactics.
● Business Goals may include:
o Total Cost of Ownership (TCO)
o Stakeholder satisfaction
o Compliance with standards
o Market share
o Flexibility
● Quality Attributes that support these goals include:
o Availability
o Elasticity
o Interoperability
o Security
o Adoptability
o Performance
o Usability
o Maintainability
● Architectural Tactics are employed to achieve the desired quality attributes,
such as:
o Stateless Design
o Loose Coupling
o Heterogeneity
o Interconnect and Homogeneity
o Broad Network Access
o Caching mechanisms
o Authentication (e.g., Claim-Based Authentication)
Building Blocks of Cloud Computing Architecture
● Technical Architecture:
o Structuring according to the XaaS stack
o Adopting cloud computing paradigms
o Structuring cloud services and components
o Middleware and communication
o Management and security
● Deployment and Operation Architecture:
o Geolocation Checks
o Deployment issues
o Operation and monitoring
XaaS Stack and Architectural Components
● The typical XaaS stack consists of IaaS at the bottom, followed by PaaS and
SaaS.
● The architectural components include:
o Storage and infrastructure
o Applications
o Client infrastructure
o Middleware or platform
o Cloud runtime libraries
Consumer Versus Provider View
● Different stakeholders have varying perspectives on the cloud architecture:
o IT architects and operations focus on IaaS.
o End-users and application administrators prioritize SaaS, such as CRM
applications.
o Software architects and developers work with PaaS, utilizing the
infrastructure to develop and deploy applications.
Mapping to Popular Cloud Services
● Cloud services like Microsoft Windows Azure and Amazon EC2 align with the
three-tier XaaS stack.
● Both platforms offer:
o Infrastructure services at the bottom layer
o Middleware for platform services
o Applications at the top layer
Management and Security
● Management and security are crucial aspects of cloud architecture, spanning
all layers of the XaaS stack vertically.
● The level of control and responsibility for management and security varies
based on the service model:
o IaaS: Responsibility primarily lies with the consumer after infrastructure
provisioning.
o SaaS: Responsibility primarily rests with the provider up to the
application level.
Elasticity
● Elasticity refers to the ability to scale resources up or down on demand.
● Approaches to elasticity:
o Vertical Scale Up: Adding more resources to a single computational
unit.
o Horizontal Scale Out: Distributing workload across multiple
computational units.
The choice between vertical and horizontal scaling depends on cost, scalability, and
fault tolerance requirements.
XaaS and Service-Oriented Architecture (SOA)
● XaaS is realized through the combination of Service-Oriented Infrastructure
(SOI) and cloud computing principles.
● Anything as a Service (XaaS) is a generalization of cloud-related services,
encompassing a growing number of services delivered over the internet.
XaaS Instances
● Common XaaS instances include:
o IaaS: Raw infrastructure (CPU, memory, storage, etc.)
o PaaS: Virtualized application development and runtime platform
o SaaS: Software applications hosted in the cloud, available on a
subscription basis
o Business Process as a Service (BPaaS): Horizontal or vertical
business processes delivered on a subscription basis
Business Process as a Service (BPaaS)
● BPaaS involves providing entire business workflows as services,
orchestrating multiple processes or applications to achieve a specific business
objective.
● It facilitates the integration of sub-processes or sub-applications, potentially
from different providers, to create a comprehensive solution.
Other XaaS Instances
● Storage as a Service
● Security as a Service
● Database as a Service
● Monitoring and Management as a Service
● Communication and Content Computing as a Service
● Identity as a Service
● Backup as a Service
● Desktop as a Service
Cloud Service Provider (CSP) Goals
● CSPs aim to:
o Increase productivity
o Enhance end-user satisfaction
o Deliver innovative services
o Maintain market position
o Offer a flexible and configurable infrastructure
Classical IT Stack Versus Simplified IT Infrastructure
● The classical IT stack involves tightly coupled end-user devices, applications,
and dedicated infrastructure.
● Cloud computing promotes a simplified IT infrastructure with greater flexibility,
separating applications and infrastructure.
● This simplification allows for better resource utilization and potentially higher
return on investment.
Client-Server Architecture Versus Service-Oriented Architecture (SOA)
● Traditional client-server architecture involves dedicated server programs that
serve client requests.
● SOA offers a more flexible and decoupled approach, where services
communicate with each other, facilitating interoperability and scalability.
Classical Cloud Stack
● The classical cloud stack logically consists of:
o Networking: The foundation for communication and interaction.
o Storage: A crucial component for data storage and management.
o Servers: Physical or virtual machines that provide computing power.
o Virtualization: Enables the creation of virtual instances of resources
like servers, networks, and storage.
o Operating Systems: Provide the environment for running applications.
o Runtime Libraries and Data: Support application execution.
o Applications: The top layer, providing the user-facing functionality.
The importance of each component varies based on the XaaS model being
implemented.
Lecture 5: Cloud Computing Architecture (Contd.)
This lecture continues the discussion on cloud computing architecture, particularly
focusing on service models, networking, and virtualization.
Client-Server Model and the Need for Cloud Computing
● The traditional client-server model involves a server that listens for requests
from multiple clients.
● Cloud computing offers more complex and diverse service models, such as
IaaS, PaaS, and SaaS, catering to a broader range of needs.
● While client-server architectures can be load balanced and scaled to some
extent, cloud computing provides theoretically infinite scalability through
virtualization.
Cloud Computing Service Model
● Cloud services are built upon a layered architecture:
o Infrastructure (Compute, Network, Storage)
o Services (IaaS, PaaS, SaaS)
o Business Processes
o Presentation Layer (User Interfaces, APIs)
● An Integration Platform connects these layers, facilitating:
o Service integration
o Orchestration
● Quality of Service (QoS) management ensures the desired performance and
reliability.
● Dissemination of Information informs users about available services and
how to access them.
● Governance encompasses management, legal, and policy aspects to ensure
compliance and security.
Software as a Service (SaaS)
● SaaS provides web access to commercially available software, managed from
a centralized location and delivered in a one-to-many model.
● It eliminates the need for users to handle upgrades and maintenance.
● Application Programming Interfaces (APIs) enable integration between
different software components.
Use Cases for SaaS
● Applications with significant interactions between organizations and the
outside world (e.g., email, marketing software)
● Applications requiring web and mobile access
● Applications needed for short-term or temporary use
● Applications experiencing significant demand spikes (e.g., tax filing, billing)
Scenarios Where SaaS May Not Be Ideal
● Applications demanding extremely fast processing or real-time data handling
● Applications with regulatory restrictions prohibiting external data hosting
● Applications where existing on-premise solutions meet all organizational
needs
Platform as a Service (PaaS)
● PaaS delivers software development platforms over the web, enabling the
creation and deployment of applications without managing the underlying
infrastructure.
Characteristics of PaaS
● Integrated development environment (IDE) for development, deployment,
hosting, and maintenance
● Web-based user interface for application creation, modification, testing, and
deployment
● Multi-Tenant Architecture supporting concurrent users
● Built-in scalability
● Integration with web services
● Support for development team collaboration
● Tools for billing and subscription management
Use Cases for PaaS
● Projects involving multiple developers
● Projects requiring interactions with external parties
● Projects where automated testing and development are desired
● Agile Software Development methodologies
Scenarios Where PaaS May Not Be Ideal
● Applications requiring high portability across hosting environments
● Projects heavily reliant on proprietary languages or approaches that may limit
flexibility
● Concerns about vendor lock-in
● Applications requiring customization of underlying hardware and software for
optimal performance
Infrastructure as a Service (IaaS)
● IaaS provides access to fundamental computing resources (servers, storage,
networks, operating systems) on demand, allowing users to configure and
manage them as virtual instances.
Characteristics of IaaS
● Resources delivered as services
● Dynamic scaling
● Variable cost and utility pricing models
● Support for multiple users on shared hardware
Use Cases for IaaS
● Organizations with volatile demands
● New organizations with limited capital expenditure capabilities
● Organizations seeking to reduce capital expenditure
● Projects requiring temporary or trial infrastructure (e.g., proof of concept)
Scenarios Where IaaS May Not Be Ideal
● Situations with regulatory or legal constraints on outsourcing data or
computing resources
● Applications demanding the highest level of performance, necessitating
on-premise or dedicated resources
Responsibilities in Different Service Models
● SaaS: Provider manages all aspects up to the application level.
● PaaS: Provider is responsible up to the runtime environment, including data
and application management.
● IaaS: Provider manages infrastructure up to virtualization, including providing
VMs. The consumer is responsible for managing the guest OS and
applications.
Networking in the Cloud
● Networking is a critical component of cloud computing, connecting distributed
hardware resources and enabling communication.
● Network Virtualization allows the creation of virtual networks over a shared
physical infrastructure.
Network Concepts in Cloud Computing
● Virtual Local Area Network (VLAN)
● Virtual Private Network (VPN)
● Protocol layers
Tools for Networking in the Cloud
● OpenSSH
● OpenVPN
Network Function Virtualization (NFV)
● NFV aims to virtualize network functions, enabling their deployment and
management on standard server hardware.
● It allows network functions to be moved and instantiated as needed without
requiring new equipment

Lecture 6 Notes: Cloud Architecture: Deployment Models


● Cloud Deployment Models:
o Public Cloud
o Private Cloud
o Community Cloud
o Hybrid Cloud
● Public Cloud:
o Available to the general public, organizations, and enterprises
o Owned, managed, and operated by businesses, academics,
government organizations, or a combination thereof
o Located on the cloud provider's premises
● Features of Public Cloud:
o Large-scale computing and storage resources
o Communication typically over the public internet
o Diverse client base, including potential security risks
● Considerations for Public Cloud Adoption:
o Network dependency
o Limited visibility and control over data security
o Illusion of unlimited resources (elasticity)
o Low upfront migration costs
o Restrictive default service-level agreements (SLAs)
● Private Cloud:
o Provisioned for the exclusive use of a single organization
o Can be owned, managed, and operated by the organization or
outsourced to a third party
o Can exist on or off-premises
● Examples of Private Cloud Solutions:
o Eucalyptus
o OpenStack
o Ubuntu Enterprise Cloud
o Amazon VPC (Virtual Private Cloud)
o VMware Cloud Infrastructure Suite
o Microsoft ECI data centers
● Two Private Cloud Scenarios:
o On-site Private Cloud: Implemented on the customer's premises
o Outsourced Private Cloud: The server-side infrastructure is hosted
by a third-party company
● On-site Private Cloud Security:
o The security perimeter encompasses both the subscriber's on-site
resources and the private cloud resources.
o Control over private cloud resources is not guaranteed by the security
perimeter, but the subscriber can exercise control over other resources.
● Considerations for On-site Private Cloud:
o Network dependency
o Need for IT skills within the organization
o Workload locations hidden from clients
o Risk from multi-tenancy
o Data import/export and performance limitations
o Potentially strong security against external threats
o Significant upfront migration costs
o Limited resources due to fixed computing and storage capacity
● Outsourced Private Cloud Security:
o Two security perimeters: one by the subscriber and one by the provider
o Security relies on the strength of both perimeters and secure
communication links.
● Considerations for Outsourced Private Cloud:
o Network dependency
o Workload locations hidden from clients
o Risk from multi-tenancy
o Data import/export and performance limitations
o Strong security against external threats
o Modest to significant upfront costs
o Negotiation of SLAs with the provider
o Extensive resource availability
● Community Cloud:
o Shared infrastructure for a specific community with shared concerns
(e.g., missions, security requirements, policy compliance)
o Can be owned, managed, and operated by one or more organizations
within the community or a third party
o Can exist on or off-premises
● Features of Community Cloud:
o Organizations connected through boundary controllers with access
policies
o Potentially complex access policies due to multiple communities
● Considerations for Community Cloud (On-premises):
o Network dependency
o Requirement for IT skills within the community
o Workload locations hidden from clients
o Data import/export and performance limitations
o Strong security against external threats due to community-level
security policies
o High upfront migration costs
● Considerations for Community Cloud (Outsourced):
o Similar considerations as on-premises community cloud
o Modest to significant upfront costs (potentially lower than on-premises)
o Extensive resource availability
● Hybrid Cloud:
o Combines two or more distinct cloud infrastructures (private,
community, or public)
o Enables data and application portability between different cloud
environments
● Examples of Hybrid Cloud Solutions:
o Windows Azure
o VMware vCloud
● Considerations for Hybrid Cloud:
o Potential complexity due to integration of different cloud environments
o Changes over time as constituent clouds join or leave the hybrid
environment
● Choosing a Deployment Model: Depends on factors such as organizational
size, security requirements, budget, and the nature of applications and data.

Lecture 7 Notes: Virtualization


● Virtualization allows a single computer to perform the tasks of multiple
computers by sharing hardware resources across multiple environments. It is
a key concept enabling cloud computing.
● Examples of Virtualization:
o Virtual machines
o Virtual LANs (VLANs)
o Virtual Private Networks (VPNs)
● Infrastructure as a Service (IaaS) provides subscribers with:
o Access to virtual computers
o Network-accessible virtual storage
o Network infrastructure components (firewalls, configuration services)
● Typical IaaS Pricing Models:
o Per CPU hour
o GB of data stored
o Network bandwidth consumed
o Network infrastructure used
o Value-added services (monitoring, automatic scaling)
● Virtual Machine (VM) Pools: IaaS providers typically maintain a large pool of
VMs with various configurations to meet subscriber demands.
● IaaS Component Stack and Control:
o Cloud Provider Control: Physical hardware and hypervisor layer
o Subscriber Control: Guest OS, middleware, and application layers
● Hypervisor (Virtual Machine Monitor or VMM): A software layer that
enables multiple virtual machines to run on a single physical host.
● Guest Operating System: The operating system running within a virtual
machine.
● Typical IaaS Architecture:
o Cloud Manager: Top-level management and public access point
o Cluster Managers: Manage geographically distributed computer
clusters
o Computer Managers (CMs): Manage individual computers within a
cluster and run hypervisors
o Data Object Storage (DOS): Stores subscriber metadata
o Persistent Local Storage (PLS): Provides persistent disk storage to
VMs
● Three-Level Hierarchy in IaaS Architecture:
o Top Level (Cloud Manager): Central control, public access, resource
management, subscriber authentication, and metadata management
o Middle Level (Cluster Managers): Management of computer clusters,
resource allocation, and communication with the cloud manager
o Bottom Level (Computer Managers): Running host systems, creating
and managing VMs, maintaining status information, and interacting
with the hypervisor
● Key Benefits of Virtualization:
o Run multiple operating systems and applications on the same
hardware
o Isolation of operating systems from each other
● Virtual Machine Monitor (Hypervisor): Runs guest operating systems
directly on the CPU, typically requiring compatibility between guest and host
instruction sets.
● Goals of Virtual Machine Architecture (Popek and Goldberg):
o Equivalence: VMs should be indistinguishable from the underlying
hardware
o Resource Control: VMs should have complete control over virtualized
resources
o Efficiency: VM instructions should be executed directly on the CPU
without hypervisor intervention
● Instruction Set Classification (Popek and Goldberg):
o Privileged Instructions: Cause a trap if executed in user mode
o Sensitive Instructions: Modify underlying resources or indicate the
current privilege level
● Conditions for True Virtualization: Sensitive instructions must be a subset
of privileged instructions.
● Approaches to Virtualization:
o Full Virtualization: Software-based emulation of all hardware
components

▪ Advantages: VM portability, isolation

▪ Disadvantages: Performance overhead due to hardware


emulation
o Para-virtualization: Modified guest OS kernels cooperate with the
hypervisor for improved performance

▪ Advantages: Improved performance, reduced overhead

▪ Disadvantages: Requires recompiling the OS kernel and


specialized drivers
o Hardware-Assisted Virtualization: Utilizes processor extensions for
virtualization support

▪ Advantages: Allows running unmodified operating systems

▪ Disadvantages: Can impact speed and flexibility, potential


portability limitations
● Network Virtualization: Allows for the creation of virtual networks on top of
existing physical networks.
● Benefits of Network Virtualization:
o Overcomes limitations of traditional networking paradigms
o Creates customizable network architectures
o Provides testbeds for new networking technologies
● Key Players in Network Virtualization:
o Infrastructure providers
o Service providers
o End users
o Brokers
Lecture 8 Notes: XML Basics
● XML (Extensible Markup Language) is a text-based language designed for
data transformation and interoperability in distributed systems, particularly in
service-oriented architectures and cloud computing.
● Key Features of XML:
o Simple syntax with strict rules to minimize errors
o Hierarchical and structured data representation
o Self-describing data
o Extensible vocabulary (user-defined tags and elements)
o Designed for distributed environments
o Supports mixing of different data types
● XML Parsers are software tools used to process XML data by:
o Verifying syntactic correctness (well-formedness)
o Checking for consistency with a schema (validity)
o Extracting data for use by applications
● Document Type Declaration (DTD) is an older method for defining the
structure and rules of an XML document.
● XML Schema (XSD) is a newer, more powerful specification for XML
validation rules, offering features like:
o Data type definitions (integer, date, real)
o Support for type validation and database schema integration
● Key Differences between DTD and XSD:
o XSD is written in XML itself, while DTD uses a different syntax.
o XSD is more powerful and expressive.
o DTD can define entities, which XSD cannot.
● XML Namespaces provide a mechanism for uniquely identifying elements
and attributes from different XML vocabularies, especially important when
combining data from multiple sources.
● XML Software Tools:
o Parsers
o APIs (SAX, DOM, JDOM)
o XSLT processors
● Types of XML Parsers:
o Validating Parsers: Enforce schema compliance
o Non-Validating Parsers: Check only for well-formedness
● Common XML Parser APIs:
o SAX (Simple API for XML): Event-based parsing; fast and lightweight
o DOM (Document Object Model): Tree-based parsing; slower but
allows dynamic manipulation
o JDOM: Java-specific DOM implementation; object-oriented and easier
to use than standard DOM
● XSLT (Extensible Stylesheet Language Transformations) is an XML
language used to transform XML documents into different structures or
formats.
● XML Messaging utilizes XML as the format for exchanging messages
between systems, often carried over existing transport protocols like HTTP or
SMTP.
● Common XML Messaging Standards:
o XML-RPC: Simple remote procedure call protocol
o SOAP (Simple Object Access Protocol): More complex messaging
protocol used in web services
Lecture 9 Notes: XML Basics (Continued)
● XML Schema (XSD) is crucial for data exchange and interoperability in cloud
computing, especially in Software as a Service (SaaS) models. It defines the
structure of XML data, ensuring compatibility between different systems.
● Key Benefits of XML Schema:
o Defines data types, ensuring data integrity
o Facilitates type validation
o Enables mapping between database schemas and XML models
● XML Namespaces are essential for disambiguating elements and attributes
from different XML vocabularies. They provide a way to distinguish between
similar terms used in different contexts (e.g., a database key vs. a security
key).
● XML Software Tools are crucial for processing and manipulating XML data.
● XML Parsers:
o SAX Parsers: Event-driven, efficient for simple processing and large
documents.
o DOM Parsers: Create an in-memory tree representation, suitable for
dynamic modification and querying.
o JDOM Parsers: Java-specific, object-oriented, and often easier to use
than standard DOM.
o DOM4J: A Java framework offering combined SAX and DOM parsing
capabilities, access to other XML technologies (XSLT), and advantages
of open-source licensing.
● XSLT (Extensible Stylesheet Language Transformations) is used for
transforming XML documents into new structures or formats. It allows for
filtering, rearranging, and modifying XML data based on specified rules.
● XML Messaging relies on existing transport protocols like HTTP or SMTP to
transmit XML data between systems.
● Key XML Messaging Standards:
o XML-RPC: A simple protocol for remote procedure calls.
o SOAP: A more complex protocol used extensively in web services.
● XML and Its Ecosystem: XML, along with related technologies like XSLT,
XSL, XPath, XPointer, and various APIs and parsers, forms a powerful
ecosystem for data exchange and interoperability in distributed systems,
including cloud computing environments.

Lecture 10 Notes: Web Services & Service-Oriented Architecture


● Web Services are software applications identified by a URI. Their interfaces
and bindings can be defined, described, and discovered as XML artifacts.
They are XML-based, accessible through a standardized URI, and operate on
a message exchange protocol based on XML. Web services facilitate
communication between applications, regardless of their underlying
technology. They also enable legacy applications to interact with modern
systems.
● Factors Influencing Web Services Evolution:
o Structured Programming
o Object-Oriented Programming
o Distributed Systems
o Electronic Data Interchange (EDI)
o The World Wide Web (WWW)
● Distributed Computing Interoperability is the ability of software from
various vendors and platforms to communicate and exchange data. Web
services address this challenge by employing open, non-proprietary
standards.
● Electronic Data Interchange (EDI) is the computer-to-computer exchange of
business documents between companies using standardized formats.
o Advantages of EDI:

▪ Reduced operating costs

▪ Enhanced accuracy

▪ Increased productivity

▪ Faster trading cycles

● Web services offer advantages over EDI:


o Simpler and less costly to implement
o No need for predefined data format agreements
● Key Features of Web Services:
o Separate visual and non-visual components
o Interaction through browsers or desktop clients
● Web Services address challenges in distributed computing:
o Interoperability: Resolve the lack of interoperability standards in
distributed object messaging
o Firewall Traversal: Utilize HTTP (port 80), which is generally allowed
by firewalls, enabling dynamic collaboration
o Complexity: Employ open, text-based standards like XML, simplifying
development and enabling communication between components
written in different languages
● Benefits of Web Services:
o Incremental implementation and deployment
o Continued use of legacy software with web service interfaces
● Key Components of Web Services:
o Open standard communication protocols (HTTP, SMTP)
o XML message processing using SOAP
o XML schema for message description
o Endpoint description using WSDL
o Service discovery and publication using UDDI
● Service-Oriented Architecture (SOA) is a model depicting web service
interactions involving service providers, service requestors (consumers), and
service brokers.
● SOA Components:
o Service Provider: Owns and hosts the service
o Service Requestor (Consumer): The business or entity requiring the
service
o Service Registry: A searchable directory of service descriptions
published by providers
● Core Operations in SOA:
o Publish: Service providers make their services discoverable
o Find: Consumers search for required services
o Bind: Consumers establish a connection with the chosen provider
● Key Technologies in Web Services and SOA:
o XML (Extensible Markup Language): Provides a uniform mechanism
for data representation and exchange
o SOAP (Simple Object Access Protocol): A standard XML-based
protocol for communication
o WSDL (Web Services Description Language): An XML-based
language for describing web services
o UDDI (Universal Description, Discovery, and Integration):
Facilitates the creation of registry services and enables registration and
location of web services
● Web Service Interaction Flow:
0. Client queries the registry to find services.
1. Registry provides a WSDL document describing the service.
2. Client accesses the WSDL document and interacts with the web
service.
3. Client sends a SOAP message request to the provider.
4. Service provider returns a SOAP message response.
● Security in Web Services: An essential aspect encompassing policies, trust,
privacy, secure conversations, federation, and authorization.
● Other Important Aspects: Management and Quality of Service (QoS)

Lecture 11 Notes: Service Level Agreements (SLAs)


What is an SLA?
● Service Level Agreement (SLA): A formal contract between a service
provider and consumer that defines the level of service expected.
● Purpose of an SLA: Define a formal basis for service performance and
availability guarantees.
● Service Level Objectives (SLOs): Objectively measurable conditions for
services outlined within an SLA. Examples include uptime percentage and
data persistence.
● SLOs can vary depending on the consumer and their specific needs, and may
also vary over time.
Typical SLA Contents
● Set of Services: Specific definition of each service the provider will deliver.
● Responsibilities: Clearly defined roles and responsibilities for both the
provider and the consumer in relation to the SLA.
● Metrics: Measurable metrics to determine if the provider is meeting the
guaranteed service levels.
● Auditing Mechanisms: Processes for monitoring service delivery, potentially
including third-party auditing.
● Remedies and Penalties: Consequences for both the consumer and provider
if the SLA terms are not met.
● Change Management: Processes for modifying the SLA over time.
Web Service SLAs
● Web Service Agreement: XML-based language and protocol for negotiating,
establishing, and managing service agreements in real-time.
● Key Components:
o Agreement templates
o Provider discovery
o Request-response interactions
o Dynamic SLA violation management and verification
● Web Service Level Agreement Framework (WSLA): A framework for web
services that includes:
o Formal XML schema-based language for expressing SLAs
o Runtime interpreter for QoS parameter measurement and violation
reporting
● Challenges: Lack of standardized definitions for the semantics of metrics.
Comparing Traditional Web Services and Cloud SLAs

Feature Traditional Web Services Cloud Services

QoS Response time, violation Security, privacy, and trust


Parameters rates for reliability, etc. management are more important.

Automation is essential for dynamic


Automation Limited automation
and scalable services.

Resource Global resource allocation without a


UDDI registry services
Allocation central directory.

Types of SLAs
● Off-the-Shelf/Non-Negotiable/Direct SLAs: Predefined SLAs that are not
open to negotiation. Common in public cloud offerings.
● Negotiable SLAs: SLAs that are customized through negotiation, potentially
involving external agents.
Service Level Management
● Monitoring and Management: Ongoing processes to ensure service
performance aligns with SLOs.
● Provider Perspective: Decision-making based on business objectives and
technical constraints.
● Consumer Perspective: Evaluation of cloud services suitability for
organizational needs.
SLA Considerations
● Business Objectives: Alignment of the SLA with the business goals of both
the provider and consumer.
● Responsibilities: Clear definition of the division of responsibilities between
the provider and consumer, varying based on the service type.
● Business Continuity and Disaster Recovery: Consumer assurance of
adequate provider protection in case of disasters.
● Maintenance: SLA provisions regarding infrastructure maintenance impact.
● Data Location: Ability for the consumer to audit data location compliance.
● Data Seizure: Potential impact on other consumers in a multi-tenant
environment if law enforcement targets data of a specific consumer.
● Provider Failure: Consequences of provider failure.
● Jurisdiction: Location for dispute resolution.
Additional SLA Requirements
● Security: Data encryption and key management.
● Privacy: Data isolation in multi-tenant environments.
● Data Retention and Deletion: Policies for data retention and deletion.
● Hardware Erasure: Secure disposal of hardware.
● Regulatory Compliance: Adherence to relevant regulations.
● Transparency: Open communication with the consumer.
● Certification: Provider adherence to recognized standards.
● Monitoring: Robust monitoring systems.
● Auditability: Consumer right to audit provider systems and procedures.
Key Performance Indicators (KPIs)
● KPIs: Low-level resource metrics used to measure service performance and
contribute to higher-level SLOs.
● Examples: Downtime, uptime, data transfer rates.
● KPIs are directly measured from system parameters and inform the
calculation of SLOs, which are then aggregated into the overall SLA.
Industry-Defined KPIs and Monitoring
● Monitoring Responsibility: The role of third-party organizations in
monitoring provider performance to ensure neutrality and eliminate conflicts of
interest.
● Common Metrics: Throughput, availability, reliability, load balancing,
durability, elasticity, linearity.
Examples of Cloud Provider SLAs
● Amazon EC2 (IaaS): 99.5% availability.
● Amazon S3 (Storage as a Service): 99% availability.
● Google, Salesforce, Microsoft (IaaS, PaaS): 99.9% availability.
Lecture 12 Notes: Economics of Cloud Computing
Economic Drivers of Cloud Computing
● Common Infrastructure: Shared, standardized resources with benefits
derived from statistical multiplexing.
● Multiplexing benefits: Leveraging shared resources across multiple
workloads to increase utilization and reduce costs.
● Location Independence: Ubiquitous availability, leading to latency reduction
and enhanced user experience.
● Online Connectivity: Enabling attribute for cost-effective service delivery.
● Utility Pricing: Pay-as-you-go model for resource consumption.
● On-Demand Resources: Scalable and elastic provisioning and
de-provisioning with minimal management overhead.
Economies of Scale
● Reduced Overhead Costs: Benefits of bulk purchasing and shared
infrastructure.
● Statistical Multiplexing: Increased utilization through the aggregation of
diverse workloads, leading to lower costs compared to unconsolidated
workloads.
● Reduced SLA Violations: Multiplexing can help mitigate service disruptions,
minimizing revenue loss and SLA penalties.
Coefficient of Variation (CV)
● Coefficient of Variation (CV): A statistical measure that quantifies the degree
of dispersion in data around the mean. Calculated as the ratio of standard
deviation (σ) to the mean (μ): CV=σ/μ.
● Importance in Cloud Economics: Helps assess the risk associated with
variable demand for cloud services.
● Smoother Curves: A lower CV indicates a smoother demand curve, implying
more predictable resource needs and potentially lower costs.
● Multiplexing Benefits: Aggregating demand from multiple sources can
reduce the CV and contribute to a smoother, more predictable overall demand
pattern.
Real-World Considerations
● Correlated Demands: The reality that demands for cloud services are often
correlated, impacting the effectiveness of economies of scale.
● Location Value: Latency considerations associated with the distance
between users and cloud resources.
● Global User Base: The need for a distributed service architecture to support
a globally dispersed user base.
Value of Utility Pricing
● Economic Viability: Cloud services need not always be cheaper to be
economically advantageous.
● Demand Variability: Utility pricing aligns costs with usage patterns, making it
beneficial for scenarios with fluctuating demand.
● Peak-to-Average Demand Ratio: A key factor in determining the economic
benefit of cloud services, with higher ratios favoring cloud adoption.
● Additional Cost Considerations: Network costs, interoperability overhead,
reliability, and accessibility need to be factored into economic assessments.
Value of On-Demand Services
● Demand Matching: On-demand provisioning eliminates penalties associated
with owning resources that don't match instantaneous demand.
● Penalty Calculation: Penalties are incurred for both underutilized resources
and for failing to meet service delivery due to insufficient resources.
● Demand Characteristics: The nature of demand (flat, linear, non-linear)
influences the effectiveness of on-demand provisioning.
● Challenges with Non-Linear Demand: Exponential demand growth poses
significant challenges for resource provisioning, as even with fixed
provisioning intervals, the system may fall behind, leading to exponentially
growing penalties.
Lecture 13 Notes: Managing Data in the Cloud
Challenges of Data Management in the Cloud
● Data Security and Control: Ensuring data security and maintaining control
over data stored in a third-party environment.
● Scalability: Handling massive data volumes and ensuring system scalability
to accommodate growth.
● Query Efficiency: Optimizing data access and query execution in a
distributed cloud environment.
Relational Databases (RDBMS)
● Interaction via SQL: User applications interact with RDBMS using Structured
Query Language (SQL).
● Query Optimization: The RDBMS parser optimizes query execution time.
● Disk Space Management: Data is stored in pages for efficient retrieval.
● Database File System: Independent file system for optimized data
management.
● Parallel I/O: Support for parallel input/output operations for enhanced
performance.
● Row-Oriented Storage: Traditional storage format suitable for write-intensive
operations and transaction processing applications.
● Column-Oriented Storage: Efficient for data warehouse workloads and
aggregate operations.
Parallel Database Architectures
● Shared Memory: Suitable for servers with multiple CPUs sharing the same
memory address space.
● Shared Disk: Independent servers share storage through a high-speed
network (e.g., NAS, SAN).
● Shared Nothing: Independent servers with their own disk space connected
via a network.
Advantages of Parallel Databases
● Efficient Query Execution: Leveraging multiple processors to enhance SQL
query performance.
● Data Partitioning and Distribution: Distributing data across processors in
shared-nothing architectures.
● Distributed Query Optimization: The SQL optimizer handles distributed
joins.
● Transaction Isolation: Mechanisms like two-phase commit locking ensure
data consistency.
● Fault Tolerance: Failover mechanisms to handle system failures and ensure
data availability.
Cloud File Systems
● Google File System (GFS): A distributed file system designed for managing
large files across clusters of commodity servers.
● Hadoop Distributed File System (HDFS): An open-source implementation of
GFS.
● Key Features:
o Fault tolerance and failure handling.
o Support for parallel reads, writes, and appends.
o Large file storage through data chunking (GFS) or blocking (HDFS).
o Data replication for redundancy and availability.
Bigtable
● Bigtable: A distributed structured storage system built on GFS.
● Data Access: Data is accessed using row key, column key, and timestamp.
● Data Model:
o Column families and labels for storing name-value pairs.
o Dynamic label creation within column families.
o Multiple data versions stored with timestamps.
● Tablets and Tablet Servers: Tables are divided into tablets, each managed
by a tablet server.
● SS tables: Column families for a given row range are stored in separate
distributed files called SS tables.
● Metadata Management: Metadata is managed by metadata servers and can
also be split into tablets.
● Parallel Operations: Supports concurrent reads and inserts.
Dynamo
● Dynamo: A key-value store developed by Amazon.
● Key Features:
o Supports large volumes of concurrent updates.
o Handles bulk reads and writes.
o Data Model**: Key-value pairs suitable for e-commerce applications.
o Independent of underlying distributed file systems.
o Uses consistent hashing for data distribution and replication.
o Quorum protocol for maintaining consistency.
Datastore
● Datastore: A key-value database store offered by Google (Google App
Engine Datastore) and Amazon (SimpleDB).
● Key Features:
o Column-oriented storage.
o Multiple index tables for efficient querying.
o Horizontal partitioning (sharding) for scalability.
o Lexicographical sorting for key-value storage.
o Entity grouping for transactions.
o Automatic and configurable index creation.
o Query execution optimization based on index selectivity.
Lecture 14 Notes: Introduction to MapReduce
MapReduce: A Parallel Programming Paradigm
● MapReduce: A programming model for processing and generating large data
volumes using parallel computation. Developed by Google for large-scale text
processing.
● Key Features:
o Designed for massively scalable data processing.
o Utilizes tens of thousands of processors.
o Fault-tolerant design handles processor and network failures.
● Hadoop: An open-source implementation of MapReduce.
Parallel Computing Models
● Shared Memory: Processors share the same memory address space.
● Distributed Memory: Processors have their own separate memory.
● Shared Disk: A hybrid model where processors share storage but have their
own memory.
● Shared Nothing: Processors have their own memory and storage.
Challenges in Parallel Computing
● Synchronization: Coordinating operations among multiple processors.
● Communication Overheads: Costs associated with message passing
between processors.
● Work Distribution: Ensuring balanced workload distribution among
processors.
● Scalability: Maintaining efficiency as data size and processor count increase.
Case Study: Word Frequency Counting
● Problem: Determine the frequency of each word in a vast collection of
documents.
● Approaches:
o Approach 1: Divide words among processors (each processor handles
a subset of words).
o Approach 2: Divide documents among processors (each processor
handles all words across a subset of documents).
● Analysis: Approach 2 is more efficient and scalable because it ensures every
read operation contributes to the final result.
The MapReduce Model
● Map Phase:
o Mappers read a portion of the input data.
o Transform key-value pairs into a new set of key-value pairs.
o Write results to intermediate files, one per reducer.
● Reduce Phase:
o Reducers fetch intermediate files from mappers.
o Group results by key and apply a reduce function.
o Write final results back to the distributed file system.
MapReduce Fault Tolerance
● Heartbeat Messages: Periodic checks for processor liveness.
● Task Duplication: The master duplicates tasks assigned to unresponsive
processors.
● Mapper Failure Handling: Reassignment of tasks to other nodes upon
mapper failure.
● Reducer Failure Handling: Reassignment of only remaining tasks upon
reducer failure, as completed tasks are already written to the file system.
MapReduce Efficiency
● Parallel Efficiency: A measure of how effectively the MapReduce
implementation utilizes parallel processing.
● Factors Influencing Efficiency: Data size, computation time, read/write
times, and communication overhead.
MapReduce Applications
● Document Indexing: Creating an index of words and their locations in
documents, essential for web search and structured data handling.
● Relational Operations: Executing SQL statements, including joins and
group-by operations, on large datasets.
Lecture 15 Notes: OpenStack
What is OpenStack?
● OpenStack: An open-source cloud operating system for managing compute,
storage, and networking resources within a data center.
● Key Features:
o Provides a dashboard for administrator control.
o Enables users to provision resources through a web interface.
o Primarily used for Infrastructure as a Service (IaaS).
● Meghamala: An experimental cloud based on OpenStack implemented at IIT
Kharagpur.
OpenStack Capabilities
● Infrastructure as a Service (IaaS):
o On-demand virtual machine provisioning and snapshotting.
o Networking and storage services.
o Multi-tenancy support.
o Resource quotas for users and projects.
OpenStack Architecture
● Major Components:
o Horizon (Dashboard): Provides a web-based interface for interacting
with OpenStack services.
o Neutron (Networking): Enables network connectivity as a service.
o Cinder (Block Storage): Provides persistent block storage for VMs.
o Nova (Compute): Manages the lifecycle of compute instances (VMs).
o Glance (Image Services): Stores and retrieves VM disk images.
o Swift (Object Storage): Stores and retrieves unstructured data objects.
o Ceilometer (Telemetry): Monitors and meters cloud usage for billing
and analysis.
o Keystone (Identity Services): Provides authentication and
authorization services.
OpenStack Workflow
1. User logs into Horizon and requests VM creation.
2. Keystone authenticates the request.
3. Nova initiates VM provisioning.
4. Nova Scheduler selects a suitable host.
5. Neutron configures networking.
6. Cinder provisions block storage.
7. Glance provides the VM image.
8. Swift retrieves the image.
9. A hypervisor on the chosen host creates the VM.
OpenStack Storage Concepts
● Ephemeral Storage: Temporary storage that exists only for the duration of
the VM instance. Managed by Nova.
● Block Storage: Persistent block-level storage that can be attached to VMs.
Managed by Cinder.
● Object Storage: Persistent storage for unstructured data objects, accessible
from anywhere. Managed by Swift.

Lecture 16 Notes: Open Source Cloud: Openstack Demo


● OpenStack is an open-source cloud computing platform that users can
download and install locally.
● The lecture provides a demo of OpenStack called Meghamala, which is an
OpenStack based cloud installed at IIT Kharagpur.
● Meghamala features include:
o VM creation, user access, and termination
o Various VM flavors (e.g., IIT KGP regular, large, extra large)
o Different operating systems (e.g., Ubuntu, CentOS, Fedora)
o Additional services (e.g., Meghadata, Meghadoop)
● Key OpenStack Components:
o Cinder: Manages volumes and snapshots for persistent storage.
o Glance: Manages images for different operating systems.
o Neutron: Handles networking aspects.
o Nova: Manages compute resources like vCPUs, RAM, and storage.
● VM Creation and Management in Meghamala:
o Administrators can see an overview of resource usage and running
VMs.
o Security groups act as firewalls to control traffic in and out of VMs.
o A new VM can be launched by selecting a flavor, image, and network.
o VMs are assigned internal IP addresses and can be assigned external
IP addresses for outside access.
o X2Go is a software used to connect to a VM's desktop.
o VMs can be terminated to release resources.
Lecture 17 Notes: Case Study with a Commercial Cloud: Microsoft Azure
● Microsoft Azure is a commercial cloud platform that primarily provides
Platform as a Service (PaaS) solutions.
● Key Features of Azure:
o Growing collection of integrated cloud services
o Global network of data centers
o Freedom for developers to build and deploy applications using their
preferred tools and frameworks
● Azure Platform Components:
o Microsoft Azure: Provides a Windows-based environment for running
applications and storing data in Microsoft data centers.
o SQL Azure: Provides data services in the cloud based on SQL Server.
o App Fabric: Provides cloud services for connecting applications
running in the cloud or on-premises.
● Azure Services and Capabilities:
o Allows customers to run applications and store data on
internet-accessible machines maintained by Microsoft.
o Offers compute and storage services for cloud applications, managed
by the Azure fabric, which interacts with underlying bare metal
resources.
o Provides web roles for user-accessible applications and worker roles
for handling complex or distributed tasks.
o Each VM contains an agent to enable interaction with the Azure fabric.
● Benefits of Using Azure:
o Flexibility to deploy apps with chosen tools.
o Connects cloud and on-premises environments, supporting hybrid
capabilities and open-source technologies.
o Strong security measures, focusing on privacy, compliance, and
transparency.
o Accelerated application innovation, enabling rapid development,
deployment, and management.
o Advanced analytics and data services for traditional and new data
sources.
● Creating a Python Web App in Azure (Demo):
o Uses a free Azure account for demonstration.
o Steps include downloading a sample app, installing Flask (a Python
web framework), running the app locally, configuring deployment,
creating resources (resource group, app service plan, web app),
pushing the app to Azure, browsing the app, and updating the app.
Lecture 18 Notes: Demo on Microsoft Azure
● This lecture continues the demo from Lecture 17, focusing on creating a
simple Python web application in Microsoft Azure using a free account.
● Steps in the Demo:
o Log in to the Azure portal (portal.azure.com).
o Launch the Azure Cloud Shell.
o Clone a sample "Hello World" Python application from GitHub.
o Install the Flask library for Python.
o Run the application locally.
o Set up a deployment user for FTP and local Git deployment.
o Create a resource group (a logical container for Azure resources).
o Create an App Service plan, which defines the web server's location,
size, and features.
o Create a web app, which provides hosting space for the code and a
URL to view the app.
o Configure Azure to use Python.
o Configure local Git deployment to push the application code to Azure.
o Push the code to the Azure remote repository.
o Browse the deployed application in a web browser.
o Make changes to the application code locally.
o Commit and push the updated code to Azure.
o Refresh the web page to view the changes.
● The demo highlights using local Git for synchronizing with Azure, enabling
users to develop and host web apps on Azure.
● The lecture emphasizes that while specific commands and steps may vary,
the fundamental principles of PaaS platforms like Azure remain similar.
Lecture 19 Notes: Case Study: Google Cloud Platform (GCP)
● Google Cloud Platform (GCP) is a commercial cloud platform offering
various services, including Infrastructure as a Service (IaaS) and Platform
as a Service (PaaS).
● GCP Infrastructure:
o Worldwide presence with data centers in multiple regions and zones.
o Geographically distributed infrastructure.
● Key Features and Advantages of GCP:
o Enables developers to build, test, and deploy applications on Google's
reliable infrastructure.
o Supports building simple websites to complex applications.
o Utilizes the same infrastructure that powers Google products like
Search, YouTube, and Gmail.
o Highly redundant and globally connected, offering fault tolerance.
o Focuses on rapid development, deployment, and iteration of
applications.
o Manages application, database, and storage servers, freeing users
from system administration tasks.
o Provides developer tools, SDKs, a console, and administration tools for
management.
o Offers a mix-and-match approach to services, including virtual
machines, managed platforms, storage options, and databases.
o Scales to millions of users, supporting demanding workloads and
scaling down when traffic subsides.
o Employs a pay-as-you-go model.
o Delivers consistent performance and scalability.
o Offers comprehensive support through a worldwide community, partner
ecosystem, and premium support packages.
● GCP Services:
o Compute Services:

▪ Compute Engine: IaaS offering flexible virtual machines.

▪ App Engine: PaaS for focusing on code without infrastructure


management.
o Storage Services:

▪ Cloud Storage: Flexible object storage with global reach.

▪ Cloud SQL: MySQL databases.

▪ Cloud Datastore: NoSQL databases.

▪ Persistent Disk: Block storage for VMs.

o App Services:

▪ BigQuery: Data analytics service.

▪ Cloud Endpoints: API management and hosting.

▪ Caching and Queues: Services for improving application


performance and handling asynchronous tasks.
● Example Scenarios for Demonstration:
o Hosting a webpage in GCP: Using Google Cloud Storage to host a
static website.
o Building a web application using Google App Engine: Leveraging
App Engine services to create a web application.
Lecture 20 Notes: Demo on Google Cloud Platform (GCP)
● This lecture presents two demos on Google Cloud Platform (GCP).
● Demo 1: Hosting a Webpage in GCP
o Log in to the Google Cloud Platform console.
o Create a storage bucket to store the website files.

▪ Choose a globally unique name for the bucket.

▪ Select a storage class and location (e.g., regional, Asia East1).

o Upload the website files, including HTML, CSS, images, etc.

▪ Ensure essential files like index.html and a 404.html (not found)


page are included.
o Make the files publicly accessible.
o Access the hosted website using the public link provided.
● Demo 2: Building a Web Application using Google App Engine
o Create a new project in the GCP console.
o Activate the Google Cloud Shell, which acts as a terminal.
o Clone a sample Python web application from a GitHub repository
provided by Google.
o Examine the key files:

▪ app.yaml: Configuration file specifying the runtime environment


(Python 2.7), handlers for URLs, etc.

▪ main.py: Python code file using the Flask web framework.

o Modify the code to change the message displayed.


o Start the development server to test the application locally.
o Deploy the application to Google App Engine.

▪ Specify the desired location for the app.

o View the deployed application using the provided URL, which includes
the project's unique identifier.
o Shut down the project if needed.
● The lecture emphasizes the step-by-step procedures for hosting a basic
webpage and building a web application using GCP.
● It encourages exploration of additional services and tools available on GCP
for developing various applications.
● The lecture aims to provide a practical understanding of how cloud platforms
operate from a user's point of view.

Here are the notes for each lecture:

Lecture 21: SLA Tutorial

● Service Level Agreement (SLA) is a contract between a cloud service


provider and consumer.
● There is no standard SLA, but broad guidelines exist.
● SLAs are based on:
○ Service Level Objectives (SLOs): Measurable conditions for services.
○ Key Performance Indicators (KPIs): Metrics like uptime, CPU usage,
and disk usage.
○ Policies, such as data residency and backup policies.

Example 1:

● A cloud provider guarantees 99% uptime. A third-party application runs on the


cloud for 12 hours daily. At the end of the month, there was an outage of
10.75 hours.
● Calculations:
○ Total application runtime: 12 hours/day * 30 days = 360 hours.
○ Percentage availability: 1 - (10.75 / 349.25) * 100 = 96.92%.
● Conclusion: The provider violated the SLA because the final service
availability (96.92%) is less than the initial guarantee (99%).

Example 2:

● Company X uses cloud services from Provider P with the following SLA:
○ Availability: 99.95%
○ Service period: 30 days
○ Maximum service hours per day: 12 hours
○ Cost: $50/day
● Penalty:
○ 10% service credit if uptime is between 99% and 99.95%.
○ 25% service credit if uptime is less than 99%.
● Five outages occurred during the service period, totaling 9 hours and 25
minutes of downtime.
● Calculations:
○ Total cost: $50/day * 30 days = $1500.
○ Service availability: 1 - (downtime / uptime) * 100 = 97.385%.
○ Service credit: 25% of total cost = $375.
○ Effective cost: $1500 - $375 = $1125.

Best Practices for Evaluating SLAs:

● Identify cloud actors.


● Evaluate business-level policies.
● Understand the level of service and cloud type (SaaS, PaaS, IaaS, public,
private, or hybrid).
● Identify metrics for performance objectives.
● Consider security parameters.
● Identify service management requirements.
● Prepare for failures and remedies.

Lecture 22: Economics Tutorial

Cloud Economics Properties:

● Common infrastructure with pooled and standardized resources.


● Location independence and online connectivity.
● Utility pricing, such as pay-per-use.
● On-demand and scalable resources.

Cost Comparison:

● Cloud Cost (CT) is influenced by demand over time (D(t)), peak demand (P),
average demand (A), baseline unit cost (B), and cloud unit cost (C).
● Total Baseline Cost (BT) is calculated as peak demand (P) * baseline unit
cost (B) * time (t).
● Utility Premium (U) is the ratio of cloud unit cost (C) to baseline unit cost (B).
● Cloud is cheaper when:
○ CT < BT
○ U < P/A (utility premium is less than the ratio of peak demand to
average demand).

Real-World Considerations:

● Demand spikes can occur due to events like news stories or promotions.
● Hybrid models can be used, where organizations own resources for baseline
usage and use cloud resources for peak demand.
● Factors like network costs, interoperability overhead, reliability, and
accessibility should also be considered.
Penalty Cost:

● When owned resources don't match instantaneous demand, organizations


pay a penalty for either unused resources or missed service delivery.
● Penalty cost is calculated as the integral of the absolute difference between
instantaneous demand (Dt) and instantaneous resources (Rt) over time (T).
● Penalty is 0 when demand is flat and acceptable with periodic provisioning
when demand is linear.

Challenges with Exponential Demand Growth:

● Lag between demand rise and resource provisioning.


● Unserved demand increases exponentially with fixed provisioning intervals.
● Predictive models are needed to forecast demand and adjust provisioning.

Example 1:

● Peak computing demand: 120 units


● Demand function:
○ D(t) = 50sin(t) from t=0 to t=π/2
○ D(t) = 20sin(t) from t=π/2 to t=π
● Resource provisioning: R(t) = D(t) + (dD(t)/dt) * δ, where δ is the provisioning
delay.
● Cloud unit cost: 0.9 units.
● Provisioning delay (δ): 12/π time units.
● Minimum demand: 0.
● Calculate the penalty for unused resources.

Example 2:

● Peak computing demand: 100 units


● Demand function: D(t) = 50(1 + e^(-t)).
● Baseline unit cost: 120.
● Cloud unit cost: 200.
● Determine if cloud is cheaper than owning resources for 100 time units.

Example 3:

● Company X needs to support a spike in demand.


● Cost comparison between in-house and cloud servers over 3 years.
● Calculate:
○ Price per core hour for both in-house and cloud servers.
○ Cost per effective hour for both options.
○ Ratio of total cost per effective hour for in-house to cloud deployment.

Lecture 23: MapReduce Tutorial


MapReduce:

● A programming model developed by Google for large-scale data processing.


● Initially used for text processing on web data stored using BigTable and GFS.
● Designed for parallel computation using thousands of processors.
● Fault-tolerant to ensure progress even if processors or networks fail.
● Hadoop is an open-source implementation of MapReduce.

Two Phases:

● Map Phase: Maps input data to intermediate results.


○ M mappers read 1/Mth of the input data from the file system.
○ Map function transforms key-value pairs.
○ Each mapper writes results to one file per reducer.
○ Files are stored locally, sorted by key, and tracked by the master node.
● Reduce Phase: Processes intermediate results to produce final output.
○ Master node informs reducers of the location of partial computations.
○ Reducers retrieve files from mappers.
○ Reducers group results by key and apply a function to the values.
○ Results are written back to the file system.

Example: Word Count

● Three mappers process chunks of text data and count word occurrences.
● Two reducers aggregate counts for specific words from the mappers.

Hadoop File System (HDFS) Example:

● Block size: 64 MB.


● Three replicas of each data instance for fault tolerance.
● Calculate the number of blocks required to store three files: 64 KB, 65 MB,
and 127 MB.

MapReduce Example: Average of Integers

● Input: A set of integers.


● Output: The average of the integers.
● Three mappers each process a subset of the integers and calculate the
average and count.
● One reducer aggregates the averages and counts from the mappers to
compute the final average.

MapReduce Example: Salary Analysis

● Input: Employee data (name, gender, salary).


● Output: Total and average salary grouped by gender.
● Mappers extract gender and salary information from each employee record.
● Reducers aggregate salary data for each gender and calculate the total and
average salary.

Lecture 24: Resource Management I

Resource Management in Cloud Computing:

● Ensuring efficient availability of cloud resources and services to users,


applications, and services.
● Important for both providers (profit maximization, efficient resource utilization)
and consumers (quality of service, SLA adherence).

Types of Resources:

● Physical: Compute, storage, network, databases, scientific instruments.


● Logical: Applications, monitoring tools, management tools.

Data Center Power Consumption:

● Servers consume a significant portion of global electricity.


● Data centers have two main power-consuming components:
○ Compute infrastructure (servers, storage, network).
○ Environmental infrastructure (power management, cooling, logistics).
● Energy demand for servers is increasing rapidly.

Green Data Centers:

● Goal: Minimize energy consumption while maintaining high performance.


● Economic and environmental motivations for reducing data center energy use.

Research Directions for Energy Conservation:

● Power-aware and thermal-aware VM scheduling.


● Management of VMs and infrastructure to reduce inefficiencies.
● Optimized data center design.

VM Control Techniques:

● Scheduling:
○ Greedy algorithms to consolidate VMs on multi-core nodes.
○ Live migration to move VMs to underutilized nodes and shut down idle
nodes.
● Management:
○ Minimizing VM instances and removing unnecessary packages and
services.
○ Optimizing Linux kernel for cloud environments.

Data Center Design Techniques:


● Optimized server rack design.
● Efficient air conditioning and recirculation strategies.
● Dynamic shutdown of unused resources.

Lecture 25: Resource Management II

Resource Management in Cloud Computing:

● Plays a crucial role in the success of cloud computing.


● Ensures scalability, quality of service, optimal resource utilization, and
cost-effectiveness.

Resource Management Approaches for IaaS:

● Provisioning: Allocation of cloud resources to customers.


○ Approaches:
■ Nash equilibrium based on game theory.
■ Network queuing models.
■ SLA-oriented methods.
■ Optimal provisioning considering demand and price uncertainty.
● Allocation: Distribution of resources among computing groups or programs.
○ Approaches:
■ Market-oriented allocation using predictive models.
■ Real-time allocation for small and medium-sized providers.
■ Dynamic scheduling and consolidation of resources.
● Mapping: Matching user resource requirements with provider resources.
○ Approaches:
■ Symmetric mapping pattern.
■ Resource container based mapping.
■ Substrate network mapping for virtual networks.
● Adaptation: Dynamic adjustment of resources to meet user needs.
○ Approaches:
■ Reinforcement learning-based control policies.
■ Web service-based prototypes.
■ DNA-based load balancing for virtual networks.
■ Hybrid approaches.

Resource Management Metrics:

● Reliability.
● Ease of deployment.
● Quality of service.
● Control.

Key Considerations:
● Resource management approaches should be tailored to specific application
requirements and user needs.
● Consider the trade-offs between different metrics to achieve optimal resource
utilization without compromising performance.
● Effective resource management is essential for achieving the benefits of cloud
computing, such as scalability, cost-effectiveness, and high performance.

Lecture 26: Cloud Security I

● Cloud security is a major aspect of cloud computing, encompassing security


concerns and their impact.
● One of the main obstacles to cloud adoption is security concerns, more so
than technology.

Basic Components of Security

● Confidentiality: Keeping data and resources hidden.


● Integrity: Maintaining data integrity and source authentication.
● Availability: Ensuring access to data and resources.

Security Attacks

● Any action that compromises information security or violates confidentiality,


integrity, and availability.
● Interruption: Disruption of the communication path.
● Interception: Unauthorized access to data during transmission.
● Modification: Alteration of data, compromising integrity.
● Fabrication: Creation of false data or impersonation of a source,
compromising authenticity.

Threats

● Potential vulnerabilities that do not necessarily result in compromise.


● Disclosure: Unauthorized access to information (e.g., snooping).
● Deception: Manipulation or falsification of data (e.g., modification, spoofing).
● Disruption: Interruption of services (e.g., denial of service).
● Usurpation: Unauthorized control of resources (e.g., modification, spoofing).

Policies and Mechanisms

● Policies: Define what is and is not allowed, guiding security.


● Mechanisms: Enforce security policies through implementation.
● Conflicts or discrepancies in policies can create vulnerabilities.

Security Goals

● Prevention: Stop attackers from violating policies.


● Detection: Identify attacks and gather evidence.
● Recovery: Restore functionality after an attack.

Trust and Assumptions

● Fundamental to all aspects of security.


● Policies must unambiguously define system states and capture security
requirements.
● Mechanisms should effectively enforce policies.

Security Models and Objectives

● Fully Secure: All reachable system states are within the set of secure states.
● Precise Security: Reachable states exactly match secure states.
● Broad Security: Some reachable states fall outside the secure set.

Assurance

● Ensuring security through specifications, design, and implementation.

Operational and Economic Issues

● Cost-benefit analysis: Weighing the cost of prevention versus recovery.


● Risk analysis: Assessing the level of protection needed.
● Laws and customs: Considering legal and ethical implications.

Human Issues

● Security is influenced by human factors, including responsibility, authority, and


organizational problems.

Attack Types

● Passive Attacks: Gathering information without modifying data (e.g.,


eavesdropping).
● Active Attacks: Altering data or creating false streams.
○ Masquerade: Impersonating a different entity.
○ Replay: Capturing and retransmitting data.
○ Modification of Messages: Altering data in transit.
○ Denial of Service: Disrupting service availability.

Security Services

● Address security threats by providing:


○ Confidentiality.
○ Authenticity.
○ Integrity.
○ Non-repudiation.
○ Access control.
○ Availability.

Network Security

● Crucial for cloud security, as cloud infrastructure relies heavily on networks.


● Steps:
○ Policy determination.
○ Policy implementation.
○ Reconnaissance.
○ Vulnerability scanning.
○ Penetration testing.
○ Post-attack investigation.

Vulnerability Scanning

● Assessing system security by identifying weaknesses.


● Tools: Nmap, Metasploit.
● National Vulnerability Database (NVD): A repository of known
vulnerabilities.

Penetration Testing

● Simulating attacks to identify vulnerabilities and improve security.

Post-Attack Investigation

● Analyzing attack events to gather evidence and prevent future attacks.

Cloud Security Implications

● Traditional security focuses on keeping attackers out, while cloud security also
addresses internal threats.
● Cloud security risks are unique and require specific considerations.

Lecture 27: Cloud Security II

● Cloud computing introduces unique security challenges in addition to


traditional security concerns.

Cloud Computing Characteristics

● Elastic resource scalability: Resources can be scaled up or down on


demand.
● On-demand just-in-time provisioning: Resources are provisioned as
needed.
● Pay-as-you-go model: Users pay only for the resources they use.

Cloud Security Risks

● Traditional data security issues: Confidentiality, integrity, availability,


privacy.
● New attacks: Exploitation of cloud-specific vulnerabilities.

Major Security Concerns (IDC Enterprise Panel, 2008)

● Security.
● Performance.
● Availability.

New Threats in Cloud Computing

● Traditional systems security primarily focuses on keeping attackers out.


● Cloud security requires protecting against both external and internal threats,
as resources are shared.

Gartner's Seven Cloud Computing Security Risk Parameters

● Privileged user access: Risk associated with sensitive data processed


outside the enterprise.
● Regulatory compliance and audit: Challenges in auditing and ensuring
compliance in a cloud environment.
● Data location: Lack of control over data storage location.
● Data segregation: Risks associated with data sharing in a multi-tenant
environment.
● Recovery mechanisms: Concerns about data and service recovery in case
of disasters or outages.
● Investigative support: Difficulties in investigating security incidents in a cloud
environment.
● Long-term viability: Risks associated with vendor lock-in and provider
stability.

Additional Security Issues

● Virtualization: Vulnerabilities in hypervisors and VM isolation mechanisms.


● Access control and identity management: Protecting against identity theft
and unauthorized access.
● Application security: Securing applications deployed in the cloud.
● Data lifecycle management: Ensuring confidentiality, integrity, and
availability of data throughout its lifecycle.

Co-Tenancy
● Multiple users sharing the same physical infrastructure, posing security risks.

Data Location and Control

● Challenges in controlling and monitoring data stored in geographically


dispersed locations.

Inter-Cloud Communication

● Security risks associated with data and process communication between


different cloud providers.

Lecture 28: Cloud Security III

● Examines a case study from an ACM CCS 2009 research article to


understand how cloud security differs from traditional security.

Case Study: "Hey, You, Get Off of My Cloud: Exploring Information Leakage in
Third-Party Compute Clouds"

● Focuses on security aspects of a well-known public cloud platform.


● Illustrates the importance of security in cloud computing.

New Risks in Cloud Computing

● Trust and dependency: Customers must trust cloud providers with their data
and computations.
● Multi-tenancy: Risks associated with sharing resources with other customers.

Resource Management by Cloud Providers

● Providers need to manage resources efficiently to optimize performance and


meet SLA requirements.

New Risk Factors from Multi-Tenancy

● Side-channel exploitation: Information leakage between VMs due to shared


resources.
● Vulnerable VM isolation mechanisms: Exploitation of hypervisor
vulnerabilities.
● Lack of control: Limited control over who shares the server space.

Attack Model

● Placement: Attacker gains co-residency with the victim on the same physical
hardware.
● Extraction: Attacker exploits side channels to extract confidential information.

Threat Model
● Assumes that the cloud provider and infrastructure are trusted.
● Does not consider attacks that subvert administrator functions or exploit
hypervisor vulnerabilities.
● Adversaries: Malicious parties not affiliated with the provider.
● Victims: Users running confidential services on the cloud.

Threat Model Considerations

● Attackers can control multiple cloud instances.


● Attackers may manipulate shared resources to gain information.

Co-Residency Attack

● Exploits information leakage between co-resident VMs.

Amazon EC2 Service

● A scalable, pay-as-you-go compute service.


● Degrees of freedom: Instance type, region, availability zone.

Instance Placement Parameters

● Availability zones, instance types, IP address blocks.

Determining Co-Residency

● Network-based checks: Matching Dom0 IP addresses, round-trip times,


close IP ranges.
● Covert channel verification: Successful transmission through a covert
channel indicates co-residency.

Causing Co-Residency

● Brute force placement: Launching numerous instances to find co-residency.


● Targeting recently launched instances: Exploiting the tendency to place
new instances on the same machine.

Leveraging Placement Locality

● Placement locality: Instances launched simultaneously from the same


account do not run on the same machine.
● Sequential placement locality: Instances run sequentially.
● Parallel placement locality: Instances run at roughly the same time.

Instance Flooding

● Launching many instances to increase the chances of co-residency.

Exploiting Co-Residency
● Cross-VM attacks: Gaining information, creating covert channels, influencing
resource usage.
● Cache timing attacks: Analyzing cache usage patterns to infer information.

Preventive Measures

● Randomized IP address allocation.


● Blocking network probing tools.
● Preventing Dom0 identification.
● Disallowing co-residency.
● Mitigating information leakage via side channels.

Summary

● Cloud computing introduces new security risks due to shared infrastructure


and software vulnerabilities.
● Practical attacks can be performed to exploit co-residency.
● Countermeasures are proposed to mitigate these risks.

Lecture 29: Cloud Security IV

● Explores security issues in collaborative SaaS clouds, particularly in loosely


coupled environments.

Security Issues in Collaborative SaaS Cloud

● Lack of control: Consumers have minimal control over security in a SaaS


model.
● Inadequate policies and practices: Potential for security gaps due to
inconsistent policies.
● Multi-tenancy: Threats from malicious customers sharing the same platform.

Security Responsibilities

● Vary depending on the cloud service model (IaaS, PaaS, SaaS).

SaaS Cloud-Based Collaboration

● Involves sharing resources and information through APIs among users,


applications, and organizations.

Challenges

● Data integrity: Ensuring the integrity of data shared among multiple users.
● Choosing an ideal vendor: Selecting a trustworthy and secure service
provider.

Types of Collaboration

● Tightly coupled: Strong connectivity between collaborating clouds.


● Loosely coupled: Federally cloud systems with weak connectivity.

Motivations for Research

● Lack of control in SaaS: Need for enhanced security measures in a


provider-controlled environment.
● Collaboration complexity: Addressing security challenges in multi-domain
and multi-cloud environments.
● Inconsistent security mechanisms: Need for robust mechanisms to ensure
data confidentiality and integrity.
● Multiple service providers: Selecting a provider based on security, QoS, and
SLA guarantees.

Objectives

● Framework for provider selection: Develop a framework called SelCSP to


select a trustworthy and competent collaboration service provider.
● Access control for anonymous users: Securely manage access requests
within the cloud for anonymous users while minimizing risk and uncertainty.
● Inter-domain role mapping (IDRM): Develop a heuristic to map roles across
domains, ensuring minimal access privileges and addressing the IDRM safety
and availability problems.
● Distributed secure collaborative framework: Design a framework using
local information to detect and remove conflicts in loosely coupled
environments.

Challenges in Provider Selection

● Modeling trust, reputation, and competence of service providers.


● Addressing non-standard clauses in SLAs regarding assurance and
compensation.
● Establishing standard parameters for cloud SLAs to reduce perceived risk.

SelCSP Framework

● Estimates risk, trust, reputation, and competence of service providers.


● Considers customer requirements, SLA parameters, and security controls.
● Recommends the most suitable provider based on a comprehensive
evaluation.

Risk-Based Access Control


● Grants access to subjects based on risk assessment, even without complete
permissions.
● Challenges:
○ Quantifying operational needs.
○ Balancing risk reduction and information sharing.

Distributed Framework for Access Control

● Utilizes a fuzzy inference system for distributed tracking and access control.

Inter-Domain Role Mapping (IDRM)

● Aims to find the minimal set of roles encompassing requested permissions.


● Challenges:
○ Multiple minimal role sets.
○ Lack of exact role mapping for all permissions.

Distributed Role Mapping Framework

● Maps permissions to local roles using a heuristic for the IDRM availability
problem.

Distributed Secure Collaborative Framework

● Detects and removes access control conflicts using local information.

Access Control Conflicts

● Cyclic inheritance: Inheritance relationships forming a cycle, leading to


unintended access.
● Separation of Duty (SoD) violation: Conflicts arising from granting
permissions that violate the separation of duty principle.

Conflict Removal

● Exactly match role set exists: Utilizing existing roles to resolve conflicts.
● No exactly match role set exists: Creating virtual or collaborating roles to
address conflicts.

Summary

● Secure collaboration in SaaS clouds requires addressing challenges related


to provider selection, access control, role mapping, and conflict resolution.
● Frameworks and heuristics can be developed to enhance security and
facilitate trustworthy collaboration in loosely coupled cloud environments.

Lecture 30: Broker for Cloud Marketplace


● Discusses the role of a broker in the cloud marketplace, facilitating the
selection of suitable cloud providers for customers.

Need for a Broker

● Rapid growth of cloud services: Numerous providers with varying QoS


levels.
● Diverse customer needs: Different requirements for different use cases.
● Complexity of selection: Finding the best provider that meets specific
requirements and SLAs.

Role of an Intelligent Broker

● Safeguarding customer interests: Ensuring QoS, SLA adherence, and


security.
● Recommending the best provider: Matching customer requirements with
provider offerings.

Motivations

● Flexible provider selection: Facilitating easy and efficient selection.


● Trustworthiness: Assessing and ensuring provider trustworthiness.
● Monitoring: Continuous monitoring of services and SLAs.
● Vendor lock-in: Mitigating risks associated with vendor dependence.

Objectives

● Selection based on QoS: Identifying providers that meet customer QoS


requirements.
● Decision support: Providing a framework or mechanism for decision-making.
● Handling fuzziness: Accounting for the imprecise nature of user
requirements.

Approaches

● CloudCmp: A tool that compares cloud providers based on QoS.


● Fuzzy provider selection: Utilizing fuzzy logic to handle imprecise
requirements.
● Framework with satisfaction measure: Evaluating provider satisfaction
considering fuzzy user requirements.

Customer QoS Parameters

● IaaS: Availability, bandwidth, storage capacity, processing power.


● SaaS: Uptime, response time, application performance.

Provider Offerings

● Promised QoS values: Parameters promised by providers in their SLAs.


● Trustworthiness: Level of trust associated with a provider.

Architecture of a Cloud Broker

● Provider selection module: Decides the best provider based on monitoring,


QoS parameters, and customer requirements.
● Monitoring module: Tracks provider performance and SLA adherence.
● SLA management module: Manages SLAs and handles violations.

Fuzzy Inference Engine for Provider Selection

● Input: QoS offered by the provider and its trustworthiness.


● Output: Suitability of the provider for the customer.
● Membership functions: Define the degree of membership for input and
output variables.
● Rule list: Set of rules that map input to output based on customer
requirements.

Migration Decision

● Fuzzy inference engine: Used to determine the need for migration based on
SLA satisfaction.
● Input: Factors influencing SLA satisfaction.
● Output: Degree of SLA satisfaction.
● Migration threshold: If satisfaction falls below the threshold, migration is
initiated.

Case Studies

● IaaS simulation: Compared fuzzy broker performance with a conventional


crisp broker.
● SaaS simulation: Evaluated fuzzy broker effectiveness in a SaaS
marketplace.

Results

● Fuzzy broker outperformed crisp broker in terms of average availability,


bandwidth, cost, response time, and SLA adherence.

Future Scope

● Flexibility in QoS requirements: Allowing for more flexible specification of


user needs.
● Comparison on production workloads: Evaluating performance with
real-world data.
● Categorization of customers: Handling different classes of customers based
on their requirements.
● Extension to XaaS: Adapting the framework for various types of cloud
services.

Conclusion

● Intelligent brokers using fuzzy logic can effectively match customer


requirements with provider offerings in the cloud marketplace.
● Future research should focus on enhancing flexibility, handling real-world
workloads, and extending the framework to accommodate diverse service
models.

Lecture - 31: Mobile Cloud Computing – I

● Smart mobile devices and smartphones are becoming increasingly


prevalent in society.
● High bandwidth availability and resourceful devices enable mobile
devices to be used for computing purposes.
● Mobile cloud computing (MCC) allows mobile devices to offload computing
tasks to the cloud.
● Mobile backend as a service (MBaaS) provides developers with a way to
connect applications to cloud storage and processing.
● Augmenting mobiles with cloud computing is seen in examples like the
Amazon Silk Browser, Apple Siri, and Apple iCloud.
● Offloading applications to the cloud presents challenges such as
minimizing delay and partitioning applications effectively.
● MCC definitions emphasize the combination of cloud computing, mobile
computing, and wireless networks to provide resources to mobile users.
● Key features of MCC include facilitating app development and delivery, using
fewer device resources, and improving reliability through cloud storage.
● Advantages of MCC include saving battery power, faster execution, shared
resources, integrated data, and secure data collection.
● Challenges of MCC include security, context-aware services, network access
management, quality of service, pricing, and standard interfaces.
● Dynamic runtime offloading involves complexities such as profiling,
partitioning, migration, and synchronization.

Lecture - 32: Mobile Cloud Computing – II

● MCC is gaining popularity due to its ability to support complex applications on


small devices and facilitate data exchange.
● Key challenges for MCC include dynamic application partitioning,
optimization for energy saving and execution time, and the need for
middleware to decide task allocation.
● Synchronization, scheduling, and resource management are crucial in
MCC.
● MAUI (Mobile assistance using infrastructure) is an MCC framework
where programmers can designate methods as remoteable or not.
● CometCloud (code offloading by migrating execution transparently)
works on unmodified applications, allowing thread migration based on
workload using a distributed shared memory (DSM) model.
● A central problem in MCC is partitioning programs for execution on
heterogeneous resources, such as mobile devices and cloud servers.
● Task partitioning in MCC considers energy consumption on the mobile
device, energy consumed for data transfer, and execution time constraints.
● Static partitioning involves deciding task allocation at application launch,
while dynamic partitioning adapts to varying conditions during runtime.
● Mobile communication issues in MCC include low and variable bandwidth,
service availability, and heterogeneity in network connectivity.
● Computation offloading effectiveness in energy saving depends on factors
such as computation amount, data communication size, and cloud server
speed.
● Cloudlets, as resource-rich computers near mobile devices, can reduce
latency and potentially lower battery consumption during code offloading.
● Offloading is beneficial when large computations require small data
communication and the cloud server is significantly faster.
● Approaches to computation offloading include static partitioning, dynamic
partitioning based on cost trade-offs, and profiling-based offloading.

Lecture - 33: Fog Computing - I

● Cloud computing offloads processes and data to the cloud, requiring a


robust network for data transfer.
● The increasing volume of data, especially with Internet of Things (IoT)
devices, raises concerns about network bandwidth.
● Cloud computing offers benefits like dynamic scalability, minimal
infrastructure management, and metered service (pay-as-you-go model).
● Issues with cloud-only computing include latency, congestion due to
centralized data centers, and limitations in time-sensitive applications.
● Fog computing (fogging or edge computing) distributes data processing to
network edge devices.
● Fog computing reduces data load, allows local decisions, and handles
time-sensitive tasks more effectively.
● Cisco introduced the term "fog computing" with a vision to enable
applications on billions of connected devices to run at the network edge.
● Fog computing architecture includes cloud data centers, intermediate fog
devices, and end-user devices.
● Advantages of fog computing include reduced bandwidth usage, lower
costs, improved efficiency, and support for real-time applications.
● Enablers of fog computing include virtualization (virtual machines and
containers), service-oriented architecture (SOA), and software-defined
networking (SDN).
● Fog computing complements cloud computing by providing faster
response times for real-time applications.
● Benefits of fog computing include low latency, location awareness,
geographical distribution, support for mobility, and handling of large data
volumes.
● Challenges of fog computing include security concerns (maintaining
security protocols, potential for man-in-the-middle attacks, and privacy
issues), resource constraints, and management complexities.

Lecture - 34: Fog Computing – II

● Fog computing addresses limitations of cloud computing in real-time,


latency-sensitive applications, especially those requiring local data
processing.
● Characteristics of cloud computing such as scalability, pay-as-you-go
models, and infrastructure freedom should also be supported by fog
computing.
● Fog computing can be used in conjunction with cloud computing, with tasks
allocated based on their requirements.
● Resource management is crucial in fog computing due to the limited
resources of fog devices compared to cloud servers.
● Fog computing leverages local knowledge of data and provides faster
response times for applications.
● Fog devices, such as routers, gateways, and sensor nodes, process data
locally, reducing the need to transmit all data to the cloud.
● Differences between cloud and fog computing include latency (lower in
fog), location of server nodes (edge of local network for fog), distance
between client and server (typically one hop for fog), and location awareness
(higher in fog).
● Use cases for fog computing include emergency evacuation systems,
natural disaster management, large sensor deployments, and the Internet of
Things (IoT).
● Applications of fog computing include smart traffic lighting, connected
vehicles, smart grids, sensor networks, IoT, and software-defined networking.
● Connected vehicles benefit from fog computing for safety, infotainment,
traffic support, and analytics.
● Fog computing supports the vehicular ad hoc network (VANET) concept.
● Smart city lighting leverages fog computing for localized traffic
management.
● Smart grids utilize fog computing for power management based on real-time
data from smart meters.
● Challenges in fog computing include resource management, security, and
ensuring end-to-end latency for services.
● Resource management challenges in fog computing involve utilizing idle
nodes, handling load balancing, meeting delay requirements, and providing
fault tolerance.
● Data availability, node unresponsiveness, and data migration are
concerns in resource management for fog computing.
● Security in fog computing involves addressing potential data compromise
and unauthorized access due to the distributed nature of fog devices.

Lecture - 35: Use Case: Geospatial Cloud

● Geospatial data linked to locations on Earth’s surface is becoming


increasingly important.
● Integrating large volumes of geospatial data from various sources for
decision-making is a challenge.
● Geospatial data can be static (unchanging) or dynamic (changing over
time), and its scale can vary from meters to global.
● Geographic Information Systems (GIS) capture, store, query, analyze, and
display geospatial data.
● Challenges in managing geospatial data include data and computation
intensity, variable loads requiring dynamic scaling, and network-intensive web
services.
● Spatial data infrastructure (SDI) is a concept for managing geospatial data
as a shared infrastructure.
● Cloud computing offers solutions for sharing and managing large volumes of
geospatial data.
● Benefits of geospatial cloud computing include resource pooling, flexible
deployment models, data security, and cost-effectiveness.
● Geospatial cloud architecture typically involves brokers, data centers
hosting spatial data, SLA managers, and auditors.
● Interface GIS acts as a middleware connecting users to spatial services
provided by various organizations.
● Geospatial cloud models utilize web services for providing spatial data and
services, with integration of heterogeneous data sources.
● Challenges in geospatial cloud computing include implementing and
scaling spatial databases, multi-tenancy management, and ensuring
interoperability.
● Security concerns in geospatial cloud include multi-tenancy issues,
potential data breaches, and the lack of complete control over data.

Lecture - 36: Introduction to Docker Container

● Container technology addresses challenges in software deployment and


portability across different environments.
● Docker is a popular open-source container technology that enables "develop,
ship, and run anywhere" functionality.
● Docker allows applications to be bundled with their dependencies into a
container, ensuring consistent execution across different platforms.
● The need for container technology stems from the increasing variety of
devices and applications, making portability a major challenge.
● Shipping containers provide an analogy for Docker, where standardized
containers simplify the transportation of diverse goods.
● Docker's key features include:
○ Reducing development size by providing a smaller OS footprint.
○ Facilitating seamless collaboration across development and operations
teams.
○ Enabling deployment on any physical or virtual machine, including
cloud environments.
○ Lightweight and easily scalable containers.
● Docker components:
○ Docker Engine: Builds Docker images and creates containers.
○ Docker Hub: A registry hosting various Docker images.
○ Docker Compose: Defines applications using multiple containers.
● Docker containers vs. traditional virtualization:
○ Containers share the host OS kernel, providing a smaller footprint and
faster startup times compared to virtual machines, which require a
guest OS.
● Docker image: A lightweight, standalone executable package containing
everything needed to run a piece of software.
● Docker container: A runtime instance of an image, isolated from the host
environment.
● Docker's benefits: Application-level virtualization, efficient resource
utilization, portability, improved collaboration, and scalability.
● Docker terminology includes commands like images, run, tag, pull, rmi,
ps, start, stop, commit, and Dockerfile.
● Dockerfile: A build script for automatically creating images.
● Docker Hub automates image building based on Dockerfiles on GitHub.

Lecture - 37: Green Cloud

● Green cloud computing aims to minimize energy consumption in cloud


computing while maintaining efficiency and performance.
● Energy consumption is a significant concern in cloud computing due to the
large-scale infrastructure involved.
● Green computing promotes environmentally responsible use of computers
and resources, minimizing environmental impact.
● Importance of energy efficiency: Increasing computing demands, high
energy costs in data centers, and the environmental impact of energy
consumption.
● Data center (DC) architecture evolution: From two-tier (access and cold
layers) to three-tier (access, aggregation, and core) for better scalability and
management.
● Energy models for servers and switches help analyze and optimize energy
consumption.
● Environmental impact of data centers: High carbon emissions, energy
costs, and resource consumption.
● Balancing performance and energy efficiency: Optimizing data center
resource management for both performance and energy efficiency while
maintaining service levels.
● Initiatives for green cloud computing:
○ Cloud service providers adopting measures to reduce energy costs.
○ Building data centers near renewable energy sources.
○ Developing energy-aware provisioning and scheduling mechanisms.
● Green cloud architecture: Includes components like green brokers,
middleware, and power usage effectiveness (PUE) measurement tools.
● Green brokering system: Analyzes user requirements, calculates costs and
carbon footprint, and performs carbon-aware scheduling.
● Open issues in green cloud computing: Maximizing energy efficiency,
developing regulations, and promoting benefits in various regions.

Lecture - 38: Sensor Cloud Computing

● Sensor cloud computing integrates sensor networks with cloud


infrastructure to enable pervasive computing and data processing.
● Wireless sensor networks (WSNs) seamlessly connect the physical
environment with the digital world.
● Sensor nodes are small, low-power devices with functionalities like sensing,
processing, memory, communication, and power management.
● Limitations of sensor networks: Scalability challenges, interoperability
issues, limited resources, and application specificity.
● Limitations of cloud computing without sensor integration: Difficulty in
accessing real-world information, lack of real-time interaction.
● Need for sensor-cloud integration: Real-time data acquisition, processing,
and decision-making; leveraging cloud resources for sensor data
management.
● Sensor cloud definition: An infrastructure for pervasive computing using
sensors as an interface between physical and cyber worlds, supported by
data computing clusters and the internet.
● Sensor cloud benefits: Enables data collection, processing, visualization,
archiving, sharing, and supports the entire sensor data lifecycle.
● Sensor cloud components: Sensor networks, cloud infrastructure, sensor
cloud proxy, traditional cloud, and satellite connections.
● Sensor cloud proxy: Interfaces between sensor resources and the cloud
fabric, managing connectivity, data format conversion, cleaning, aggregation,
and transfer.
● Sensor network proxy: Acts as a proxy for sensor resources without direct
cloud connections.
● Virtual sensors: Software emulations of physical sensors, providing
customized views to users and overcoming resource limitations of physical
sensors.
● Virtual sensor configurations: One-to-many, many-to-one, many-to-many,
and derived (combining multiple physical sensors).
● Layered sensor cloud architecture: Includes physical sensors,
sensor-centric middleware, virtualization layer, user interfaces, and
management components.
● Sensor cloud infrastructure benefits: Virtualizes sensors, provides
management mechanisms, enables virtual sensor group creation, and
focuses on sensor system and data management.

Lecture - 39: IoT Cloud

● Internet of Things (IoT) involves connecting everyday objects to the internet,


enabling data exchange and interaction without human intervention.
● IoT cloud integrates IoT with cloud computing, leveraging cloud resources for
data storage, processing, and management.
● Motivation for IoT cloud:
○ Increasing adoption of sensing technology and internet-enabled
devices.
○ Need for efficient data management and processing for large-scale IoT
deployments.
○ Cloud computing's scalability, on-demand services, and pay-as-you-go
model.
● Aspects of IoT systems: Scalability, big data challenges, real-time operation,
distributed nature, and heterogeneity of devices and networks.
● IoT gateways address heterogeneity and interoperability issues among IoT
devices.
● Cloud computing benefits for IoT: Scalability, pay-as-you-go model, data
storage and processing capabilities, infrastructure independence, and
accessibility.
● Benefits of IoT cloud integration: Seamless coordination between IoT and
cloud services, dynamic resource provisioning, and improved service delivery.
● IoT cloud architecture components: User layer, proximity network, IoT
gateway, public network, provider cloud, and enterprise network.
● Example IoT cloud framework (iCOMOT): Includes layers for application
execution, software layer built on cloud services, and tools for monitoring and
control.
● Infrastructure, protocols, and software platforms for IoT cloud:
Gateways, containers, virtual machines, communication protocols (MQTT,
CoAP, HTTP), and software services.
● Example use cases:
○ Transportation systems leveraging cloud computing and IoT for
services like intelligent parking and vehicle data mining.
○ Intelligent parking system using sensors, communication modules, and
cloud-based parking management.

Lecture - 40: Course Summary and Research Areas

● Course summary: Covered fundamental concepts, architectures, service


models, management aspects, security challenges, and emerging
technologies related to cloud computing.
● Research areas in cloud computing:
○ Infrastructure and services: Cloud architectures, storage, networking,
service models (IaaS, PaaS, SaaS, storage as a service, network as a
service).
○ Management, operation, and monitoring: Service orchestration,
cloud federation, migration, hybrid cloud integration, green and energy
management, capacity planning, monitoring, and auditing.
○ Security: Data privacy, access control, identity management,
side-channel attacks, and security as a service.
○ Performance, scalability, and reliability: Performance measurement,
availability, micro-service architectures, virtualization, and hardware
support.
○ Data analytics: Big data management, analytics applications, scientific
computing, and data and analytics clouds.
○ Service management: Service discovery, recommendation,
composition, QoS management, security and privacy of services,
semantic services, and service-oriented software engineering.
○ Emerging technologies: Fog computing, IoT cloud, sensor cloud, and
container technologies.
● Resources for further exploration: Cloud simulators, top-level journals and
conferences, and industry publications.

Here are the notes from lectures 41, 42, 43, 44, 45, 46, 47, 48, 49, and 50:

Lecture - 41: Cloud–Fog Computing - Overview

● Cloud-fog computing enhances cloud computing by bringing computation


closer to data sources, improving efficiency and latency.
● Fog computing involves distributed computing resources between the cloud
and end devices, addressing the limitations of direct cloud processing for
time-sensitive applications.
● Benefits of fog computing: Reduced latency, improved reliability, faster
response times, enhanced trustworthiness.
● Resource management in cloud-fog environments is crucial for optimal
utilization and workload balancing.
● Fog computing model: Consists of cloud client, fog, and cloud layers,
enabling data processing closer to the source and offloading tasks to the
cloud when necessary.
● Edge devices: Act as intermediaries between sensors and the fog layer,
performing initial data processing and generating alerts if needed.
● Case study: Using a health cloud-fog framework to analyze medical data
from sensors and generate real-time alerts.
● Performance benefits of fog architecture: Reduced network usage, lower
execution costs, and stable latency compared to cloud-based architectures.
● Lab prototype: Utilized medical devices, Raspberry Pi as fog devices, and
AWS or an in-house OpenStack cloud to demonstrate the effectiveness of the
cloud-fog paradigm.
● Key takeaway: Cloud-fog-edge paradigm enhances application performance
and efficiency by distributing computation and leveraging resources at
different levels.

Lecture - 42: Resource Management - I

● Resource management is crucial in cloud-fog-edge computing due to the


distributed nature and resource constraints of fog and edge layers.
● Challenges of resource management: Resource allocation, workload
balancing, task scheduling, QoS maintenance, and cost considerations.
● Latency reduction: Fog computing addresses latency issues by processing
data close to the source, particularly for time-sensitive applications.
● Data aggregation: Fog and edge layers can aggregate data from multiple
sensors, reducing network load and enabling preliminary analysis.
● Interoperability: Fog-edge layers can facilitate interoperability between
different types of devices by converting data formats and protocols.
● Fog environment model: Comprises cloud client, edge, fog, and cloud
layers, with fog handling client resource requests and offloading to the cloud if
necessary.
● Use cases:
○ Smart buildings: Monitoring room temperature, optimizing air
conditioning systems.
○ Vehicular networks: Enabling communication between vehicles (V2V)
and with roadside infrastructure (V2I) for traffic management, license
revocation, and safety applications.
○ Healthcare systems: Collecting and transmitting patient data from
body area networks to fog devices and the cloud for analysis and
alerts.
● Resource management approaches: Architecture, infrastructure, and
algorithms.
● Architecture: Data flow, control mechanisms (centralized, distributed,
hierarchical), tenancy.
● Infrastructure: Hardware, system software, middleware.
● Algorithms: Resource discovery, benchmarking, load balancing, placement.

Lecture - 43: Resource Management - II

● Service placement problem: Determining the optimal placement of services


and applications across cloud, fog, and edge layers for efficiency and
performance.
● Factors influencing service placement:
○ Location awareness of devices and resources, particularly in mobile
scenarios like vehicular networks and healthcare applications.
○ Low latency requirements for time-sensitive applications.
○ Resource constraints of fog and edge devices.
● Service placement taxonomy:
○ Problem paradigm: Infrastructure model, application model,
deployment pattern.
○ Service placement taxonomy: Control plane design, placement
characteristics, system dynamicity, mobility support.
○ Optimization strategies: Latency, resource utilization, cost, energy
consumption.
○ Evaluation environment: Analytical tools, simulators, experimental test
beds.
● Example scenario: Video capture and analytics system with components
distributed across edge, fog, and cloud for efficient processing and
recognition.
● Constraints in service placement: Resource limitations of devices (CPU,
RAM, storage, bandwidth), application requirements, and dynamicity of the
environment.
● Offloading and ensembling: Transferring tasks between layers for efficient
execution and aggregating results for comprehensive insights.
● Offloading mechanisms:
○ Device to edge: Application partitioning, caching.
○ Cloud to edge: Server offloading (replication, partitioning), caching
(content popularity, multilayer).
● Control mechanisms: Centralized or distributed approaches using
algorithms like solver-based, graph matching, blockchain, game theory, or
genetic algorithms.
● Hardware and software considerations:
○ Hardware: Utilizing low-power devices for fog-edge computing.
○ Software: System software supporting multi-tenancy, isolation, system
virtualization, and network virtualization.
● Key algorithms for resource management: Discovery, benchmarking, load
balancing, and placement.

Lecture - 44: Cloud Federation

● Cloud federation enables collaboration between multiple cloud service


providers (CSPs) to offer a unified service platform.
● Motivation for cloud federation:
○ Maximize resource utilization by sharing surplus capacity and creating
a larger resource pool.
○ Minimize power consumption through distributed workloads.
○ Improve load balancing and global utility.
○ Expand CSP footprints and offer a wider range of services.
● Characteristics of cloud federation:
○ Voluntary participation of CSPs.
○ Maximum geographical separation for reliability and disaster recovery.
○ Well-defined market systems and regulated federated agreements for
fair collaboration.
● Federation architectures: Classified based on the level of coupling (loosely
coupled, tightly coupled) and interoperability between cloud instances.
● Types of federation architectures:
○ Cloud bursting/hybrid: Combines on-premise infrastructure (private
cloud) with public cloud resources to handle peak demands. Typically
loosely coupled.
○ Broker: Uses a broker to manage resource allocation and service
deployment across federated clouds based on optimization criteria like
cost, performance, and energy consumption. Partially coupled.
○ Aggregated: CSPs cooperate and aggregate resources based on
contractual agreements, enabling a higher level of control and
information sharing compared to loosely coupled architectures.
○ Multi-tier: Hierarchical arrangement with a root cloud OS managing
multiple cloud sites, often within the same corporation. Tightly coupled
with advanced features like cross-site networking and VM migration.

Lecture - 45: VM Migration - Basics Migration Strategies

● VM migration enables the transfer of virtual machines (VMs) between


physical servers without disrupting service availability.
● Benefits of VM migration:
○ Load balancing to optimize resource utilization and prevent server
overload.
○ Fault tolerance for high availability and disaster recovery.
○ Server maintenance without service interruption.
○ Power management to reduce energy consumption by consolidating
VMs and utilizing low-power modes for underutilized servers.
○ Resource sharing to address limitations of hardware resources like
memory, cache, and CPU cycles.
● Live migration: Enables VM transfer without service downtime, minimizing
disruption to users.
● Live migration approaches:
○ Pre-copy: Iteratively copies memory pages while the VM is running,
followed by a stop-and-copy phase for final transfer.
○ Post-copy: Transfers processor state before memory content, allowing
the VM to start on the destination server sooner, with memory pages
copied on demand.

Lecture - 46: VM Migration - Basics Migration Strategies

● VM migration plays a crucial role in maintaining service availability,


optimizing resource utilization, and ensuring fault tolerance in cloud
environments.
● Motivations for VM migration:
○ Load balancing to address unbalanced loads and prevent downtime.
○ Power management to reduce energy consumption by consolidating
VMs and powering down underutilized servers.
○ Resource sharing to optimize the use of limited hardware resources.
○ Server maintenance without service interruption.
● Live migration: Minimizes downtime during migration, ensuring uninterrupted
service delivery.
● Pre-copy migration:
○ Iterative push phase: Copies memory pages while the VM is running,
with modified pages (dirty pages) re-sent in subsequent rounds.
○ Stopping criteria: Migration stops when the total memory transferred
exceeds a threshold or the number of dirty pages falls below a
threshold.
○ Stop-and-copy phase: Suspends the VM, copies the remaining dirty
pages and CPU state to the destination server, and resumes VM
execution on the destination.
● Post-copy migration:
○ Stop phase: Stops the source VM and copies the CPU state to the
destination server.
○ Restart phase: Restarts the VM on the destination server.
○ On-demand copy: Copies memory pages as they are requested by
the VM on the destination server.
● Migration analysis: Mathematical models and estimations help analyze
migration time, downtime, and the number of iterations required for memory
transfer.
● Multiple VM migration approaches:
○ Serial migration: Migrates VMs one after another, minimizing resource
contention but potentially increasing total migration time.
○ Parallel migration: Migrates multiple VMs simultaneously, potentially
reducing overall migration time but increasing resource contention and
complexity.

Lecture - 47: Containers Container based Virtualization Kubernetes


Docker Container

● Containerization is a lightweight virtualization technique that packages


application code and dependencies for consistent execution across
environments.
● Containers virtualize the operating system, enabling applications to run
anywhere regardless of the underlying infrastructure.
● Benefits of containers:
○ Separation of responsibilities: Developers focus on application logic,
while operations teams handle deployment and management.
○ Portability: Containers can run on various platforms, including personal
computers, cloud environments, and data centers.
○ Application isolation: Containers provide isolation at the OS level,
ensuring application security and stability.
○ Resource efficiency: Containers utilize a fraction of the resources
required by virtual machines, offering lightweight and efficient
virtualization.
● Popular container implementations:
○ Docker: An open platform for developing, shipping, and running
applications in containers.
○ Kubernetes: An open-source system for automating the deployment,
scaling, and management of containerized applications.
● Kubernetes:
○ Portable, extensible, open-source platform for managing containerized
workloads and services.
○ Facilitates declarative configuration and automation for efficient
container orchestration.
○ Large and growing ecosystem with widely available support and tools.
○ Provides building blocks for developer platforms while maintaining user
choice and flexibility.
● Kubernetes architecture:
○ Control plane: Manages worker nodes and pods (application
components) in the cluster.
○ Worker nodes: Host pods and run applications.
○ Pods: Smallest deployable units in Kubernetes, containing one or more
containers.
● Docker:
○ Docker container image: A lightweight, standalone, executable
package containing everything needed to run an application (code,
runtime, tools, dependencies, libraries, settings).
○ Docker engine: Runs Docker containers and manages images.
○ Docker Hub: A public registry for storing and sharing Docker images.
● Docker benefits:
○ Portability: Images can run on any system with Docker engine.
○ Lightweight: Containers utilize fewer resources compared to VMs.
○ Secure: Docker provides strong isolation capabilities for enhanced
application security.

Lecture - 48: Docker Container – Overview Docker – Components Docker


– Architecture

● Docker revolutionizes software development and deployment by simplifying


the process of building, shipping, and running applications anywhere.
● Docker's core philosophy: "Build, ship, and run any app anywhere."
● Challenges before Docker:
○ Managing complex tools and technologies for software development
and deployment.
○ Maintaining consistency across different environments due to varying
configurations and dependencies.
○ Difficulties in portability and collaboration.
● Docker simplifies software management:
○ Single effort to install, manage, and maintain applications in Docker
images.
○ Seamless deployment across different environments (development,
testing, production).
● Docker benefits:
○ Modularity: Enables the breakdown of complex systems into
manageable parts (microservices).
○ Efficient network modeling for managing large numbers of containers.
○ Full-stack productivity: Allows developers to work offline by bundling all
system components into containers.
○ Simplified debugging and documentation of software dependencies.
● Continuous delivery (CD): Docker enables CD by automating the build and
delivery process for every code change, facilitating faster and more reliable
software releases.
● Docker's advantages for CD:
○ Increased reproducibility and replicability compared to traditional
methods.
○ Simplified implementation of continuous delivery pipelines.
● Key Docker concepts:
○ Image: A collection of file system layers and metadata that can be run
as a container.
○ Layer: A collection of file changes, representing differences between
image versions.
○ Registry: A service that stores and distributes Docker images (e.g.,
Docker Hub).
● Docker commands:
○ docker build: Builds a Docker image from a Dockerfile.
○ docker run: Runs a Docker image as a container.
○ docker commit: Saves changes made to a container as a new
image.
○ docker tag: Assigns a tag to an image for identification and
versioning.
● Docker architecture:
○ Docker daemon: A server responsible for managing images,
containers, and the RESTful API.
○ Docker client: Interacts with the daemon to execute commands and
manage containers.
○ Docker registry: Stores and distributes Docker images, which can be
public or private.
● Docker communication:
○ The client communicates with the daemon using the HTTP protocol.
○ The daemon interacts with other services, including registries, using
HTTP.

Lecture - 49: Docker Container - Demo

● Docker Engine installation: The first step for running Docker containers is to
install the Docker engine on the target system.
● Docker Hub: A repository containing a vast collection of pre-built Docker
images, including popular software like MySQL and phpMyAdmin.
● Docker image: A lightweight, standalone, and executable package containing
all necessary components to run an application.
● Demo objectives:
○ Install the Docker engine on an Ubuntu system.
○ Download MySQL and phpMyAdmin Docker images from Docker Hub.
○ Modify the MySQL database and create tables and records.
○ Package the modified MySQL image and transfer it to a Windows
system with Docker engine installed.
○ Run the transferred MySQL and phpMyAdmin containers on the
Windows system without requiring separate installations.
● Advantages of using Docker:
○ Eliminates the need for separate installations and configurations on
different systems.
○ Simplifies application deployment and ensures consistent execution
across environments.
○ Preserves data and application state during transfer.
Lecture - 50: Docker Container - Demo (Continued)

● Docker container: A runtime instance of a Docker image.


● Persistence of data: Docker allows data to be saved even after the container
is removed by using volumes or custom directories to store data outside the
container.
● Dockerfile: A script containing instructions for building a Docker image,
allowing for customization and automation of image creation.
● Linking containers: Docker enables communication and interaction between
containers by linking them, allowing one container to access resources or
services provided by another.
● Port forwarding: Allows external access to services running inside a
container by mapping container ports to host ports.
● Demonstrated benefits of Docker:
○ Simplified installation and deployment of complex applications (MySQL
and phpMyAdmin) without requiring separate installations on the target
system.
○ Seamless transfer of containerized applications across different
operating systems (Ubuntu to Windows).
○ Data persistence and state preservation during container transfer.
○ No need for manual configuration or setup on the target system.

Here are the notes you requested:

Lecture 51: Dew Computing

● Dew Computing: Combines cloud computing with end device capabilities to


enhance the user experience. Examples include Dropbox and Google Drive.
● Goal of Dew Computing: Enable functionality with or without network
connectivity and provide continuous service.
● Features of Dew Computing:
○ Automated data synchronization between the local device and the
cloud.
○ Role-based access control for data sharing.
○ Offline data availability.
● Dew Computing Service Models:
○ Storage in Dew: Local device storage is partially or fully copied to the
cloud. (Ex: Dropbox, Google Drive).
○ Platform in Dew: Software development suites on local devices sync
settings and application data to the cloud. (Ex: GitHub).
○ Software in Dew: Software configurations are stored in the cloud,
allowing installations on any linked device. (Ex: Apple App Store,
Google Play).
○ Web in Dew: A duplicated or modified portion of the World Wide Web
is stored locally.
● Dew Computing Architecture:
○ Cloud: For data synchronization.
○ Hybrid P2P Communication Link: Connects the cloud and dew
devices.
○ IoT Devices and Sensors: Collect data.
○ Dew Framework (Host System): Often called Dew Virtual Machine
(DVM).
○ Dew Server: Core of the dew framework.
○ Dew Client Program: Interacts with the client.
○ Dew DBMS: Organizes and stores data.
○ Dew Client Services: Provide services to users.
● Dew Virtual Machine (DVM): An isolated environment for executing the dew
server on the local system.
● Challenges in Dew Computing:
○ Power management.
○ Processor utilization.
○ Data storage.

Lecture 52: Serverless Computing - I

● Serverless Computing: A form of cloud computing where users run


event-driven applications without managing servers. Cloud providers handle
scalability and backend orchestration.
● Benefits of Serverless Computing:
○ Focus on application logic, not infrastructure management.
○ Scalability managed by cloud providers.
○ Fine-grained containerization.
○ Quick loading and booting.
○ Automated orchestration.
○ Cost-effective, pay only for function instantiation.
● Examples of Serverless Computing Platforms:
○ AWS Lambda (Amazon).
○ Google Cloud Functions.
○ Azure Functions (Microsoft).
● Challenges of Serverless Computing:
○ Reliance on many libraries can lead to increased storage space and
complexity.
○ The use of multiple technologies adds maintenance complexity and
requires skilled personnel.

Lecture 53: Serverless Computing - II


● Serverless Computing: Simplifies cloud development by providing a
programming abstraction that hides server management from developers.
● Focus of Serverless Computing: Shift from servers to applications. Some
refer to traditional cloud computing as "serverfull" computing to highlight this
difference.
● Serverless Applications: Applications that don't require server provisioning
or management. Developers focus solely on application logic.
● Major Serverless Computing Platforms:
○ AWS Lambda (Amazon)
○ Google Cloud Functions (Google)
○ Azure Functions (Microsoft)
● AWS Lambda:
○ Supports code in various programming languages.
○ Integrates with other AWS services like S3, API Gateway, DynamoDB,
and SNS.
○ Key Concepts:
■ Event Source: Triggers function execution (e.g., AWS services,
custom services).
■ Lambda Layers: Distribute libraries, custom runtimes, and
dependencies.
■ Log Stream: Helps analyze function execution and performance
through custom logging statements.
● Google Cloud Functions:
○ Provides a serverless environment for building and connecting cloud
services.
○ Key Concepts:
■ Events: Triggered by actions in cloud services (e.g., file
uploads, message publications).
■ Triggers: Define how functions respond to events.
■ Event Data: Metadata associated with events that provides
context to the function.
■ Stateless Execution: Functions maintain state outside the
framework (e.g., in Memcached).
● Azure Functions:
○ Allows developers to focus on code logic while Azure manages the
infrastructure.
○ Key Concepts:
■ Function: The core unit, containing code and configuration
(function.json).
■ Language Support: C#, Java, JavaScript, Python, and custom
handlers for other languages.
■ Automated Deployment: Supports various deployment options.
■ Troubleshooting Tools: Monitoring and testing tools provide
insights into application performance.
■ Flexible Pricing: Pay only for runtime in the Consumption plan,
with other plans offering specialized features.

Lecture 54: Sustainable Cloud Computing - I

● Sustainable Cloud Computing: Focuses on minimizing energy consumption


and carbon footprint while ensuring the reliability of cloud data centers
(CDCs). This approach considers environmental and social aspects of
computing.
● Challenges of Sustainable Cloud Computing:
○ Balancing service level agreements (SLAs) with energy efficiency.
Techniques like putting servers in sleep mode can impact SLA
compliance.
○ Managing energy consumption during peak demand while minimizing
carbon footprint.
○ The high energy consumption of CDCs due to the 24/7 availability of
cloud services.
○ Relocating data centers to optimize energy efficiency is a complex
task.
● Energy-Aware Resource Management: Needed to optimize energy use in
CDCs.
● Minimizing Carbon Footprint: Future CDCs need to reduce carbon
emissions and heat release to mitigate environmental impact.
● Conceptual Model for Sustainable Cloud Computing: A layered
architecture that manages cloud computing resources for energy efficiency
and sustainability.
○ Cloud Architecture: Includes IaaS, PaaS, and SaaS models.
○ Remote CDCs: Data centers in geographically diverse locations.
○ Cooling Manager: Monitors and manages temperature to prevent
overheating and performance issues.
○ Power Manager: Controls power distribution from renewable and
non-renewable sources. Grid energy is used for critical workloads to
ensure reliability.
● Benefits of Sustainable Cloud Computing:
○ Reduced energy consumption.
○ Lower electricity bills and operational costs.
● Tradeoffs in Sustainable Cloud Computing:
○ Balancing energy optimization with service reliability. Replicating
services for reliability increases energy consumption.
○ Dynamic Voltage and Frequency Scaling (DVFS) reduces energy but
can impact response times and SLA compliance.
● Components of Sustainable Cloud Computing:
○ Application Model.
○ Virtualization.
○ Waste Heat Utilization.
○ Thermal-Aware Scheduling.
○ Renewable Energy.
○ Resource-Targeted Energy Management.
○ Capacity Planning.

Lecture 55: Sustainable Cloud Computing - II

● Sustainable Cloud Computing: Focuses on reducing energy consumption


and carbon footprint in CDCs. The increasing demand for computing power
and the heat generated by dense server deployments present challenges to
sustainability.
● Challenges of Sustainable Cloud Computing:
○ Balancing the cost of IT infrastructure with the cost of managing power
and cooling systems.
○ Financial and environmental impact of energy consumption and carbon
emissions.
○ Meeting the ever-increasing user demands for cloud computing while
ensuring sustainability.
● Goals of Sustainable Cloud Computing:
○ Minimize energy consumption and carbon footprint.
○ Ensure the reliability of cloud data centers.
○ Develop energy-efficient and sustainable cloud computing to meet
growing user needs.
● Conceptual Model for Sustainable Cloud Computing: A layered
architecture that manages cloud resources for energy efficiency and
sustainability. This model includes components like:
○ Cloud Architecture (IaaS, PaaS, SaaS).
○ Remote CDCs.
○ Cooling Manager.
○ Power Manager.
○ Virtual Machine (VM) Resource Manager.
○ Green Resource Manager.
○ Thermal Profiling.
● Taxonomy of Sustainable Cloud Computing:
○ Application Design: Efficient application structure improves CDC
energy efficiency. Different types of applications (data parallel, function
parallel, message parallel) require different design considerations.
■ Key Considerations: Application Model, Workload Type, QoS
Mechanisms, Architecture, Response Time, Cost, Workload
Management.
○ Energy Management: Optimizing energy consumption across
processors, memory, storage, and cooling systems.
■ Key Considerations: CPU, Memory, Storage, Network,
Cooling, Static Management, Dynamic Management (Resource
Management, Resource Consolidation, Configuration).
○ Virtualization: Enables efficient resource allocation and management
in CDCs.
■ Key Considerations: VM Migration, VM Elasticity, VM Load
Balancing, VM Consolidation, Fault Tolerance, Scheduling.
○ Thermal-Aware Scheduling: Optimizes task scheduling to manage
heat distribution in CDCs and prevent server overheating.
■ Key Considerations: Architecture, Heat Modeling,
Thermometer, Scheduling, Monitoring, Ionization, Simulations.
○ Cooling Mechanisms: Efficiently managing cooling systems to
maintain optimal temperatures in CDCs.
■ Key Considerations: Airflow Management, Liquid Cooling, Free
Cooling, Heat Recovery.
○ Renewable Energy: Utilizing renewable energy sources (solar, wind,
hydropower) to power CDCs and reduce carbon footprint.
■ Key Considerations: Solar Panels, Wind Turbines,
Hydroelectric Power, Integration with Power Grid, Energy
Storage.
○ Waste Heat Utilization: Capturing and repurposing waste heat
generated by CDCs to improve overall energy efficiency.
■ Key Considerations: Heat Recovery Systems, District Heating,
Absorption Chillers.
○ Capacity Planning: Accurately forecasting and planning for future
resource needs (IT, cooling, power) based on workload patterns and
growth predictions.
■ Key Considerations: Workload Forecasting, Resource
Optimization, Scalability, IT Infrastructure Planning, Power
Management Planning, Cooling Capacity Planning.
○ Sustainability Metrics: Measuring and evaluating the sustainability
performance of cloud computing systems.
■ Key Considerations: Energy Consumption, Carbon Emissions,
Water Usage, Waste Generation, Resource Utilization,
Performance Metrics (e.g., response time, throughput), Cost,
User Satisfaction.

Lecture 56: Cloud Computing in the 5G Era

● 5G: The fifth generation of mobile networks, a new global wireless standard
designed to connect various devices, machines, and objects.
● Key Features of 5G:
○ Higher data speeds.
○ Ultra-low latency.
○ Increased reliability.
○ Massive network capacity.
○ Improved availability.
○ More uniform user experience.
● Benefits of 5G for Cloud Computing:
○ Enhanced distribution and diversity of computing and storage
resources.
○ Improved support for heterogeneous environments.
○ Closing the gap between resource-constrained devices and distant
cloud centers.
● Edge Computing in 5G: Brings cloud capabilities closer to the user, enabling
faster processing and lower latency.
● Mobile Edge Computing (MEC): A key enabler for 5G, providing cloud
resources at the edge of the network.
● 5G's Role in Meeting Network Traffic Needs:
○ Handles massive amounts of data generated by mobile devices and
IoT.
○ Supports the stringent QoS requirements of interactive applications.
○ Provides a heterogeneous environment for interoperability among
diverse devices.
● Applications of Edge Computing:
○ Healthcare.
○ Entertainment and multimedia.
○ Smart cities, transportation, and logistics.
○ Industrial automation.
○ AR/VR applications.
● Mobile Cloud Computing (MCC): Integrates cloud computing with mobile
networks, enabling resource sharing and service delivery to mobile devices.
● Synergy Between 5G and Cloud Computing: 5G's high bandwidth, low
latency, and reliability create a strong foundation for a more powerful and
efficient cloud computing ecosystem.

Lecture 57: CPS and Cloud Computing

● Cyber-Physical Systems (CPS): Integrate computational elements with


physical processes, enabling real-time monitoring, control, and
decision-making in various domains.
● Applications of CPS:
○ Smart transportation systems.
○ Precision agriculture and environmental monitoring.
○ Advanced manufacturing and robotics.
○ Healthcare and medical devices.
○ Smart grids and energy management.
● Cyber-Physical Cloud Computing: Integrates CPS with cloud computing to
provide a scalable and reliable platform for managing and processing large
amounts of data generated by CPS. This is also sometimes referred to as
Cloud CPS.
● Benefits of Cloud Computing for CPS:
○ Provides a centralized platform for data storage and processing.
○ Enables scalability to accommodate the growing data demands of
CPS.
○ Supports the development and deployment of sophisticated CPS
models and algorithms.
● Cyber-Physical Cloud Computing Architecture:
○ Sensors and Mobile Components: Collect data from the physical
environment.
○ Cyber-Physical System Models: Represent the behavior and
interactions of physical processes.
○ Cyber-Physical Cloud Platform: Connects the physical and cyber
components, providing services for data management, analysis, and
control.
○ Service Catalog: Offers a repository of CPS models and services that
can be provisioned and used by applications.
○ Runtime Services: Provide the necessary infrastructure and support
for executing CPS applications.

Lecture 58: Case Study I (Spatial Cloud Computing)

● Spatial Cloud Computing: Leverages cloud computing for the processing,


analysis, and management of spatial data.
● Spatial Data: Any data that has a location component or geographic
reference.
○ Spatial Objects: Features with location information (e.g., buildings,
roads).
○ Non-Spatial Data (Attribute Data): Descriptive information associated
with spatial objects (e.g., name, type).
● Spatial Analysis: Extracting meaningful information and insights from spatial
data to understand patterns, trends, and relationships.
● Applications of Spatial Analysis:
○ Crime hotspot mapping.
○ Flood and drought analysis.
○ Urban planning.
○ Transportation management.
○ Environmental monitoring.
● Challenges of Spatial Data Analysis:
○ Large data volumes.
○ Spatiotemporal nature of data.
○ Integration of data from heterogeneous sources.
● Benefits of Cloud Computing for Spatial Analysis:
○ Provides scalable computing and storage resources to handle large
datasets.
○ Enables efficient data discovery, access, and utilization.
○ Supports the development and deployment of complex spatial analysis
algorithms.
● Spatiotemporal Cloud Computing: Combines cloud computing with
geospatial sciences to enable efficient spatial data processing and analysis.
○ Driven by geospatial principles to optimize data management and
analysis.
○ Supports geospatial discoveries within a distributed computing
environment.

Lecture 59: Case Study II (Internet of Health Things) (Part-A)

● Internet of Health Things (IoHT): The application of IoT technologies in the


healthcare domain to collect, analyze, and manage health-related data.
● Cloud-to-Things Continuum: An integrated framework that connects IoT,
edge, fog, and cloud computing layers to provide seamless data processing
and service delivery.
● Benefits of Using Edge, Fog, and Cloud for IoHT:
○ Reduced latency for real-time applications.
○ Lower network congestion.
○ Cost savings by reducing reliance on cloud resources.
○ Improved support for location-aware applications.
○ Enhanced data security and privacy.
● Challenges of Implementing Edge, Fog, and Cloud for IoHT:
○ Managing the complexity of a distributed infrastructure.
○ Ensuring proper orchestration and communication between layers.
○ Addressing data security and privacy concerns.
● Case Study: Fog, Edge, Cloud Computing for IoHT:
○ Focuses on developing an IoHT model for health monitoring and alert
generation.
○ Uses the iFogSim simulator to evaluate the performance of the model.
○ Employs a hierarchical topology with IoT devices, edge devices, fog
nodes, and the cloud.
● Hierarchical Topology:
○ IoT Devices (IoHT): Collect health data from sensors.
○ Edge Devices: Perform initial data processing and filtering.
○ Fog Nodes: Handle more complex data analysis and decision-making.
○ Cloud: Provides centralized storage, advanced analytics, and
long-term data management.

Lecture 60: Case Study II (Internet of Health Things) (Part-B)

● Case Study: Cloud, Edge, Fog Computing for IoHT:


○ A health monitoring application using IoT, edge, fog, and cloud
computing.
○ Designed to reduce latency, network usage, and overall system costs.
● Objectives:
○ Develop a fog-edge-cloud-based health model for efficient data
management and processing.
○ Create a customized wearable device for health parameter collection.
○ Evaluate the system using the iFogSim simulator and implement it
using hardware.
○ Explore the integration of dew computing for enhanced robustness and
offline functionality.
● Methodology:
○ Conceptualization and modeling.
○ Simulation using iFogSim.
○ Hardware implementation.
○ Performance evaluation and analysis.
● System Workflow:
○ Data collection from body sensors.
○ Data filtering and processing.
○ Event handling and alert generation.
○ Data transmission to the cloud for storage and further analysis.
● Application Placement:
○ Client module on the mobile device or edge device.
○ Data filtering module on the fog node or in the cloud.
○ Data processing module on the fog node or in the cloud.
○ Event handling module on the fog node or in the cloud.
○ Confirmatory module in the cloud.
● Hardware Implementation:
○ Customized body sensors for data collection.
○ Raspberry Pi as a fog device.
○ AWS as the external cloud platform.
● Activity Detection Using Accelerometer:
○ Data extraction, smoothening, feature extraction, and classification
using a k-nearest neighbor classifier.
● Cardiac Attack Prediction:
○ Based on heart rate and blood pressure readings, the system
generates alerts if values exceed predefined thresholds.
● Dew Computing Integration:
○ Enables on-premise data processing and storage, providing offline
functionality and reducing reliance on cloud connectivity.
● Benefits of the Integrated Approach:
○ Reduced latency and network congestion.
○ Lower cloud computing costs.
○ Improved resource utilization with dew computing.
○ Enhanced data security and privacy by processing sensitive data
locally.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy