Cloud Computing - zoo.cs.yale.eduzoo.cs.yale.edu/classes/cs426/2013/lec/131113-cs426-cloud.pdf ·...

Post on 11-Jun-2020

8 views 5 download

Transcript of Cloud Computing - zoo.cs.yale.eduzoo.cs.yale.edu/classes/cs426/2013/lec/131113-cs426-cloud.pdf ·...

Cloud Computing

Ennan ZhaiComputer Science at Yale University

ennan.zhai@yale.edu

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

What’s the Cloud Computing?

Cloud computing is a business model for enabling convenient

network access to a shared pool of configurable resources

which can be rapidly provisioned and released with minimal

management effort or service provider interaction.

--- according to NIST(National Institute of Standards and Technology)

What’s the Cloud Computing?

Have You Used the Cloud?

Have You Used the Cloud?

Have You Used the Cloud?

Have You Used the Cloud?

Have You Used the Cloud?

Have You Used the Cloud?

Why We Like It?

• Why users like it? - Do not care where it is, it is “just there”- Access from “any” platform

• Why CS researchers like it? - High-performance computation with less money- Lots of hard and interesting challenges

Why We Like It?

• Why users like it? - Do not care where it is, it is “just there”- Access from “any” platform

• Why CS researchers like it? - High-performance computation with less money- Lots of hard and interesting challenges

Why We Like It?

• Why users like it? - Do not care where it is, it is “just there”- Access from “any” platform

• Why CS researchers like it? - High-performance computation with less money- Lots of hard and interesting challenges

Why We Like It?

What Kinds of Clouds Exist Now?

• Three types of services:- Software as a Service (SaaS)

- Analogy: Restaurant. Prepares&serves entire meal, does the dishes, etc

- Platform as a Service (PaaS)- Analogy: Take-out food. Prepares meal but does not serve it.

- Infrastructure as a Service (IaaS)- Analogy: Grocery store. Provides raw ingredients.

What Kinds of Clouds Exist Now?

• Three types of services:- Software as a Service (SaaS)

- Analogy: Restaurant. Prepares&serves entire meal, does the dishes, etc

- Platform as a Service (PaaS)- Analogy: Take-out food. Prepares meal but does not serve it.

- Infrastructure as a Service (IaaS)- Analogy: Grocery store. Provides raw ingredients.

What Kinds of Clouds Exist Now?

• Three types of services:- Software as a Service (SaaS)

- Analogy: Restaurant. Prepares&serves entire meal, does the dishes, etc

- Platform as a Service (PaaS)- Analogy: Take-out food. Prepares meal but does not serve it.

- Infrastructure as a Service (IaaS)- Analogy: Grocery store. Provides raw ingredients.

What Kinds of Clouds Exist Now?

• Three types of services:- Software as a Service (SaaS)

- Analogy: Restaurant. Prepares&serves entire meal, does the dishes, etc

- Platform as a Service (PaaS)- Analogy: Take-out food. Prepares meal but does not serve it.

- Infrastructure as a Service (IaaS)- Analogy: Grocery store. Provides raw ingredients.

What Kinds of Clouds Exist Now?

Software as a Service (SaaS)

Software as a Service (SaaS)

Hardware

Middleware

Application

Cloud Provider (i.e., SaaS Provider)

Software as a Service (SaaS)

Hardware

Middleware

Application

Cloud Provider (i.e., SaaS Provider)

• SaaS provider offers an entire application- Word processor, spreadsheet, CRM software, etc.- Customer pays cloud provider- Example: Google Apps, Salesforce.com, etc.

Software as a Service (SaaS)

Hardware

Middleware

Application

Cloud Provider (i.e., SaaS Provider)

• SaaS provider offers an entire application- Word processor, spreadsheet, CRM software, etc.- Customer pays cloud provider- Example: Google Apps, Salesforce.com, etc.

Software as a Service (SaaS)

Hardware

Middleware

Application

Customer

Cloud Provider (i.e., SaaS Provider)

• SaaS provider offers an entire application- Word processor, spreadsheet, CRM software, etc.- Customer pays cloud provider and uses the service- Example: Google Apps, Salesforce.com, etc.

Software as a Service (SaaS)

Hardware

Middleware

Application

Customer

Cloud Provider (i.e., SaaS Provider)

• SaaS provider offers an entire application- Word processor, spreadsheet, CRM software, etc.- Customer pays cloud provider and uses the service- Example: Google Apps, Salesforce.com, etc.

Software as a Service (SaaS)

Hardware

Middleware

Application

Customer

Cloud Provider (i.e., SaaS Provider)

• SaaS provider offers an entire application- Word processor, spreadsheet, CRM software, etc.- Customer pays cloud provider and uses the service- Example: Google Apps, Salesforce.com, etc.

A Typical SaaS: Gmail

A Typical SaaS: Gmail

Hardware

Middleware

Application

Gmail Provider

A Typical SaaS: Gmail

Hardware

Middleware

Application

Gmail Provider

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

A Typical SaaS: Gmail

Hardware

Middleware

Application

Gmail Provider

BigTable

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

A Typical SaaS: Gmail

Hardware

Middleware

Application

Gmail Provider

BigTable

BigTable APIs

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

Hardware

Middleware

Application

Gmail Provider

Gmail

A Typical SaaS: Gmail

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

BigTable

BigTable APIs

Hardware

Middleware

Application

Customer

Gmail Provider

Gmail

A Typical SaaS: Gmail

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

BigTable

BigTable APIs

Hardware

Middleware

Application

Customer

Gmail Provider

Gmail

A Typical SaaS: Gmail

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

BigTable

BigTable APIs

Hardware

Middleware

Application

Customer

Gmail Provider

Gmail

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

A Typical SaaS: Gmail

BigTable

BigTable APIs

Hardware

Middleware

Application

Customer

Gmail Provider

Gmail

• Outsourcing your e-mail software: - Distributed, replicated message store in BigTable- Weak consistency model for some operations (e.g., msg read)- Stronger consistency for others (e.g., send msg)

A Typical SaaS: Gmail

BigTable

BigTable APIs

Platform as a Service (PaaS)

Hardware

Middleware

Application

Platform as a Service (PaaS)

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- Customer pays SaaS provider for the service- SaaS provider pays the cloud for the platform- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

Hardware

Middleware

Application

Platform as a Service (PaaS)

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- Customer pays SaaS provider for the service- SaaS provider pays the cloud for the platform- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

Hardware

Middleware

Application

Platform as a Service (PaaS)

App Provider

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- App provider pays the cloud for the platform- Customer pays App provider for the service- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

Hardware

Middleware

Application

Platform as a Service (PaaS)

App Provider

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- App provider pays the cloud for the platform- Customer pays App provider for the service- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

Hardware

Middleware

Application

Platform as a Service (PaaS)

CustomerApp Provider

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- App provider pays the cloud for the platform- Customer pays app provider for the service- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

Hardware

Middleware

Application

Platform as a Service (PaaS)

CustomerApp Provider

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- App provider pays the cloud for the platform- Customer pays app provider for the service- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

Hardware

Middleware

Application

Platform as a Service (PaaS)

CustomerApp Provider

• Cloud provides middleware/infrastructure- For example, Microsoft Common Language Runtime (CLR)- App provider pays the cloud for the platform- Customer pays app provider for the service- Example: Windows Azure, Google App Engine, etc.

Cloud Provider (i.e., PaaS Provider)

Application

A Typical PaaS: Facebook

Hardware

Middleware

Application

A Typical PaaS: Facebook

Facebook Provider

Hardware

Middleware

Application

A Typical PaaS: Facebook

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- Third-party game applications- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook Provider

Hardware

Middleware

Application

A Typical PaaS: Facebook

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- Third-party game applications- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook APIs

Facebook Clusters

Facebook Provider

Hardware

Middleware

Application

A Typical PaaS: Facebook

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- Third-party game applications- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook APIs

Facebook Clusters

Facebook Provider

Hardware

Middleware

Application

A Typical PaaS: Facebook

App Provider

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- App providers adopt their services (e.g., game) onto Facebook- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook Game

Facebook APIs

Facebook Clusters

Facebook Provider

Hardware

Middleware

Application

A Typical PaaS: Facebook

App Provider

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- App providers adopt their services (e.g., game) onto Facebook- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook APIs

Facebook Clusters

Facebook Provider

Facebook Game

Hardware

Middleware

Application

A Typical PaaS: Facebook

CustomerApp Provider

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- App providers adopt their services (e.g., game) onto Facebook- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook Game

Facebook APIs

Facebook Clusters

Facebook Provider

Facebook Game

Hardware

Middleware

Application

A Typical PaaS: Facebook

CustomerApp Provider

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- App providers adopt their services (e.g., game) onto Facebook- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook Game

Facebook APIs

Facebook Clusters

Facebook Provider

Facebook Game

Hardware

Middleware

Application

A Typical PaaS: Facebook

CustomerApp Provider

• Facebook offers PaaS capabilities to App provider- Facebook APIs allow access to social network properties- App providers adopt their services (e.g., game) onto Facebook- Facebook itself also uses PaaS provided by its company, e.g., log

analysis for recommendations

Facebook Game

Facebook APIs

Facebook Clusters

Facebook Provider

Facebook Game

Infrastructure as a Service (IaaS)

Hardware

Middleware

Application Application

Middleware

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- Customer pays SaaS provider for the service- SaaS provider pays the cloud for the resources- Example: Amazon Web Services, Rackspace Cloud, etc.

Infrastructure as a Service (IaaS)

Cloud Provider (i.e., IaaS Provider)

Hardware

Middleware

Application Application

Middleware

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- Customer pays SaaS provider for the service- SaaS provider pays the cloud for the resources- Example: Amazon Web Services, Rackspace Cloud, etc.

Infrastructure as a Service (IaaS)

Cloud Provider (i.e., IaaS Provider)

Hardware

Middleware

Application Application

Middleware

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- App provider pays the cloud for the resources- Customer pays App provider for the service- Example: Amazon Web Services, Rackspace Cloud, etc.

Infrastructure as a Service (IaaS)

App Provider

Cloud Provider (i.e., IaaS Provider)

Hardware

Middleware

Application Application

Middleware

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- App provider pays the cloud for the resources- Customer pays App provider for the service- Example: Amazon Web Services, Rackspace Cloud, etc.

Infrastructure as a Service (IaaS)

App Provider

Cloud Provider (i.e., IaaS Provider)

Middleware

Application

Hardware

Middleware

Application Application

Customer

Middleware

Infrastructure as a Service (IaaS)

App Provider

Cloud Provider (i.e., IaaS Provider)

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- App provider pays the cloud for the resources- Customer pays App provider for the service- Example: Amazon Web Services, Rackspace Cloud, etc.

Middleware

Application

Hardware

Middleware

Application Application

Customer

Middleware

Infrastructure as a Service (IaaS)

App Provider

Cloud Provider (i.e., IaaS Provider)

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- App provider pays the cloud for the resources- Customer pays App provider for the service- Example: Amazon Web Services, Rackspace Cloud, etc.

Middleware

Application

Hardware

Middleware

Application Application

Customer

Middleware

Infrastructure as a Service (IaaS)

App Provider

Cloud Provider (i.e., IaaS Provider)

• Cloud provides raw computing resources- Virtual machines, blade servers, hard disk, etc.- App provider pays the cloud for the resources- Customer pays App provider for the service- Example: Amazon Web Services, Rackspace Cloud, etc.

Middleware

Application

Hardware

Middleware

Application Application

Middleware

Typical IaaS: EC2 and S3

Amazon

Hardware

Middleware

Application Application

Middleware

Typical IaaS: EC2 and S3

Amazon

EC2 S3

Hardware

Middleware

Application Application

Middleware

Amazon

EC2 S3

Netflix Provider

• Net"ix (app) heavily depends on Amazon AWS: - Media #les are stored in S3- Transcoding to target devices (e.g., iPad) using EC2- Analysis of streaming sessions based on Elastic MapReduce

Typical IaaS: EC2 and S3

Hardware

Middleware

Application

Middleware

Amazon

EC2 S3

Netflix Provider

• Net"ix (app) heavily depends on Amazon AWS: - Media #les are stored in S3- Transcoding to target devices (e.g., iPad) using EC2- Analysis of streaming sessions based on Elastic MapReduce

Typical IaaS: EC2 and S3

Hardware

Middleware

Application

Middleware

Amazon

EC2 S3

Netflix Provider

• Net"ix (app) heavily depends on Amazon AWS: - Media #les are stored in S3- Transcoding to target devices (e.g., iPad) using EC2- Analysis of streaming sessions based on Elastic MapReduce

Typical IaaS: EC2 and S3

Netflix

Hardware

Middleware

Application

Middleware

Amazon

EC2 S3

Netflix Provider

• Net"ix (app) heavily depends on Amazon AWS: - Media #les are stored in S3- Transcoding to target devices (e.g., iPad) using EC2- Analysis of streaming sessions based on Elastic MapReduce

Typical IaaS: EC2 and S3

Netflix

Hardware

Middleware

Application Application

Middleware

Amazon

EC2 S3

CustomerNetflix Provider

• Net"ix (app) heavily depends on Amazon AWS: - Media #les are stored in S3- Transcoding to target devices (e.g., iPad) using EC2- Analysis of streaming sessions based on Elastic MapReduce

Typical IaaS: EC2 and S3

Netflix

Hardware

Middleware

Application Application

Middleware

Amazon

EC2 S3

CustomerNetflix Provider

• Net"ix (app) heavily depends on Amazon AWS: - Media #les are stored in S3- Transcoding to target devices (e.g., iPad) using EC2- Analysis of streaming sessions based on Elastic MapReduce

Typical IaaS: EC2 and S3

Netflix

• Three types of services:- Software as a Service (SaaS)

- Analogy: Restaurant. Prepares&serves entire meal, does the dishes, etc

- Platform as a Service (PaaS)- Analogy: Take-out food. Prepares meal but does not serve it.

- Infrastructure as a Service (IaaS)- Analogy: Grocery store. Provides raw ingredients.

Recall

The Major Cloud Providers

The Major Cloud Providers

• Amazon is the big player: - Infrastructure as a service (e.g., EC2)- Storage as a service (e.g., S3)

• But there are many others:- Microsoft Azure: It has similar services to Amazon, with an

emphasis on .Net programming model- Google App Engine: It offers programming interface, Hadoop, also

software as a service, e.g., Gmail and Google Docs- IBM, HP, Yahoo!: They seem to focus on enterprise scale cloud apps

The Major Cloud Providers

• Amazon is the big player: - Infrastructure as a service (e.g., EC2)- Storage as a service (e.g., S3)

• But there are many others:- Microsoft Azure: It has similar services to Amazon, with an

emphasis on .Net programming model- Google App Engine: It offers programming interface, Hadoop, also

software as a service, e.g., Gmail and Google Docs- IBM, HP, Yahoo!: They seem to focus on enterprise scale cloud apps

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

What Kinds of Challenges?

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Scalability

PC

Scalability

• What if one computer is not enough? - Buy a bigger (server-class) computer

PC

Scalability

• What if one computer is not enough? - Buy a bigger (server-class) computer

PC Server

Scalability

• What if one computer is not enough? - Buy a bigger (server-class) computer

PC Server

• What if the biggest computer is not enough? - Buy many computers

Scalability

• What if one computer is not enough? - Buy a bigger (server-class) computer

PC Server Cluster

• What if the biggest computer is not enough? - Buy many computers

Scalability

ScalabilityRack

ScalabilityNetwork switches

(connects nodes with each other and with other racks)

Rack

ScalabilityNetwork switches

(connects nodes with each other and with other racks)

Many nodes/blades (often identical)

Rack

ScalabilityNetwork switches

(connects nodes with each other and with other racks)

Many nodes/blades (often identical)

Storage device(s)

Rack

Scalability

• What if cluster is too big to #t into machine room? - Build a separate building for the cluster- Building can have lots of cooling and power- Result: Data center

PC Server Cluster

Scalability

• What if cluster is too big to #t into machine room? - Build a separate building for the cluster- Building can have lots of cooling and power- Result: Data center

PC Server Cluster

Scalability

• What if cluster is too big to #t into machine room? - Build a separate building for the cluster- Building can have lots of cooling and power- Result: Data center

PC Server Cluster Data center

Google Data Center in Oregon

Data centers (size of a football #eld)

Google Data Center in Oregon

• A warehouse-sized computer - A single data center can easily contain 10,000 racks with

100 cores in each rack (1,000,000 cores total)

Google Data Center in OregonData centers (size of a

football #eld)

Google Data Center Locations

Google Data Centers in the USA

Google Data Centers in Europe

Google Data Centers World Wide

Open Challenges

Open Challenges

• Can you manage thousands of racks effectively?- Cloud monitor systems (e.g., PlanetSeer [OSDI’04])- Can you design more scalable data center network?

Open Challenges

• Can you manage thousands of racks effectively?- Cloud monitor systems (e.g., PlanetSeer [OSDI’04])- Can you design more scalable data center network?

Open Challenges

• Can you make data center more scalable?- Scalable data center architecture (e.g., VL2 [SIGCOMM’09])- Can you design more scalable data center network?

• Can you manage thousands of racks effectively?- Cloud monitor systems (e.g., PlanetSeer [OSDI’04])

Open Challenges

• Can you make data center more scalable?- Scalable data center architecture (e.g., VL2 [SIGCOMM’09])- Can you design more scalable data center network?

• Can you manage thousands of racks effectively?- Cloud monitor systems (e.g., PlanetSeer [OSDI’04])

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Availability & Reliability

• Is the cloud always there when you need it? - Service outages- Connectivity outages

Recent Cloud Disasters

Recent Cloud Disasters

Recent Cloud Disasters

Top10 Cloud Service Outages

Open Challenges

• Can you build a system to #nd out the root-cause when a service becomes unavailable?- Diagnosis systems (e.g., Sherlock [SIGCOMM’07])

Open Challenges

• Can you build a system to #nd out the root-cause when a service becomes unavailable?- Diagnosis systems (e.g., Sherlock [SIGCOMM’07])- Accountable cloud (e.g., AVM [OSDI’10])

Open Challenges

• Can you build a system to #nd out the root-cause when a service becomes unavailable?- Diagnosis systems (e.g., Sherlock [SIGCOMM’07])- Accountable cloud (e.g., AVM [OSDI’10])

Open Challenges

• Can you propose an approach to make the clouds more robust?- Fault tolerate systems (e.g., F10 [NSDI’13])

• Can you build a system to #nd out the root-cause when a service becomes unavailable?- Diagnosis systems (e.g., Sherlock [SIGCOMM’07])- Accountable cloud (e.g., AVM [OSDI’10])

Open Challenges

• Can you propose an approach to make the clouds more robust?- Fault tolerate systems (e.g., F10 [NSDI’13])

• Can you build a system to #nd out the root-cause when a service becomes unavailable?- Diagnosis systems (e.g., Sherlock [SIGCOMM’07])- Accountable cloud (e.g., AVM [OSDI’10])

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Security & Privacy

• Compromised your cloud accounts - Hacker does not need to break into your home to steal all your

private data, if he can break or guess your cloud password- Even worse, if hack who cracks your Facebook account get into

your accounts everywhere online

Security & Privacy

• Compromised your cloud accounts - Hacker does not need to break into your home to steal all your

private data, if he can break or guess your cloud password- Even worse, if hack who cracks your Facebook account get into

your accounts everywhere online

• You do not know if the cloud providers read your private data

Open Challenges

• Can you build a system to preserve the privacy of your data on the clouds?- MAC for MapReduce (e.g., Airavat [NSDI’10])- Trusted storage (e.g., Depot [OSDI’10])

Open Challenges

• Can you build a system to preserve the privacy of your data on the clouds?- MAC for MapReduce (e.g., Airavat [NSDI’10])- Trusted storage (e.g., Depot [OSDI’10])

Open Challenges

• Can you build a system to preserve the privacy of your data on the clouds?- MAC for MapReduce (e.g., Airavat [NSDI’10])- Trusted storage (e.g., Depot [OSDI’10])

Open Challenges

• Can you propose an approach to verify if the cloud provider modi#es your data?- Trusted cloud computing (e.g., Excalibur [USENIX Sec’12])

• Can you build a system to preserve the privacy of your data on the clouds?- MAC for MapReduce (e.g., Airavat [NSDI’10])- Trusted storage (e.g., Depot [OSDI’10])

Open Challenges

• Can you propose an approach to verify if the cloud provider modi#es your data?- Trusted cloud computing (e.g., Excalibur [USENIX Sec’12])

• Can you build a system to preserve the privacy of your data on the clouds?- MAC for MapReduce (e.g., Airavat [NSDI’10])- Trusted storage (e.g., Depot [OSDI’10])

More Risks?

• EverClouds is a project of DeDiS group (Bryan is PI): - aims to solve tricky cloud security problems (e.g., timing channels)- tries to make the clouds more reliable (e.g., failure detection)

• We already have some efforts:- SRA: A cloud structural reliability auditing system (submitted)- iRec: A cloud independence recommender system (HotDep’13)- P-SRA: A privacy-preserving structural-reliability auditor (CCSW’13)- Timing channel control with provider-enforced deterministic

execution (CCSW’10)

More Risks?

• EverClouds is a project of DeDiS group (Bryan is PI): - aims to solve tricky cloud security problems (e.g., timing channels)- tries to make the clouds more reliable (e.g., failure detection)

• We already have some efforts:- SRA: A cloud structural reliability auditing system (submitted)- iRec: A cloud independence recommender system (HotDep’13)- P-SRA: A privacy-preserving structural-reliability auditor (CCSW’13)- Timing channel control with provider-enforced deterministic

execution (CCSW’10)

More Risks?

• EverClouds is a project of DeDiS group (Bryan is PI): - aims to solve tricky cloud security problems (e.g., timing channels)- tries to make the clouds more reliable (e.g., failure detection)

• We already have some efforts:- SRA: A cloud structural reliability auditing system (submitted)- iRec: A cloud independence recommender system (HotDep’13)- P-SRA: A privacy-preserving structural-reliability auditor (CCSW’13)- Timing channel control with provider-enforced deterministic

execution (CCSW’10)

More Risks?

• EverClouds is a project of DeDiS group (Bryan is PI): - aims to solve tricky cloud security problems (e.g., timing channels)- tries to make the clouds more reliable (e.g., failure detection)

• We already have some efforts:- SRA: A cloud structural reliability auditing system (submitted)- iRec: A cloud independence recommender system (HotDep’13)- P-SRA: A privacy-preserving structural-reliability auditor (CCSW’13)- Timing channel control with provider-enforced deterministic

execution (CCSW’10)

More Risks?

• EverClouds is a project of DeDiS group (Bryan is PI): - aims to solve tricky cloud security problems (e.g., timing channels)- tries to make the clouds more reliable (e.g., failure detection)

• We already have some efforts:- SRA: A cloud structural reliability auditing system (submitted)- iRec: A cloud independence recommender system (HotDep’13)- P-SRA: A privacy-preserving structural-reliability auditor (CCSW’13)- Timing channel control with provider-enforced deterministic

execution (CCSW’10)

More Risks?

• EverClouds is a project of DeDiS group (Bryan is PI): - aims to solve tricky cloud security problems (e.g., timing channels)- tries to make the clouds more reliable (e.g., failure detection)

• We already have some efforts:- SRA: A cloud structural reliability auditing system (submitted)- iRec: A cloud independence recommender system (HotDep’13)- P-SRA: A privacy-preserving structural-reliability auditor (CCSW’13)- Timing channel control with provider-enforced deterministic

execution (CCSW’10)

More Risks?

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

An Untold Story of Redundant Clouds:Making Your Service Deployment Truly Reliable

Ennan Zhai1, Ruichuan Chen2, David Isaac Wolinsky1, Bryan Ford1

1Yale University & 2Bell Labs

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Road-Map

• Application providers: - enjoy the simplicity of using the clouds- have no idea about what happen in the clouds- rent multiple clouds for redundancy

Background

• Application providers: - enjoy the simplicity of using the clouds- have no idea about what happen in the clouds- rent multiple clouds for redundancy

Background

• Application providers: - enjoy the simplicity of using the clouds- have no idea about what happen in the clouds- rent multiple clouds for redundancy

Background

EC2 availability zone EC2 availability zone EC2 availability zone

Net!ix Application Service

IaaS

App

Example 1: Net"ix

iCloud Application Service

IaaS

App

Amazon EC2 Service Microsoft Azure Service

Example 2: iCloud

Email App

Cloud Provider A Cloud Provider B

Problem

Email App

Cloud Provider A Cloud Provider B

Problem

Third-party infrastructure components

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Problem

Third-party infrastructure components

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Power Source

Problem

Third-party infrastructure components

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Power Source

Problem

Third-party infrastructure components

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Power Source

ProblemBecome unavailable !

Third-party infrastructure components

Problem

• Cloud providers allocate or tolerate failures via: - diagnosis systems, e.g., Sherlock.- fault-tolerant systems, e.g., F10, Skute.

Existing Efforts

• Cloud providers allocate or tolerate failures via: - diagnosis systems, e.g., Sherlock.- fault-tolerant systems, e.g., F10, Skute.

• Solving the problem after the outage occurs

• There is no any effort before the problem occur

Existing Efforts

• Cloud providers allocate or tolerate failures via: - diagnosis systems, e.g., Sherlock.- fault-tolerant systems, e.g., F10, Skute.

• Solving the problem after the outage occurs

• We want to prevent the problem before the outage occurs

Existing Efforts

• Cloud providers allocate or tolerate failures via: - diagnosis systems, e.g., Sherlock.- fault-tolerant systems, e.g., F10, Skute.

• Solving the problem after the outage occurs

• We want to prevent the problem before the outage occurs

Existing Efforts

• Recommending truly independent redundancy services when deploying applications

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Road-Map

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

App Provider

Goal & Insight

Cloud A Cloud B Cloud C

App Provider

Goal & InsightSelect two clouds for

redundancy

Cloud A Cloud B Cloud C

App Provider

Goal & Insight

Cloud A Cloud B Cloud C

A and B ?

App Provider

Goal & Insight

Cloud A Cloud B Cloud C

B and C ?

App Provider

Goal & Insight

Cloud A Cloud C

A and C ?

Cloud B

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

Select two clouds for redundancy: A&B? B&C? or A&C?

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

Cloud A Cloud B Cloud C

App Provider Recommender

Goal & Insight

Assessing independence by the # of overlapping components between clouds

Cloud A Cloud B Cloud C

App Provider Recommender

Goal & Insight

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP A Power BPower A

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP A Power BPower A

ISP APower APower B

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP A Power BPower A

ISP APower APower B

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP BPower A

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP BPower A

ISP BPower APower B

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP BPower A

ISP BPower APower B

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

=2

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

=2

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | | Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | | Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

=1

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP BPower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

=1

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

=0

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP B Power CPower A

ISP BPower C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

=0

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

Cloud A Cloud B Cloud C

App Provider Recommender1. Cloud A, C 02. Cloud B, C 13. Cloud A, B 2

| |

Goal & Insight

Deployment

Ranking List Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Cloud Provider1

Cloud Provider2

Cloud Provider3

Recommender

App Provider

Strawman Solution 1

Cloud Provider1

Cloud Provider2

Cloud Provider3

Recommender

App Provider

Privacy Concern!

Strawman Solution 1

Cloud Provider1

Cloud Provider2

Cloud Provider3

Trusted Third Party

App Provider

Strawman Solution 2

Cloud Provider1

Cloud Provider2

Cloud Provider3

Trusted Third Party

App Provider

It is hard to #nd!

Strawman Solution 2

Cloud Provider1

Cloud Provider2

Cloud Provider3

Secure Multiparty Computation

App Provider

Strawman Solution 3[Xiao et al, CCSW’13]

Cloud Provider1

Cloud Provider2

Cloud Provider3

SMPC

App Provider

SMPC is difficult to scale!

Strawman Solution 3[Xiao et al, CCSW’13]

Our Approach - iRec

• The #rst cloud independence recommender sys: - achieving our goal- preserving privacy of each cloud provider- practical

Our Approach - iRec

Preliminary background: PSI-CA

Our Approach - iRec• The #rst cloud independence recommender sys:

- achieving our goal- preserving privacy of each cloud provider- practical

• Private set-intersection cardinality proposed by [Freedman et al, EuroCrypt’04].

• Allows k parties to compute the # of overlapping elements without learning other information.

Preliminary: PSI-CA

Preliminary: PSI-CA• Private set-intersection cardinality proposed by

[Freedman et al, EuroCrypt’04].

• Allows k parties to compute the # of overlapping elements without learning other information.

11

3

10

1

5

20

3

7

3

PSI-CA

Preliminary: PSI-CA

11

3

10

1

5

20

3

7

3

PSI-CA

• Private set-intersection cardinality proposed by [Freedman et al, EuroCrypt’04].

• Allows k parties to compute the # of overlapping elements without learning other information.

11

3

10

1

5

20

3

7

3

PSI-CA

One overlapping element

Preliminary: PSI-CA

One overlapping element

One overlapping element

• Private set-intersection cardinality proposed by [Freedman et al, EuroCrypt’04].

• Allows k parties to compute the # of overlapping elements without learning other information.

11

3

10

1

5

20

3

7

3

PSI-CA

But I do not know which element is overlapping

Preliminary: PSI-CA

But I do not know which element is overlapping

But I do not know which element is overlapping

• Private set-intersection cardinality proposed by [Freedman et al, EuroCrypt’04].

• Allows k parties to compute the # of overlapping elements without learning other information.

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CA

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{E(1), E(-21), E(128), E(-240)}

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{E(P(1)), E(P(4)), E(P(6)), E(P(2))}

{E(1), E(-21), E(128), E(-240)}

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{E(P(1)), E(P(4)), E(P(6)), E(P(2))}

{E(1), E(-21), E(128), E(-240)}

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{E(P(1)), E(P(4)), E(P(6)), E(P(2))}

{E(1), E(-21), E(128), E(-240)}

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{E(-132), E(0), E(-12), E(-60)}

{E(1), E(-21), E(128), E(-240)}

1

4

6

2

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A Data Set B

AliceBob

Preliminary: PSI-CAP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{E(-132), E(0), E(-12), E(-60)}

{E(1), E(-21), E(128), E(-240)}

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A

AliceP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{-132, 0, -12, -60}

Preliminary: PSI-CA

• Alice and Bob has set A and B respectively and Alice wants to jointly compute |A B|.• Alice makes a polynomial P whose roots are the elements of data set A.• Alice encrypts the coefficients of P and sends them to Bob. Note that Alice sends homomorphic encryptions of the coefficients to Bob.• Bob evaluates P(Bi) for each element in data set B.• Bob returns the encrypted evaluations to Alice.• Alice decrypts it and counts the number of zeroes.

Data Set A

AliceP = (X-12)(X-5)(X-4)= x3-21x2+128X-240

{-132, 0, -12, -60}

Preliminary: PSI-CAResult is: 1

11

3

10

1

5

20

3

7

3

PSI-CA

One overlapping element

Preliminary: PSI-CA

One overlapping element

One overlapping element

Cloud A Cloud B Cloud C

App Provider iRec

Our Approach - iRec

ISP A Power B ISP B Power CPower A

Cloud A Cloud B Cloud C

App Provider iRec

Our Approach - iRec

ISP A Power B ISP B Power CPower A

Select two clouds for redundancy: A&B? B&C? or A&C?

Cloud A Cloud B Cloud C

App Provider iRec

Step 1

ISP A Power B ISP B Power CPower A

Cloud A Cloud B Cloud C

App Provider iRec

Step 2

ISP A Power B ISP B Power CPower A

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Step 3

iRec

ISP APower APower B

ISP BPower APower B

ISP BPower C

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Step 3

iRec

PSI-CA PSI-CA

ISP APower APower B

ISP BPower APower B

ISP BPower C

Cloud A Cloud B Cloud C

App Provider iRec

Step 4

ISP A Power B ISP B Power CPower A

App Provider

Step 5

Cloud A Cloud B Cloud C

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP A Power B ISP B Power CPower A

iRec

Cloud A Cloud B Cloud C

App Provider1. Cloud A, C 02. Cloud B, C 13. Cloud A, B 2

| |

Step 5

Deployment

Ranking List Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP A Power B ISP B Power CPower A

iRec

• Different infrastructure components play different roles in the clouds

• Power source might be much more likely to fail than ISPs

An Improvement Version

• Different infrastructure components play different roles in the clouds

• Power source might be much more likely to fail than ISPs

An Improvement Version

An Improvement Version

• We propose an improvement version - Using Weighted PSI-CA (W-PSI-CA) to instead of

PSI-CA in Step2- No other improvement

• Different infrastructure components play different roles in the clouds

• Power source might be much more likely to fail than ISPs

An Improvement Version

• We propose an improvement version - Using Weighted PSI-CA (W-PSI-CA) to instead of

PSI-CA in Step3

• Different infrastructure components play different roles in the clouds

• Power source might be much more likely to fail than ISPs

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

iRec

Recall: Step 3

PSI-CA PSI-CA

ISP APower APower B

ISP BPower APower B

ISP BPower C

Cloud A Cloud B

ISP A Power B ISP BPower A

PSI-CA

ISP APower APower B

ISP BPower APower B

Recall: Step 3

Result is 2

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

Cloud A Cloud B

ISP A Power B ISP BPower A

ISP APower APower B

ISP BPower APower B

Using W-PSI-CA

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

ISP A 1Power A 2Power B 2

ISP B 1Power A 2Power B 2

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

ISP A 1Power A 2Power B 2

ISP B 1Power A 2Power B 2

Weights

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

ISP APower APower APower BPower B

ISP BPower APower APower BPower B

ISP A 1Power A 2Power B 2

ISP B 1Power A 2Power B 2

DSI DSI

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

ISP APower APower APower BPower B

ISP BPower APower APower BPower B

ISP A 1Power A 2Power B 2

ISP B 1Power A 2Power B 2

DSI DSI

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

PSI-CA

ISP APower APower APower BPower B

ISP BPower APower APower BPower B

DSI DSI

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

PSI-CA

Result is 4ISP A

Power APower APower BPower B

ISP BPower APower APower BPower B

DSI DSI

Case Study

Cloud A Cloud B Cloud C

App Provider iRec

Step 1

ISP A Power B ISP B Power CPower A

Select two clouds for redundancy: A&B? B&C? or A&C?

Cloud A Cloud B Cloud C

App Provider iRec

Step 1

ISP A Power B ISP B Power CPower A

Cloud A Cloud B Cloud C

App Provider iRec

Step 2

ISP A Power B ISP B Power CPower A

Weights

Weights

Weights

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP A 3Power A 1Power B 1

ISP B 3Power A 1Power B 1

ISP B 3Power C 1

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP A 3Power A 1Power B 1

ISP B 3Power A 1Power B 1

ISP B 3Power C 1

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power APower B

ISP BISP BISP B

Power C

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power APower B

ISP BISP BISP B

Power C

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power CPSI-CA

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power CPSI-CA

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 1 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power APower B

ISP BISP BISP B

Power CPSI-CA

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 3 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power APower B

ISP BISP BISP B

Power CPSI-CA

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 3 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power APower B

ISP BISP BISP B

Power CPSI-CA

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

ISP A Power B ISP B Power CPower A

Cloud A, C 0 Cloud B, C 3 Cloud A, B 2

Deployment | |

ISP AISP AISP A

Power APower B

ISP BISP BISP B

Power APower B

ISP BISP BISP B

Power CPSI-CA

Step 3 & 4 with W-PSI-CA

iRec

App Provider

Cloud A Cloud B Cloud C

Cloud A, C 0 Cloud B, C 3 Cloud A, B 2

Deployment | |Step 5

iRec

App Provider

Cloud A Cloud B Cloud C

Cloud A, C 0 Cloud B, C 3 Cloud A, B 2

Deployment | |Step 5

iRec

App Provider

Cloud A Cloud B Cloud C

Cloud A, C 0 Cloud A, B 2 Cloud B, C 3

Deployment | |Step 5

iRec

Cloud A Cloud B Cloud C

App Provider1. Cloud A, C 02. Cloud A, B 23. Cloud B, C 3

| |Deployment

Ranking List Cloud A, C 0 Cloud A, B 2 Cloud B, C 3

Deployment | |Step 5

iRec

App Provider1. Cloud A, C 02. Cloud A, B 23. Cloud B, C 3

| |Deployment

Ranking List

Step 5

1. Cloud A, C 02. Cloud B, C 13. Cloud A, B 2

| |Deployment

V.S. Ranking list with W-PSI-CA

Ranking list with PSI-CA

iRec

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Next Steps• Can we provide stronger privacy preservation?

• Do cloud providers have incentives to join?

• Will the clouds behave honestly?

• Can we make iRec more scalable?

• How do we evaluate iRec with realistic cloud dependency datasets?

Next Steps• Can we provide stronger privacy preservation?

• Do cloud providers have incentives to join?

• Will the clouds behave honestly?

• Can we make iRec more scalable?

• How do we evaluate iRec with realistic cloud dependency datasets?

Next Steps• Can we provide stronger privacy preservation?

• Do cloud providers have incentives to join?

• Will the clouds behave honestly?

• Can we make iRec more scalable?

• How do we evaluate iRec with realistic cloud dependency datasets?

Next Steps• Can we provide stronger privacy preservation?

• Do cloud providers have incentives to join?

• Will the clouds behave honestly?

• Can we make iRec more scalable?

• How do we evaluate iRec with realistic cloud dependency datasets?

The End• Do you want to:

- do a cloud related #nal project?- do anything for EverClouds?- discuss your smart idea about the clouds?

The End• Do you want to:

- do a cloud related #nal project?- do anything for EverClouds?- discuss your smart idea about the clouds?

I have a lot of interesting (even crazy) ideas about the cloud security and reliability, but I do not have time to implement all of them ...

Thanks!

Questions?