0% found this document useful (0 votes)
2 views42 pages

cloud computing

Cloud computing involves storing and accessing data on remote servers via the internet, offering benefits like cost efficiency, scalability, and accessibility. However, it also presents challenges such as security concerns, dependency on internet connectivity, and potential downtime. The document further discusses the evolution of cloud computing through mainframe, cluster, and grid computing, along with various computing paradigms and case studies of companies utilizing these technologies.
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)
2 views42 pages

cloud computing

Cloud computing involves storing and accessing data on remote servers via the internet, offering benefits like cost efficiency, scalability, and accessibility. However, it also presents challenges such as security concerns, dependency on internet connectivity, and potential downtime. The document further discusses the evolution of cloud computing through mainframe, cluster, and grid computing, along with various computing paradigms and case studies of companies utilizing these technologies.
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/ 42

Cloud computing

Unit 1

Cloud Computing means storing and accessing the data and programs on remote servers that
are hosted on the internet instead of the computer's hard drive or local server. Cloud computing
is also referred to as Internet-based computing, it is a technology where the resource is provided
as a service through the Internet to the user. The data that is stored can be files, images,
documents, or any other storable document.
How Cloud Computing Works?
Cloud computing helps users in easily accessing computing resources like storage and
processing over the internet rather than local hardware. Here we are discussing how it works in
a nutshell:
• Infrastructure: Cloud computing depends on remote network servers hosted on
internet for store, manage, and process the data.
• On-Demand Access: Users can access cloud services and resources based on-
demand they can scale up or down the without having to invest for physical
hardware.
• Types of Services: Cloud computing offers various benefits such as cost saving,
scalability, reliability and accessibility it reduces capital expenditures, improves
efficiency.

Advantages of Cloud Computing


The following are main advantages of Cloud Computing:
1. Cost Efficiency
Cloud Computing provides flexible pricing to the users with the principal pay-as-you-go model.
It helps in lessening capital expenditures of Infrastructure, particularly for small and medium-
sized businesses companies.
2. Flexibility and Scalability
Cloud services facilitate the scaling of resources based on demand. It ensures the efficiency of
businesses in handling various workloads without the need for large amounts of investments in
hardware during the periods of low demand.
3. Collaboration and Accessibility
Cloud computing provides easy access to data and applications from anywhere over the
internet. This encourages collaborative team participation from different locations through
shared documents and projects in real-time resulting in quality and productive outputs.
4. Automatic Maintenance and Updates
AWS Cloud takes care of the infrastructure management and keeping with the latest software
automatically making updates they is new versions. Through this, AWS guarantee the
companies always having access to the newest technologies to focus completely on business
operations and innvoations.

Disadvantages Of Cloud Computing


The following are the main disadvantages of Cloud Computing:
1. Security Concerns
Storing of sensitive data on external servers raised more security concerns which is one of the
main drawbacks of cloud computing.
2.Downtime and Reliability
Even though cloud services are usually dependable, they may also have unexpected
interruptions and downtimes. These might be raised because of server problems, Network
issues or maintenance disruptions in Cloud providers which negative effect on business
operations, creating issues for users accessing their apps.
3. Dependency on Internet Connectivity
Cloud computing services heavily rely on Internet connectivity. For accessing the cloud
resources the users should have a stable and high-speed internet connection for accessing and
using cloud resources. In regions with limited internet connectivity, users may face challenges
in accessing their data and applications.
4. Cost Management Complexity
The main benefit of cloud services is their pricing model that coming with Pay as you go but it
also leads to cost management complexities. On without proper careful monitoring and
utilization of resources optimization, Organizations may end up with unexpected costs as per
their use scale. Understanding and Controlled usage of cloud services requires ongoing
attention.

History of cloud computing

Distributed systems- A distributed system is a collection of independent computers that appears


to its users as a single coherent system. Distributed systems often exhibit other properties such
as heterogeneity, openness, scalability, transparency, concurrency, continuous availability, and
independent failures.

Three major milestones have led to Cloud computing: mainframe computing, cluster computing,
and Grid computing.

What is mainframe computing?


These were the first examples of large computational facilities leveraging multiple processing
units. Mainframes were powerful, highly reliable computers specialized for large data movement
and massive IO operations. They were mostly used by large organizations for bulk data
processing such as online transactions, enterprise resource planning, and other operations
involving the processing of significant amount of data.

Advantages of mainframe computing

• High Reliability and Availability – Very low downtime; built for critical operations.
• Scalability – Can handle thousands of users and massive workloads simultaneously.
• Security – Strong inbuilt security features for sensitive data.
• Performance – Excellent at handling large-scale transaction processing.
• Centralized Management – Easier to monitor and control from one system.

Disadvantages of mainframe computing

• Expensive – High initial cost and maintenance costs.


• Proprietary Systems – Limited flexibility due to vendor lock-in.
• Complex Operation – Requires highly skilled staff to manage.
• Less Suitable for Modern Web Applications – Not ideal for distributed or cloud-based
models.

What is Cluster Computing?


Cluster Computing involves connecting two or more homogeneous computers to work as a
unified system. This approach is commonly used for tasks that require high computational power
and reliability. Here are the key characteristics:
Advantages of Cluster Computing
• Homogeneity: Since the computers in a cluster are of the same type, they are easier
to manage and maintain.
• High Performance: Clusters can offer significant computational power and speed by
pooling resources.
• Reliability: Clusters can provide redundancy and fault tolerance if one node fails.
Disadvantages of Cluster Computing
• Limited Scalability: Clusters are typically limited to a single location, which can
restrict their scalability.
• Cost: The requirement for homogeneous hardware can be costly.

What is Grid Computing?


Grid Computing refers to a network of computers, which can be either homogeneous or
heterogeneous, working together across different locations to perform complex tasks. It
leverages the unused processing power of multiple machines to achieve its goals. Here are the
defining features:
Advantages of Grid Computing
• Flexibility: Grid Computing can integrate a variety of hardware and operating
systems.
• Scalability: It can harness resources from a global network, allowing for greater
scalability.
• Cost Efficiency: By utilizing existing unused resources, Grid Computing can be more
cost-effective.
Disadvantages of Grid Computing
• Complexity: Managing and coordinating a grid of diverse machines can be complex.
• Performance Variability: The performance might vary due to the diversity of the
participating machines and network latency.
1. Service-Oriented Computing (SOC)

Definition:

Service-Oriented Computing is a computing paradigm where software components are


provided as services that can be discovered, accessed, and reused over a network. These
services follow a standardized interface and communicate through well-defined protocols (e.g.,
SOAP, REST).

Key Concepts:

• Based on Service-Oriented Architecture (SOA)


• Services are modular, reusable, and loosely coupled
• Services can be composed into larger applications (service composition)

Features:

• Platform-independent services
• Uses standard protocols (HTTP, XML, WSDL)
• Interoperability between different systems
• Encourages reusability and flexibility

Examples:

• A web service that verifies credit cards


• Weather forecast API consumed by mobile apps
• Microservices architecture in cloud apps
Advantages:

• High flexibility and scalability


• Encourages reusability and modular development
• Supports integration across different platforms and languages

Disadvantages:

• Overhead due to web protocols


• Can become complex to manage with many services
• Security and transaction management are harder

2. Utility-Oriented Computing (UOC)

Definition:

Utility-Oriented Computing treats computing resources (like processing power, storage, and
network) as metered services, similar to public utilities (electricity, water). Users pay as they go
and only for what they use.

Key Concepts:

• Computing as a utility service


• Resources are provisioned on demand
• Typically implemented via cloud computing

Features:

• Pay-per-use pricing model


• Elasticity – scale up or down based on needs
• On-demand resource provisioning
• Virtualization to pool and allocate resources efficiently

Examples:

• Amazon Web Services (AWS)


• Microsoft Azure
• Google Cloud Platform (GCP)

Advantages:

• Cost-effective – no need for upfront investment


• Elastic scaling as per workload
• Efficient resource utilization
• Suitable for startups and enterprises alike
Disadvantages:

• Dependence on providers
• Data privacy and security concerns
• Latency in remote access
• Billing complexity for variable usage

Key Differences Between SOC and UOC

Computing Platforms And Technologies

1. Amazon Web Services (AWS)

Type: Infrastructure as a Service (IaaS)

• Key Services:
o EC2 (Elastic Compute Cloud):
▪ Provides customizable virtual hardware for deploying systems.
▪ Supports various configurations (GPU, cluster instances).
▪ Instances can be deployed via:
▪ AWS Web Console
▪ Web Service APIs (for multiple languages)
▪ Features:
▪ Save running instance as an image.
▪ Use custom templates for new deployments.
o S3 (Simple Storage Service):
▪ On-demand persistent storage.
▪ Data stored in buckets (containers of binary objects).
▪ Supports large objects (files to disk images).
▪ Enriched with metadata.
• Additional Services:
o Networking
o Caching
o DNS
o Databases (SQL/NoSQL)

2. Google AppEngine

Type: Platform as a Service (PaaS)

• Purpose: Scalable runtime environment for Web applications.


• Features:
o Dynamically scales based on demand.
o Provides secure execution and several services:
▪ In-memory caching
▪ Scalable data store
▪ Job queues
▪ Messaging
▪ Cron tasks (scheduled jobs)
o SDK for local development and testing.
o Cost control through quotas.
• Supported Languages: Python, Java, Go

3. Microsoft Azure

Type: PaaS + IaaS

• Structure: Based on roles, which define application logic and deployment units.
o Web Role: For web applications.
o Worker Role: For background processing and workloads.
o Virtual Machine Role: Customizable computing environments with OS-level
control.
• Additional Services:
o Storage (relational and blob)
o Networking
o Caching
o Content Delivery Network (CDN)

4. Hadoop (Apache Hadoop)

Type: Open Source Framework for Big Data Processing

• Core Model: MapReduce (developed by Google)


o Map Function: Transforms and synthesizes input data.
o Reduce Function: Aggregates the results of map outputs.
• Deployment:
o Developers specify input data and map/reduce functions.
o Hadoop handles execution over distributed systems.
• Used By:
o Yahoo! (major contributor)
o Academic institutions
• Key Feature: Scales on commodity hardware.
5. Force.com / Salesforce.com

Type: Platform as a Service (PaaS)

• Force.com: Cloud platform for building social enterprise apps.


• Salesforce.com: SaaS solution for Customer Relationship Management (CRM).
• Features:
o Component-based application development.
o Includes design tools for:
▪ Data models
▪ Business logic (rules/workflows)
▪ User interfaces
o Integrates with AppExchange.
o Fully hosted and accessed via Web services.

6. Manjrasoft Aneka

Type: PaaS

• Purpose: Rapid development and deployment of scalable applications.


• Key Features:
o Supports multiple programming models:
▪ Tasks
▪ Distributed Threads
▪ Map-Reduce
o Deployable on:
▪ Clusters
▪ Networked desktops
▪ Public/Private Clouds
o Service-Oriented Runtime Environment:
▪ Dynamic resource integration
▪ Easily extensible with new features
o Managed Services:
▪ Scheduling
▪ Execution
▪ Billing
▪ QoS
▪ Storage
Case studies example

AWS (Amazon Web Services) – Case Study: Netflix

Company: Netflix
Use Case: Global video streaming
Problem: Needed to scale rapidly to serve millions of users worldwide, manage huge storage
needs, and ensure high availability.
Solution:

• Used Amazon EC2 for compute power to transcode and stream content.
• Used Amazon S3 to store thousands of video files with global accessibility.
• Leveraged CloudFront (CDN) and Elastic Load Balancer for global performance and
reliability.

Result: Achieved high availability, rapid global expansion, and scalable infrastructure.

Google AppEngine – Case Study: Khan Academy

Organization: Khan Academy


Use Case: Online education platform with millions of students
Problem: Needed a scalable platform for web apps with global accessibility.
Solution:

• Deployed their learning app on Google AppEngine.


• Took advantage of scalable datastore, task queues, and auto-scaling features.

Result: Handled traffic spikes (like during pandemic lockdowns) and served content to global
users efficiently without infrastructure worries.

Microsoft Azure – Case Study: BMW

Company: BMW
Use Case: Connected Car Platform
Problem: Needed a scalable, secure platform to connect cars with intelligent cloud services.
Solution:

• Used Azure IoT Hub to connect car systems.


• Stored telematics and sensor data in Azure Blob Storage.
• Processed data with Azure Stream Analytics and Machine Learning services.

Result: Created a real-time, connected experience for users with predictive maintenance,
navigation, and driving insights.

Hadoop – Case Study: Facebook

Company: Facebook
Use Case: User data processing and analytics
Problem: Required to analyze massive data sets (user clicks, likes, posts) every day.
Solution:

• Built a massive Hadoop cluster to run MapReduce jobs.


• Used Hadoop to process logs and generate insights for improving user experience and ad
targeting.

Result: Enabled real-time recommendations and optimized ad delivery, contributing to revenue


growth.

Force.com / Salesforce.com – Case Study: American Red Cross

Organization: American Red Cross


Use Case: Disaster response coordination
Problem: Needed a centralized system to manage volunteer coordination and donor
engagement.
Solution:

• Used Salesforce CRM to manage relationships.


• Built custom apps on Force.com for real-time volunteer deployment and resource tracking.

Result: Improved coordination during emergencies and boosted donor engagement through
targeted campaigns.

Manjrasoft Aneka – Case Study: GoFront Group (China)

Company: GoFront Group (Chinese locomotive manufacturer)


Use Case: 3D rendering of locomotive designs
Problem: High rendering time and resource bottlenecks
Solution:

• Deployed Aneka platform on their network of computers.


• Used task-based parallelism for distributing rendering jobs.

Result: Reduced rendering time from 3 days to 3 hours, enabling faster design iterations and
cost savings.
Parallel and distributed computing

Unit 2

What is Parallel Computing?


In parallel computing multiple processors performs multiple tasks assigned to them
simultaneously. Memory in parallel systems can either be shared or distributed. Parallel
computing provides concurrency and saves time and money.
Examples
Blockchains, Smartphones, Laptop computers, Internet of Things, Artificial intelligence and
machine learning, Space shuttle, Supercomputers are the technologies that uses Parallel
computing technology.
Advantages of Parallel Computing
• Increased Speed: In this technique, several calculations are executed concurrently
hence reducing the time of computation required to complete large scale problems.
• Efficient Use of Resources: Takes full advantage of all the processing units it is
equipped with hence making the best use of the machine’s computational power.
• Scalability: Also the more processors built into the system, the more complex
problems can be solved within a short time.
• Improved Performance for Complex Tasks: Best suited for activities which involve a
large numerical calculation like, number simulation, scientific analysis and modeling
and data processing.
Disadvantages of Parallel Computing
• Complexity in Programming: Parallel writing programming that is used in organizing
tasks in a parallel manner is even more difficult than that of serial programming.
• Synchronization Issues: Interaction of various processors when operating
concurrently can become synchronized and result in problem areas on the overall
communication.
• Hardware Costs: The implementation of parallel computing does probably involve
the use of certain components such as multi-core processors which could possibly be
costly than the normal systems.

What is Distributed Computing?


In distributed computing we have multiple autonomous computers which seems to the user as
single system. In distributed systems there is no shared memory and computers communicate
with each other through message passing. In distributed computing a single task is divided
among different computers.
Examples
Artificial Intelligence and Machine Learning, Scientific Research and High-Performance
Computing, Financial Sectors, Energy and Environment sectors, Internet of Things, Blockchain
and Cryptocurrencies are the areas where distributed computing is used.
Advantages of Distributed Computing
• Fault Tolerance: The failure of one node means that this node is no longer part of the
computations, but that is not fatal for the entire computation since there are other
computers participating in the process thereby making the system more reliable.
• Cost-Effective: Builds upon existing hardware and has flexibility in utilizing
commodity machines instead of the need to have expensive and specific processors
for its use.
• Scalability: The distributed systems have the ability to scale and expand horizontally
through the addition of more machines in the networks and therefore they can take
on greater workloads and processes.
• Geographic Distribution: Distributed computing makes it possible to execute tasks at
different points thereby eliminating latencies.
Disadvantages of Distributed Computing
• Complexity in Management: The task of managing a distributed system itself can be
made more difficult since it may require dealing with the latency and/or failure of a
network as well as issues related to synchronizing the information to be distributed.
• Communication Overhead: Inter node communication requirements can actually
hinder the package transfer between nodes that are geographically distant and hence
the overall performance is greatly compromised.
• Security Concerns: In general, distributed systems are less secure as compared to
centralized system because distributed systems heavily depend on a network.
What is Parallel Processing?

Processing of multiple tasks simultaneously on multiple processors is called parallel processing.


The parallel program consists of multiple active processes (tasks) simultaneously solving a given
problem. A given task is divided into multiple subtasks using divide-and-conquer technique, and
each one of them is processed on different CPUs. Programming on multi–processor system using
divide-and-conquer technique is called parallel programming.

It helps to:

• Increase efficiency by utilizing multiple processors.


• Reduce execution time for large-scale computations.
• Enable real-time processing in applications like weather forecasting and AI.

Elements Of Distributed Computing

General Concepts and Definitions

A distributed system is a collection of independent computers that appears to its users as a


single coherent system. A distributed system is one in which components located at networked
computers communicate and coordinate their actions only by passing messages.

Components of a Distributed System

Hardware: At the very bottom layer, computer and network hardware constitute the physical
infrastructure; these components are directly managed by the operating system that provides the
basic services for: inter-process communication, process scheduling and management, and
resource management in terms of file system and local devices.
Operating system: The use of well-known standards at the operating system, and even more at
the hardware and network levels, allows easy harnessing of heterogeneous components and
their organization into a coherent and uniform system. For example, network connectivity
between different devices is controlled by standards, which allow them to interact seamlessly. At
the operating system level, inter-process communication services are implemented on top of
standardized communication protocols such as TCP/IP and UDP.

Middleware: The middleware layer leverages such services to build a uniform environment for
the development and deployment of distributed applications. This layer supports the
programming paradigms for distributed systems. By relying on the services offered by the
operating system, the middleware develops its own protocols, data formats, and programming
language or frameworks for the development of distributed applications.

Applications: The top of the distributed system stack is represented by the applications and
services designed and developed to use the middleware. These can serve several purposes and
often expose their features in the form of graphical user interfaces accessible locally or through
the Internet via a Web browser. For example, in the case of Cloud computing system, the use of
Web technologies is strongly preferred not only to interface distributed applications with the end
user but also to provide platform services aimed at building distributed systems.

System Architectural Styles

Client-server architecture

As the name suggests, client-server architecture consists of a client and a server. The server is
where all the work processes are, while the client is where the user interacts with the service and
other resources (remote server). The client can then request from the server, and the server will
respond accordingly. Typically, only one server handles the remote side; however, using multiple
servers ensures total safety.

The system is much more stable and secure, even though it isn’t as fast as a server. The
disadvantages of a distributed system are its single point of failure and not being as scalable as a
server.
In general, multiple clients are interested in such services and the server must be appropriately
designed to server requests coming from different clients efficiently. This consideration has
implications on both client design and server design. For the client design, we identify two major
models:

Thin-client Model. In this model, the load of data processing and transformation is put on the
server side, and the client has a light implementation that is mostly concerned with retrieving and
returning the data it is being asked for, with no considerable further processing.

Fat-client Model. In this model, the client component is also responsible for processing and
transforming the data before returning it back to the user, while the server features a relatively
light implementation mostly concerned with the management of access to the data.

Peer-to-peer (P2P) architecture


A peer-to-peer network, also called a (P2P) network, works on the concept of no central control
in a distributed system. A node can either act as a client or server at any given time once it joins
the network. A node that requests something is called a client, and one that provides something
is called a server. In general, each node is called a peer.

If a new node wishes to provide services, it can do so in two ways. One way is to register with a
centralized lookup server, which will then direct the node to the service provider. The other way
is for the node to broadcast its service request to every other node in the network, and whichever
node responds will provide the requested service.
Virtualization

Unit 3

Virtualization is a large umbrella of technologies and concepts that are meant to provide an
abstract environment—whether virtual hardware or an operating system—to run applications.

there is the ability of a computer program—or more in general a combination of software and
hardware—to emulate an executing environment separate from the one that hosts such program.
For example, running Windows OS on top of virtual machine, which itself is running on Linux OS.

Characteristics Of Virtualized Environments

Virtualization is a broad concept and it refers to the creation of a virtual version of something,
whether this is hardware, software environment, storage, or network. In a virtualized
environment, there are three major components: guest, host, and virtualization layer.

The guest represents the system component that interacts with the virtualization layer rather
than with the host as it would normally happen.

The host represents the original environment where the guest is supposed to be managed.

The virtualization layer is responsible for recreating the same or a different environment where
the guest will operate.

Characteristics:

Increased Security: The ability to control the execution of a guest in a completely transparent
manner opens new possibilities for delivering a secure, controlled execution environment. The
virtual machine represents an emulated environment in which the guest is executed.
Managed Execution: Virtualization of the execution environment does not only allow increased
security but a wider range of features can be implemented. In particular, sharing, aggregation,
emulation, and isolation are the most relevant.

(a) Sharing. Virtualization allows the creation of a separate computing environment


within the same host. In this way, it is possible to fully exploit the capabilities of
a powerful guest, which would be otherwise underutilized.
(b) Aggregation. It is not only possible to share the physical resource among
several guests, but virtualization also allows the aggregation, which is the
opposite process. A group of separate hosts can be tied together and
represented to guests as a single virtual host. This function is naturally
implemented in middleware for distributed computing
(c) Emulation. Guests are executed within an environment that is controlled by the
virtualization layer, which ultimately is a program. This allows for controlling
and tuning the environment that is exposed to guests.
(d) Isolation. Virtualization allows providing guests—whether they are operating
systems, ap plications, or other entities—with a complete separate environment,
in which they are executed. The guest performs its activity by interacting with an
abstraction layer, which provides access to the underlying resources

Portability: In the case of a hardware virtualization solution, the guest is packaged into a virtual
image that, in most of the cases, can be safely moved and executed on top of different virtual
machines. In the case of programming level virtualization, as implemented by the JVM or the .NET
runtime, the binary code representing application components (jars or assemblies). portability
allows having your own system always with you and ready to use, given that the re quired virtual
machine manager is available. This requirement is in general less stringent than having all the
applications and services you need available anywhere you go.

Taxonomy Of Virtualization Techniques

• Virtualization covers a wide range of emulation techniques that are applied to different
areas of computing.
• A classification of these techniques helps us better understand their characteristics and
use .
• The first classification discriminates against the service or entity that is being emulated.
• Virtualization is mainly used to emulate execution environments, storage, and networks.
• Among these categories, execution virtualization constitutes the oldest, most popular,
and most developed area. Therefore, it deserves major investigation and a further
categorization.
• We can divide these execution virtualization techniques into two major categories by
considering the type of host they require.
• Process-level techniques are implemented on top of an existing operating system, which
has full control of the hardware.
• System-level techniques are implemented directly on hardware and do not require - or
require a minimum of support from - an existing operating system
• Within these two categories we can list various techniques that offer the guest a different
type of virtual computation environment:
• bare hardware
• operating system resources
• low-level programming language
• application libraries.

• Execution virtualization :
• Execution virtualization includes all techniques that aim to emulate an execution
environment that is separate from the one hosting the virtualization layer.
• All these techniques concentrate their interest on providing support for the
execution of programs, whether these are the operating system, a binary
specification of a program compiled against an abstract machine model, or an
application. Therefore, execution virtualization can be implemented directly on top
of the hardware by the operating system, an application, or libraries dynamically or
statically linked to an application image
• Hardware-level virtualization:
• Hardware-level virtualization is a virtualization technique that provides an abstract
execution environment in terms of computer hardware on top of which a guest
operating system can be run .
• Hardware-level virtualization is also called system virtualization, since it provides
ISA to virtual machines, which is the representation of the hardware interface of a
system.
• Hardware-level virtualization is also called system virtualization .
• Hypervisors :
• A fundamental element of hardware virtualization is the hypervisor, or virtual
machine manager (VMM). It recreates a hardware environment in which
guest operating systems are installed. There are two major types of
hypervisors: Type I and Type II .
• Type I : hypervisors run directly on top of the hardware. Therefore, they take
the place of the operating systems and interact directly with underlying
hardware . This type of hypervisor is also called a native virtual machine
since it runs natively on hardware .

Type I

• Type II : hypervisors require the support of an operating system to provide


virtualization services. This means that they are programs managed by the
operating system, which interact with it hardware for guest operating
systems. This type of hypervisor is also called a hosted virtual machine
since it is hosted within an operating system .
Type II

• Hardware Virtualization Techniques :

• Full virtualization : Full virtualization refers to the ability to run a program, most likely
an operating system, directly on top of a virtual machine and without any modification,
as though it were run on the raw hardware. To make this possible, virtual machine
manager are required to provide a complete emulation of the entire underlying
hardware .

• Para - virtualization : This is a not-transparent virtualization solution that allows


implementing thin virtual machine managers. Paravirtualization techniques expose a
software interface to the virtual machine that is slightly modified from the host and, as
a consequence, guests need to be modified. The aim of paravirtualization is to provide
the capability to demand the execution of performance-critical operations directly on
the host .

• Partial virtualization : Partial virtualization provides a partial emulation of the


underlying hardware, thus not allowing the complete execution of the guest operating
system in complete isolation. Partial virtualization allows many applications to run
transparently, but not all the features of the operating system can be supported, as
happens with full virtualization

• Operating System-Level Virtualization :


• It offers the opportunity to create different and separated execution environments for
applications that are managed concurrently. Differently from hardware virtualization,
there is no virtual machine manager or hypervisor, and the virtualization is done
within a single operating system, where the OS kernel allows for multiple isolated user
space instances .

• Programming language-level virtualization


• Programming language-level virtualization is mostly used to achieve ease of
deployment of applications, managed execution, and portability across different
platforms and operating systems
• The main advantage of programming-level virtual machines, also called process virtual
machines, is the ability to provide a uniform execution environment across different
platforms. Programs compiled into byte code can be executed on any operating system
and platform for which a virtual machine able to execute that code has been provided .

• Application-level virtualization :
• The application-level virtualization is used when there is a desire to virtualize only one
application .
• Application virtualization software allows users to access and use an application from
a separate computer than the one on which the application is installed .
• Other types of virtualizations
• Other than execution virtualization, other types of virtualizations provide an abstract
environment to interact with. These mainly cover storage, networking, and client/server
interaction .

• Storage virtualization : It is a system administration practice that allows decoupling


the physical organization of the hardware from its logical representation. Using this
technique, users do not have to be worried about the specific location of their data,
which can be identified using a logical path. Storage virtualization allows us to harness
a wide range of storage facilities and represent them under a single logical file system.

• Network virtualization : Network Virtualization is a process of logically grouping


physical networks and making them operate as single or multiple independent
networks called Virtual Networks. It combines hardware appliances and specific
software for the creation and management of a virtual network

Pros of Virtualization

• Utilization of Hardware Efficiently: With the help of Virtualization Hardware is


Efficiently used by user as well as Cloud Service Provider. In this the need of Physical
Hardware System for the User is decreases and this results in less costly.In Service
Provider point of View, they will utilize the Hardware using Hardware Virtualization
which decrease the Hardware requirement from Vendor side.
• High Availability: One of the main benefit of Virtualization is that it provides advance
features which allow virtual instances to be available all the times.
• Disaster Recovery is efficient and easy: With the help of virtualization Data
Recovery, Backup, Duplication becomes very easy. In traditional method , if somehow
due to some disaster if Server system Damaged then the surety of Data Recovery is
very less. But with the tools of Virtualization real time data backup recovery and
mirroring become easy task and provide surety of zero percent data loss.
• Virtualization saves Energy: Virtualization will help to save Energy because while
moving from physical Servers to Virtual Server's, the number of Server's decreases
due to this monthly power and cooling cost decreases which will Save Money as
well.
• Quick and Easy Set up: In traditional methods Setting up physical system and
servers are very time-consuming. Firstly Purchase them in bulk after that wait for
shipment. When Shipment is done then wait for Setting up and after that again spend
time in installing required software etc. Which will consume very time. But with the
help of virtualization the entire process is done in very less time which results in
productive setup.
• Cloud Migration becomes easy: Most of the companies those who already have
spent a lot in the server have a doubt of Shifting to Cloud. But it is more cost-
effective to shift to cloud services because all the data that is present in their server's
can be easily migrated into the cloud server and save something from maintenance
charge, power consumption, cooling cost, cost to Server Maintenance Engineer etc.
• Resource Optimization: Virtualization allows efficient utilization of physical hardware
by running multiple virtual machines (VMs) on a single physical server. This
consolidation leads to cost savings in terms of hardware, power, cooling, and space

Cons of Virtualization

• High Initial Investment: While virtualization reduces costs in the long run, the initial
setup costs for storage and servers can be higher than a traditional setup.
• Complexity: Managing virtualized environments can be complex, especially as the
number of VMs increases.
• Security Risks: Virtualization introduces additional layers, which may pose security
risks if not properly configured and monitored.
• Learning New Infrastructure: As Organization shifted from Servers to Cloud. They
required skilled staff who can work with cloud easily. Either they hire new IT staff
with relevant skill or provide training on that skill which increase the cost of
company.
• Data can be at Risk: Working on virtual instances on shared resources means that
our data is hosted on third party resource which put's our data in vulnerable
condition. Any hacker can attack on our data or try to perform unauthorized access.
Without Security solution our data is in threaten situation.

Cloud Enabling Technology

What is a Data Center?


A data center is a centralized facility equipped with computing resources such as servers, storage
systems, networking equipment, and cooling infrastructure that is used for the delivery of cloud
services over the Internet. Data centers in cloud computing require high levels of reliability,
availability, and scalability. To achieve continuous operation and reduce the possibility of service
disruptions, they are built with redundancy and failover mechanisms, when need be. These
mechanisms include security measures such as access controls, encryption, and monitoring which
protect from unauthorized access and cyber threats only.

Why are Data Centers Important?


Data centers are important in cloud computing for many reasons:
• Infrastructure Hosting: Data centers are buildings or spaces where there is
equipment needed in order for it to function and maintain virtualized computer
resources supporting cloud computing. These hardware units have servers
(computers), disks or tapes with information on them (storage), connections between
different parts within businesses (networking), and air conditioners among other
things that cool them down.
• Scalability: Based on demand, cloud providers have the capacity to increase or
reduce computing resources due to Datacentercost-effectiveness. This way, it
enables cloud services to cater to, changing workloads while at the same time
maintaining their performance at an optimal level in terms of cost-effectiveness.
• Reliability and High Availability: Data centers have been made redundant and
failover mechanisms have been used to lessto and data centers and hardware
components.
• Security: Things, like access controls, encryption or intrusion detection systems,
and, physical security protocols among other measures, are done by data centers as
part of robust security measures to protect against cyber threats as well as prevent
unauthorized access.
• Efficiency and Sustainability: In order to cut down on running expenses and
environmental footprints, data centers try to optimize their resource use and be more
energy-effective. Technologies, like virtualization, automation,, and cooling systems
that save energy, are employed in order to get the most out of available resources
while using the least amount of electricity possible.

Role of Data Centers in Cloud Computing


Data centers serve as the foundation of cloud computing, enabling the delivery of a vast array of
services to users worldwide. They host the infrastructure that powers popular applications and
platforms, including social media networks, e-commerce websites, and enterprise software
solutions. Without the underlying infrastructure provided by data centers, the seamless
experience of accessing data and applications from any device, anywhere, would not be possible.

What is Containerization?
Containerization is the process of packing an application together with all its dependencies into
a container in order to allow the application to run consistently from one computing environment
to another, in simple terms containerization involves using the host OS kernel to run many
isolated instances of applications on the same machine, making it very lightweight and efficient
in deploying applications.

Containers vs. Virtual Machines (VMs)


Containers
• Architecture: All containers share the host OS kernel; however, the running user
spaces are isolated, making them lightweight.
• Boot Time: Containers have much less boot time typically in seconds, as they do not
need to boot a full OS.
• Isolation: Containers provide isolation at the process level, which is less strong
compared to VMs, but for many use cases this does not matter
• Resource Usage: Containers consume fewer resources because they do not need an
entire OS—only the necessary binaries and libraries.
Virtual Machines (VMs)
• Architecture: A hypervisor that runs on the host OS includes a full guest OS with
virtualized hardware.
• Resource Usage: Very high, as the full OS overhead is incurred for each instance.
• Isolation: Very good because each VM is a system on its own with its own OS.
• Boot Time: VMs typically have longer boot times because the full OS in a VM needs
to be initialized.
Cloud computing architecture

Unit 4

What Are The Types of Cloud Computing Services?

1. Infrastructure as a Service ( IaaS )


Infrastructure as a Service (IaaS) is a type of cloud computing that gives people access to IT
tools like virtual computers, storage, and networks through the internet. You don’t need to buy
or manage physical hardware. Instead, you pay only for what you use.
Here are some key benefits of using IaaS:

• Flexibility and Control: IaaS comes up with providing virtualized computing


resources such as VMs, Storage, and networks facilitating users with control over the
Operating system and applications.
• Reducing Expenses of Hardware: IaaS provides business cost savings with the
elimination of physical infrastructure investments making it cost-effective.
• Scalability of Resources: The cloud provides in scaling of hardware resources up or
down as per demand facilitating optimal performance with cost efficiency.

2. Platform as a Service ( PaaS )


Platform as a Service (PaaS) is a cloud computing model where a third-party provider offers the
software and hardware tools needed to develop, test, and run applications. This allows users
to focus on building their applications without worrying about managing servers or
infrastructure.
For example, AWS Elastic Beanstalk is a PaaS offered by Amazon Web Services that helps
developers quickly deploy and manage applications while AWS takes care of the needed
resources like servers, load balancing, and scaling.
Here are some key benefits of using PaaS:
• Simplifying the Development: Platform as a Service offers application development
by keeping the underlying Infrastructure as an Abstraction. It helps the developers to
completely focus on application logic ( Code ) and background operations are
completely managed by the AWS platform.
• Enhancing Efficiency and Productivity: PaaS lowers the Management of
Infrastructure complexity, speeding up the Execution time and bringing the updates
quickly to market by streamlining the development process.
• Automation of Scaling: Management of resource scaling, guaranteeing the program's
workload efficiency is ensured by PaaS.

3. Software as a Service (SaaS)


Software as a Service (SaaS) is a way of using software over the internet instead of installing it
on your computer. The software is hosted by a company, and you can use it just by logging in
through a web browser. You don’t need to worry about updates, maintenance, or storage the
provider takes care of all that.
A common example is Google Docs. You can write and share documents online without
downloading any software.
Here are some key benefits of using SaaS:

• Collaboration And Accessibility: Software as a Service (SaaS) helps users to easily


access applications without having the requirement of local installations. It is fully
managed by the AWS Software working as a service over the internet encouraging
effortless cooperation and ease of access.
• Automation of Updates: SaaS providers manage the handling of software
maintenance with automatic latest updates ensuring users gain experience with the
latest features and security patches.
• Cost Efficiency: SaaS acts as a cost-effective solution by reducing the overhead of IT
support by eliminating the need for individual software licenses.
Types of clouds

1. Public Cloud
• Public clouds are managed by third parties which provide cloud services over the
internet to the public, these services are available as pay-as-you-go billing models.
• They offer solutions for minimizing IT infrastructure costs and become a good option
for handling peak loads on the local infrastructure. Public clouds are the go-to option
for small enterprises, which can start their businesses without large upfront
investments by completely relying on public infrastructure for their IT needs.
• The fundamental characteristics of public clouds are multitenancy. A public cloud is
meant to serve multiple users, not a single customer. A user requires a virtual
computing environment that is separated, and most likely isolated, from other users.
Examples: Amazon EC2, IBM, Azure, GCP

Advantages of Public Cloud


The following are the advantages of public cloud:
• Public cloud is easily able to scale up and down resources as per the demand of
traffic and workload. It facilitates with performance optimization and cost efficiency.
• It works on pay-as-you-go cloud model and helps in resolving the investments needs
in hardware and infrastructure reducing overall costs.

Disadvantages of using Public Cloud


The following are the disadvantages of Public Cloud:
• It is difficult to trust and maintain data to a third-party provider may raise concerns
about control and ownership
• The shared infrastructure of public cloud resources increases the risk of data
breaches and unauthorized access. It raises security and privacy concerns.
• Public cloud comes with limited transparency about the underlying infrastructure
which may make it challenging to monitor and manage performance effectively.
2. Private cloud
• Private clouds are distributed systems that work on private infrastructure and provide
the users with dynamic provisioning of computing resources. Instead of a pay-as-you-
go model in private clouds, there could be other schemes that manage the usage of
the cloud and proportionally billing of the different departments or sections of an
enterprise. Private cloud providers are HP Data Centers, Ubuntu, Elastic-Private
cloud, Microsoft, etc.
Examples: VMware vCloud Suite, OpenStack, Cisco Secure Cloud, Dell Cloud Solutions, HP
Helion Eucalyptus

Advantages Of Private Cloud


• Customer information protection: In the private cloud security concerns are less
since customer data and other sensitive information do not flow out of private
infrastructure.
• Infrastructure ensuring SLAs: Private cloud provides specific operations such as
appropriate clustering, data replication, system monitoring, and maintenance, disaster
recovery, and other uptime services.
• Compliance with standard procedures and operations: Specific procedures have to
be put in place when deploying and executing applications according to third-party
compliance standards. This is not possible in the case of the public cloud.

Disadvantages Of Private Cloud


• The restricted area of operations: Private cloud is accessible within a particular area.
So the area of accessibility is restricted.
• Expertise requires: In the private cloud security concerns are less since customer
data and other sensitive information do not flow out of private infrastructure. Hence
skilled people are required to manage & operate cloud services.
3. Hybrid cloud
• A hybrid cloud is a heterogeneous distributed system formed by combining facilities
of the public cloud and private cloud. For this reason, they are also
called heterogeneous clouds.
• A major drawback of private deployments is the inability to scale on-demand and
efficiently address peak loads. Here public clouds are needed. Hence, a hybrid cloud
takes advantage of both public and private clouds.
• Examples: AWS Outposts, Azure Stack, Google Anthos, IBM Cloud Satellite, Oracle
Cloud at Customer

Benefits of Hybrid Cloud Computing


The following are the advantages of using Hybrid Cloud:
• Hybrid cloud is available at a cheap cost than other clouds because it is formed by a
distributed system.
• It works comes up with working fast with lower cost and facilitates in reducing the
latency of the data transfer process.
• Most important thing is security. A hybrid cloud is totally safe and secure because it
works on the distributed system network.

Disadvantages of Using Hybrid Cloud


The following are the disadvantages of using Hybrid Cloud:
• It's possible that businesses lack the internal knowledge necessary to create such a
hybrid environment. Managing security may also be more challenging. Different
access levels and security considerations may apply in each environment.
• Managing a hybrid cloud may be more difficult. With all of the alternatives and
choices available today, not to mention the new PaaS components and technologies
that will be released every day going forward, public cloud and migration to public
cloud are already complicated enough. It could just feel like a step too far to include
hybrid.
4. Community Cloud
• Community clouds are distributed systems created by integrating the services of
different clouds to address the specific needs of an industry, a community, or a
business sector. But sharing responsibilities among the organizations is difficult.
• In the community cloud, the infrastructure is shared between organizations that have
shared concerns or tasks. An organization or a third party may manage the cloud.
• Examples: CloudSigma, Nextcloud, Synology C2, OwnCloud, Stratoscale

Advantages of Using Community Cloud


The following are the advantages of using Community Cloud:
• Because the entire cloud is shared by numerous enterprises or a community,
community clouds are cost-effective.
• Because it works with every user, the community cloud is adaptable and scalable.
Users can alter the documents according to their needs and requirements.
• Public cloud is less secure than the community cloud, which is more secure than
private cloud.
• Thanks to community clouds, we may share cloud resources, infrastructure, and other
capabilities between different enterprises.

Disadvantages of using Community Cloud


The following are the disadvantages of using Community Cloud:
• Not all businesses should choose community cloud.
• Gradual adoption of data
• It's challenging for corporations to share duties.

Applications Of Community clouds


The following are the applications of community clouds:
• Media industry: Media companies are looking for quick, simple, low-cost ways for
increasing the efficiency of content generation. Most media productions involve an
extended ecosystem of partners. In particular, the creation of digital content is the
outcome of a collaborative process that includes the movement of large data, massive
compute-intensive rendering tasks, and complex workflow executions.
• Healthcare industry: In the healthcare industry community clouds are used to share
information and knowledge on the global level with sensitive data in the private
infrastructure.
• Energy and core industry: In these sectors, the community cloud is used to cluster a
set of solution which collectively addresses the management, deployment, and
orchestration of services and operations.
• Scientific research: In this organization with common interests in science share a
large distributed infrastructure for scientific computing.
What Is Data-Intensive Computing?

Unit 5

Data-intensive computing is concerned with production, manipulation, and analysis of large-scale


data in the range of hundreds of megabytes (MB) to petabytes (PB) and beyond.
Data-intensive computing focuses on a class of applications that deal with a large amount of
data. Several application fields, ranging from computational science to social networking,
produce large volumes of data that need to be efficiently stored, made accessible, indexed, and
analyzed.
MapReduce, is a popular programming model for creating data-intensive applications
and their deployment on clouds.

Real-World Examples:

• Astronomy: Telescopes generate hundreds of gigabytes per second.


• Bioinformatics: Analysis of terabyte-scale biological databases.
• Earthquake Simulations: Global sensors recording continuous vibrations.
• Telecom: Customer usage data ranges from 10–100 TB, used not just for billing but also
analytics.
• Social Media: Facebook manages 36 PB of data; Zynga processes 1 PB/day and adds
1,000 servers/week.

Characterizing Data-Intensive Computations

• These applications may be both data- and compute-intensive.


• Data sizes scale from terabytes to petabytes.
• Data is:
o Stored in multiple formats
o Spread across geographically distributed nodes
• Processing occurs in multistage analytical pipelines, including:
o Filtering
o Transformation
o Fusion
• Parallelism is a key feature—tasks can be distributed.
• Require:
o Efficient data management and retrieval
o High-speed querying
o Scalable distribution methods.

Challenges Ahead

• Data movement is expensive: Transferring terabytes affects performance.


• Data locality is critical: Computations must move closer to data.
Key Technical Challenges:

1. Scalable Algorithms: Handle large, evolving datasets efficiently.


2. Metadata Management: Handle complex, heterogeneous data sources.
3. High-Performance Platforms: Support in-memory, multi-TB structures.
4. Petascale File Systems: Reliable and high-speed.
5. Data Reduction Techniques: Use signatures for fast filtering.
6. Software Mobility: Move computation to the data location.
7. Hybrid Architectures: Handle multi-gigabyte data streams.
8. Software Integration: Dynamically create analytical pipelines from modules on different
platforms.

Historical Perspective

Key Milestones:

1. High-Speed Networks (1989–1991):


o Enabled remote visualization (MRI scans across cities).
o SC91 demonstrated distributed applications using high-speed TCP/IP.
2. Kaiser Project:
o Used WALDO system for:
▪ Real-time metadata cataloging.
▪ Remote access.
▪ Database integration of data.
3. MAGIC Project:
o Early environment supporting distributed, high-speed apps.
o Introduced DPSS (Distributed Parallel Storage Systems).
4. Clipper Project:
o Provided modular services for large-scale data computation.
o Focused on integration of compute and storage resources.
5. Data Grids:
o Emerged with Grid Computing.
o Offer replication, transfer, security, and discovery services.
o Support scientific computing where datasets are enormous (e.g., CERN, NASA).

Technologies for Data-Intensive Computing

Data-Intensive Computing divides into:

1. Storage Systems
2. Programming Platforms

Storage Systems
Why traditional DBMS fail:

• Cannot manage semi-structured/unstructured data (e.g., logs, web pages).


• Poor scalability in elastic cloud environments.
Trends driving new storage tech:

• Explosion of Big Data in science, social media, IoT.


• Importance of analytics in business strategy.
• Heterogeneous data: JSON, XML, audio, logs—not relational.
• Need for on-demand scalability (e.g., Facebook mining user data).

Key Technologies:

1. Distributed File Systems:


o Google File System (GFS)
o Hadoop Distributed File System (HDFS)
o Amazon S3 (object store)
2. NoSQL Databases:
o Support scalability, replication, and flexibility.
o Examples: Google Bigtable, Cassandra, MongoDB.

Programming Platforms
Limitations of traditional parallel programming:

• Developer must handle:


o Data partitioning
o Task distribution
o Fault tolerance

Enter: MapReduce

• Introduced by Google to simplify large-scale data processing.

Key Features:

• Two phases:
1. Map: Extracts key-value pairs.
2. Reduce: Aggregates values with the same key.
• Developers focus on data transformation logic, not infrastructure.

Benefits:

• Handles:
o Data locality
o Load balancing
o Fault tolerance
• Scales to thousands of nodes.

Variants:

• Dryad / DryadLINQ
• Twister (iterative MapReduce)
• Sawzall
• MapReduce-Merge

Popular Frameworks:

• Hadoop (open-source MapReduce + HDFS)


• Sector/Sphere
• Greenplum (MPP with MapReduce)
• Aster Data (MPP for big analytics)
Cloud Computing Management

Unit 6

This chapter evaluates why cloud computing matters, by analyzing its unique attributes, costs,
behavioral and economic implications, and obstacles.

1. Unique Attributes of Cloud Computing

• Scalability: Ability to scale applications to meet growing demands, enabling batch or


parallel processing.
• Elasticity: Dynamic provisioning of resources as needed; ideal for fluctuating workloads.
• Low Barrier to Entry: Minimal upfront investment; startups and small businesses can
leverage enterprise-level infrastructure.
• Utility Pricing: Pay-per-use model reduces CapEx and turns it into OpEx.
• These features redefine how apps are built, priced, and delivered.

2. Measuring Cloud Value: CapEx vs OpEx

Cloud computing allows businesses to:

• Shift Capital Expenditures (CapEx) → Operating Expenses (OpEx).


o No need to buy servers or data centers.
o Helps decouple growth from immediate access to capital.
o Encourages innovation with low financial risk.
• Business Growth Options:
o Buy in-house infrastructure.
o Lease equipment.
o Outsource to managed services.
o OR use cloud platforms with on-demand pricing.

3. Early Adopters and Ideal Applications

Top 10 use cases (Jitendra Pal Thethi, Infosys):

1. Messaging & collaboration


2. Cross-enterprise integration
3. Infrastructure consolidation
4. Web 2.0 companies
5. Content delivery services (CDNs)
6. Data analytics
7. Enterprise mobility
8. CRM
9. Test labs
10. Backup & archival storage

These users benefit from scalability, large datasets, and ubiquitous access.
4. Laws of Cloudonomics (Joe Weinman)

From GigaOM article on cloud benefits:

1. Utility services cost less due to aggregation.


2. On-demand resources beat fixed capacity.
3. High availability is too expensive to achieve with physical assets.
4. Aggregated demand reduces variability.
5. Multi-tenancy boosts utilization.
6. Rapid provisioning improves time-to-market.
7. Usage-based billing avoids overpayment.
8. No need to pre-purchase capacity.
9. Risks shift to provider.
10. Scale + scope = lower marginal cost.

5. Cloud Obstacles and Technical Challenges

Despite advantages, cloud has limitations:

• Scalability Illusions: Capacity is not infinite; peak demand = performance degradation.


• Complex Pricing: Nonlinear and unpredictable. Provisioning errors are costly.
• Outages: Even top vendors (like AWS, Azure) suffer downtime.
• Vendor Lock-in: Especially at PaaS and SaaS levels.
• Compliance & Privacy: Vary globally; require encryption, VLANs, etc.
• Limited Monitoring Tools: Lack of control compared to on-premises solutions

6. Behavioral Barriers to Cloud Adoption

According to behavioral economics (Dan Ariely, Joe Weinman):

1. People are risk/loss averse.


2. Prefer flat-rate pricing over usage-based models.
3. Desire control and anonymity.
4. Fear of change creates inertia.
5. Endowment effect: Value what they own.
6. Status quo bias: Invest in what’s familiar.
7. Favor immediate rewards over future benefits.
8. Prefer “free” options.
9. Need for status in owning infrastructure.
10. Choice paralysis delays decision-making

7. Right-Sizing Cloud Resources

• Case Study: Accounting Firm


o Spikes in demand during tax season.
o Buying infrastructure for max demand (DMAX) leads to idle resources most of the
year.
o Using cloud, firm can scale up/down monthly:
▪Q1/Q4: 1 Compute Unit (CU)
▪ Q2 (tax season): 4 CUs
▪ Q3: 2 CUs
o Enables cost-effective and efficient scaling

8. Cloud Cost Calculations

• CostCLOUD Formula:

CostCLOUD = Σ(UnitCost x (Revenue – Cost))

Includes:

o Instance usage (CPU hours)


o Storage used
o Transactions
o Data transfer (in/out)
• TCO (Total Cost of Ownership):
o Used for lifetime cost analysis.
o ROI can be calculated by comparing opportunities enabled by cloud.
• Tools:
o AWS Monthly Calculator
o Azure ROI Wizard
o Google Cloud Pricing Tool

9. Service Level Agreements (SLAs)

• SLAs define:
o Uptime (e.g., 99.95% for Azure)
o Latency and performance
o Response times
o Warranties and penalties
• Enforceability varies:
o May need legal review (some are not legally binding).
o Large customers may negotiate better SLAs.
• Example: Microsoft Azure publishes SLAs for each component separately

10. Licensing Models in Cloud

• Traditional software licensing (e.g., per-machine) doesn't fit cloud's dynamic provisioning.
• Cloud models demand:
o Granular, usage-based licensing.
o Better license tracking across multiple tenants.
o Flexibility in provisioning and deprovisioning instances
Introduction to Cloud Security

Unit 7

• Cloud computing brings valuable features but also serious security challenges.
• Key issue: Shared systems and outsourced operations increase complexity.
• Security tools and mechanisms must adapt to multi-tenant, virtualized environments.

2. Securing the Cloud

• The internet is resilient but not secure by design.


• Cloud computing expands the attack surface.
• Security challenges are worsened by:
o Pooled resources
o Virtualization
o Outsourcing

Key Risk Areas Identified by Gartner Group:

• Auditing
• Data integrity
• e-Discovery for legal compliance
• Privacy
• Recovery
• Regulatory compliance

Steps to Evaluate Cloud Security Risks:

1. Identify resources to move to the cloud.


2. Assess sensitivity (privacy, access control, availability).
3. Understand risks of different cloud types (public, private, hybrid, community).
4. Consider service models (IaaS, PaaS, SaaS) and their impact on security roles.
5. Evaluate provider’s methods of data storage and transfer.

3. Security Boundaries

• Security boundary defines:


o What security is built-in.
o Who (vendor/customer) is responsible.
• Based on deployment (public/private) and service models (IaaS, PaaS, SaaS).

CSA (Cloud Security Alliance):

• Provides security guidance in 13 domains, including:


o Identity and access management
o Encryption/key management
o Governance, compliance, disaster recovery
4. Security Service Boundary & Responsibility

• IaaS: Least built-in security; most responsibility lies with the customer.
• PaaS: Middleware and runtime security by vendor; app and UI security by customer.
• SaaS: Vendor responsible for entire stack; highest level of built-in security.

5. Security Mapping

• Mapping required security features to actual capabilities of the cloud model.


• Identify missing security mechanisms and establish third-party controls or SLAs.
• Compliance requirements (e.g., PCI-DSS, HIPAA, SOX) must be mapped too.

6. Securing Data

• Most important security concern: Data security (in-transit and at-rest).


• Mechanisms include:
o Access control
o Authentication and Authorization
o Auditing

Brokered Cloud Storage Access:

• Use of proxy and broker:


o Proxy interfaces with client (limited trust).
o Broker handles secure access to cloud storage.
o Separation of roles helps minimize security risks.

Encryption:

• Use of strong encryption for:


o Data at rest
o Data in transit
• Cloud vendors may support multiple keys and storage zones (e.g., AWS, Azure).

7. Auditing and Compliance

• Important for regulatory compliance (e.g., ISO/IEC 27001, SAS70 Type II).
• Clients must ensure:
o Contracts allow auditing
o Third-party services also comply
o Evidence is collected for legal purposes
o SLA clauses are clear on security obligations

8. Identity and Presence

• Identity Management is crucial for access control.


• Identity must be:
o Established
o Authenticated
o Portable
o Mapped to services

Standards Used:

• OpenID, SAML – for authentication.


• OAuth – for authorization without sharing credentials.
• Windows Azure Identity:
o Uses claims-based identity.
o Supports federated identity via Active Directory Federation Services.

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