zoo | yale university - cloud computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... ·...

261
Cloud Computing Ennan Zhai Computer Science at Yale University [email protected]

Upload: others

Post on 12-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Computing

Ennan ZhaiComputer Science at Yale University

[email protected]

Page 2: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

Page 3: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

Page 4: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

What’s the Cloud Computing?

Page 5: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 6: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Have You Used the Cloud?

Page 7: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Have You Used the Cloud?

Page 8: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Have You Used the Cloud?

Page 9: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Have You Used the Cloud?

Page 10: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Have You Used the Cloud?

Page 11: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Have You Used the Cloud?

Page 12: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Why We Like It?

Page 13: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 14: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 15: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 16: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

What Kinds of Clouds Exist Now?

Page 17: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 18: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 19: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 20: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 21: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Software as a Service (SaaS)

Page 22: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Software as a Service (SaaS)

Hardware

Middleware

Application

Cloud Provider (i.e., SaaS Provider)

Page 23: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 24: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 25: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 26: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 27: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 28: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

A Typical SaaS: Gmail

Page 29: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

A Typical SaaS: Gmail

Hardware

Middleware

Application

Gmail Provider

Page 30: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)

Page 31: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)

Page 32: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)

Page 33: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 34: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 35: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 36: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 37: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 38: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Platform as a Service (PaaS)

Page 39: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 40: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 41: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 42: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 43: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 44: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 45: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 46: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

A Typical PaaS: Facebook

Page 47: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Hardware

Middleware

Application

A Typical PaaS: Facebook

Facebook Provider

Page 48: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 49: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 50: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 51: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 52: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 53: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 54: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 55: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 56: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Infrastructure as a Service (IaaS)

Page 57: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)

Page 58: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)

Page 59: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)

Page 60: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 61: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 62: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 63: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 64: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Hardware

Middleware

Application Application

Middleware

Typical IaaS: EC2 and S3

Amazon

Page 65: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Hardware

Middleware

Application Application

Middleware

Typical IaaS: EC2 and S3

Amazon

EC2 S3

Page 66: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 67: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 68: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 69: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 70: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 71: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 72: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 73: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

The Major Cloud Providers

Page 74: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 75: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 76: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

Page 77: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

Page 78: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

What Kinds of Challenges?

Page 79: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Page 80: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Page 81: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Scalability

PC

Page 82: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Scalability

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

PC

Page 83: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Scalability

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

PC Server

Page 84: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 85: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 86: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Scalability

Page 87: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

ScalabilityRack

Page 88: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

ScalabilityNetwork switches

(connects nodes with each other and with other racks)

Rack

Page 89: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

ScalabilityNetwork switches

(connects nodes with each other and with other racks)

Many nodes/blades (often identical)

Rack

Page 90: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

ScalabilityNetwork switches

(connects nodes with each other and with other racks)

Many nodes/blades (often identical)

Storage device(s)

Rack

Page 91: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 92: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 93: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 94: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Google Data Center in Oregon

Page 95: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Data centers (size of a football #eld)

Google Data Center in Oregon

Page 96: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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)

Page 97: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Google Data Center Locations

Page 98: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Google Data Centers in the USA

Page 99: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Google Data Centers in Europe

Page 100: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Google Data Centers World Wide

Page 101: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Open Challenges

Page 102: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 103: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 104: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 105: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 106: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Page 107: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Page 108: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Availability & Reliability

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

Page 109: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Recent Cloud Disasters

Page 110: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Recent Cloud Disasters

Page 111: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Recent Cloud Disasters

Page 112: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Top10 Cloud Service Outages

Page 113: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 114: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 115: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 116: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 117: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 118: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Page 119: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Scalability

• Availability and reliability

• Security and privacy

What Kinds of Challenges?

Page 120: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 121: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 122: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 123: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 124: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 125: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 126: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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])

Page 127: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

More Risks?

Page 128: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 129: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 130: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 131: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 132: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 133: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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?

Page 134: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

Page 135: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Cloud Computing

• Challenges in the Clouds

• A Concrete Cloud Reliability Case

Lecture Outline

Page 136: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 137: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Road-Map

Page 138: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Background

Page 139: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Background

Page 140: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Background

Page 141: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

EC2 availability zone EC2 availability zone EC2 availability zone

Net!ix Application Service

IaaS

App

Example 1: Net"ix

Page 142: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

iCloud Application Service

IaaS

App

Amazon EC2 Service Microsoft Azure Service

Example 2: iCloud

Page 143: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Email App

Cloud Provider A Cloud Provider B

Problem

Page 144: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Email App

Cloud Provider A Cloud Provider B

Problem

Third-party infrastructure components

Page 145: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Problem

Third-party infrastructure components

Page 146: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Power Source

Problem

Third-party infrastructure components

Page 147: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Power Source

Problem

Third-party infrastructure components

Page 148: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Email App

Cloud Provider A Cloud Provider B

ISP BISP A ISP C

Power Source

ProblemBecome unavailable !

Third-party infrastructure components

Page 149: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Problem

Page 150: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Existing Efforts

Page 151: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 152: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 153: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 154: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Road-Map

Page 155: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Page 156: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Goal & Insight

Cloud A Cloud B Cloud C

Page 157: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Goal & InsightSelect two clouds for

redundancy

Cloud A Cloud B Cloud C

Page 158: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Goal & Insight

Cloud A Cloud B Cloud C

A and B ?

Page 159: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Goal & Insight

Cloud A Cloud B Cloud C

B and C ?

Page 160: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Goal & Insight

Cloud A Cloud C

A and C ?

Cloud B

Page 161: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

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

Page 162: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

Page 163: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider Recommender

Goal & Insight

Assessing independence by the # of overlapping components between clouds

Page 164: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider Recommender

Goal & Insight

Page 165: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP A Power BPower A

Page 166: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP A Power BPower A

ISP APower APower B

Page 167: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP A Power BPower A

ISP APower APower B

Page 168: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

ISP APower APower B

ISP A Power B ISP BPower A

Page 169: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 170: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 171: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 172: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 173: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 174: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 175: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 176: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 177: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 178: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 179: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 180: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 181: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 182: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 183: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider Recommender

Goal & Insight

Cloud A Cloud B Cloud C

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

Deployment | |

Page 184: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 | |

Page 185: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Page 186: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Page 187: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Provider1

Cloud Provider2

Cloud Provider3

Recommender

App Provider

Strawman Solution 1

Page 188: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Provider1

Cloud Provider2

Cloud Provider3

Recommender

App Provider

Privacy Concern!

Strawman Solution 1

Page 189: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Provider1

Cloud Provider2

Cloud Provider3

Trusted Third Party

App Provider

Strawman Solution 2

Page 190: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Provider1

Cloud Provider2

Cloud Provider3

Trusted Third Party

App Provider

It is hard to #nd!

Strawman Solution 2

Page 191: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Provider1

Cloud Provider2

Cloud Provider3

Secure Multiparty Computation

App Provider

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

Page 192: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud Provider1

Cloud Provider2

Cloud Provider3

SMPC

App Provider

SMPC is difficult to scale!

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

Page 193: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Our Approach - iRec

Page 194: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Our Approach - iRec

Page 195: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Preliminary background: PSI-CA

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

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

Page 196: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 197: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 198: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 199: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 200: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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.

Page 201: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 202: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 203: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)}

Page 204: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)}

Page 205: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)}

Page 206: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)}

Page 207: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)}

Page 208: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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)}

Page 209: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 210: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• 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

Page 211: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

11

3

10

1

5

20

3

7

3

PSI-CA

One overlapping element

Preliminary: PSI-CA

One overlapping element

One overlapping element

Page 212: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider iRec

Our Approach - iRec

ISP A Power B ISP B Power CPower A

Page 213: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 214: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider iRec

Step 1

ISP A Power B ISP B Power CPower A

Page 215: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider iRec

Step 2

ISP A Power B ISP B Power CPower A

Page 216: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 217: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 218: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider iRec

Step 4

ISP A Power B ISP B Power CPower A

Page 219: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 220: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 221: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Different infrastructure components play different roles in the clouds

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

An Improvement Version

Page 222: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

• Different infrastructure components play different roles in the clouds

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

An Improvement Version

Page 223: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 224: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 225: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 226: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 227: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B

ISP A Power B ISP BPower A

Using W-PSI-CA

Page 228: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B

ISP A Power B ISP BPower A

ISP APower APower B

ISP BPower APower B

Using W-PSI-CA

Page 229: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 230: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 231: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 232: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 233: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 234: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 235: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Case Study

Page 236: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 237: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider iRec

Step 1

ISP A Power B ISP B Power CPower A

Page 238: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Cloud A Cloud B Cloud C

App Provider iRec

Step 2

ISP A Power B ISP B Power CPower A

Weights

Weights

Weights

Page 239: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 240: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 241: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 242: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 243: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 244: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 245: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 246: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 247: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 248: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Cloud A Cloud B Cloud C

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

Deployment | |Step 5

iRec

Page 249: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Cloud A Cloud B Cloud C

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

Deployment | |Step 5

iRec

Page 250: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

App Provider

Cloud A Cloud B Cloud C

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

Deployment | |Step 5

iRec

Page 251: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 252: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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

Page 253: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Page 254: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Road-Map

• Motivations

• Goal & Insight

• iRec System

• Next Steps

Page 255: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 256: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 257: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 258: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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?

Page 259: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

The End• Do you want to:

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

Page 260: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

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 ...

Page 261: Zoo | Yale University - Cloud Computingzoo.cs.yale.edu/classes/cs426/2014/lec/131113-cs426... · 2014-08-25 · -Example: Windows Azure, Google App Engine, etc. Cloud Provider (i.e.,

Thanks!

Questions?