P4L4: Datacenter Technologies Flashcards

1
Q

What are the pros and cons of homogenous designs for large-scale distributed systems?

A

PROS

  • Frontend load-balancing component can be simple. It simply needs to send requests to each of the nodes in a round-robin manner.
  • So is scaling! Just add more/less nodes because they all do the same thing

CONS
- No benefit from caching. The frontend component doesn’t keep enough state in this design to understand the locality of tasks on a node-by-node basis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the pros and cons of heterogenous designs for large-scale distributed systems?

A

PROS
- Caching can be leveraged more effectively. With similar computations being performed on similar data, the possibility of actionable data being present in the cache increases. Our system has more locality.

CONS

  • The frontend becomes more complex, as it now needs to know more about the system in order to route requests.
  • Scaling opportunities become more complex. It’s not enough to add or remove nodes in response to fluctuating traffic. In heterogenous systems, you’ll need to understand which components of the system need to be scaled up or scaled down.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe the history and motivation behind cloud computing

A

The earliest history of cloud computing begins in the 1960s with the idea that computing could be a public utility, like telephone services. This wasn’t realizable at the time because stable cloud computing models didn’t exist yet.

The more recent history begins in 2006. Amazon realized that the bulk of its hardware was being utilized only during the relatively short holiday season. For the rest of the year, a lot of their resources were underutilized. Amazon found that it could utilize that computing power in the offseason by renting out that power to third party workloads. This led to Amazon Web Services.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the basic models of cloud computing?

A
  • Software as a service (SaaS)
  • Platform as a service (PaaS)
  • Infrastructure as a service (IaaS)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe Software as a Service (SaaS)

A

In software as a service (SaaS) platforms, the provider owns everything in the cloud service stack, from application down to physical hardware.

Gmail is an example of a SaaS platform.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe Platform as a Service (PaaS)

A

In platform as a service (PaaS) systems, the provider owns the infrastructure and the physical hardware (everything in the cloud stack up through Runtime).

The developer is responsible for bringing the application and the data.

For example, the Google App Engine is a platform for developing android apps. The platform provides an environment for executing these applications, but the developer must bring their own application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe Infrastructure as a Service (IaaS)

A

In infrastructure as a service (IaaS) systems, the providers owns the physical hardware and virtualization.

The developer brings the applications, the data, and is responsible for configuring the infrastructure, such as the middleware and the operating system.

Amazon EC2 is an example of an IaaS platform.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are some of the enabling technologies that make cloud offerings broadly useful?

A
  • Virtualization
  • Resource provisioning
  • Big data
  • Monitoring
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What makes cloud computing practical (from the service provider’s perspective)?

A
  • The law of large numbers. With a large number of computing clients (with randomly timed needs), the amount of resources needed will be constant on average. As a result, the provider can purchase some fixed amount of hardware without worrying about fluctuations in individual client’s peak consuming all of the resources.
  • Economies of scale. The fixed cost of hardware can be amortized across multiple clients sharing that hardware. Naturally, the best scenario is having many, many clients.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What makes cloud computing practical (from the client’s perspective)?

A
  • Elasticity of resources: Consider Animoto, which went viral when added to Facebook and had to scale up its resources by two orders of magnitude over one week. With a traditional, on-premises setup, this type of scale would not have been possible. But data centers allow for seamless scaling.
  • Elasticity of cost: Because of elastic resources, the cost incurred by computational consumption can better mirror potential revenue influx. If we assume that higher computational consumption is correlated with higher traffic, which is correlated with higher revenue, then cloud computing platforms allow us to only pay more when we are making more. Traditionally, we would buy a fixed amount of computing resources, and they would be either underutilized or maxed out.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What about cloud services make failures unavoidable?

A

Failures are unavoidable in a complex cloud computing environment because the probability of failure of a system is the product of the probabilities of failure of any component. With more components, the probability of overall failure increases.

For example, suppose one link in system has a probability of failure of 5%. The overall system has a 95% change of success. With 30 links that each have a probability of failure of 5%, the overall system has a (0.95)^30, or 21% chance of success.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a homogenous design for a large scale distributed system?

A

In a homogenous design, all of the nodes in the system are able to fulfill any request that enters the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a heterogenous design for large scale distributed systems?

A

In a heterogenous design, each node is specialized to fulfill some subset of requests that enter the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How do virtualization technologies enable cloud offerings?

A
  • Virtualization technologies help to make physical hardware into fungible resources that can be repurposed for different workloads.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How do resource provisioning/scheduling technologies enable cloud offerings?

A
  • Resource provisioning/scheduling technologies enable the DYNAMIC provisioning and scheduling of resources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How do big data technologies enable cloud offerings?

A
  • Big data technologies for processing and storage allow clients to scale
17
Q

How do monitoring technologies enable cloud offerings?

A
  • Monitoring technologies help datacenter operators (and users!) detect anomalies and failures
18
Q

What are the nine elements that may or may not be owned by the provider in SaaS, PaaS, or IaaS platforms? I.e., the cloud service stack

A

IN ORDER

  • Applications
  • Data
  • Runtime
  • Middleware
  • OS
  • Virtualization
  • Servers
  • Storage
  • Networking
19
Q

What are the three kinds of cloud deployment models?

A
  • Public: Rent to third party customers/tenants
  • Private: Use technology internally
  • Hybrid: Additional redundancy, spikes, and testing