What are the pros and cons of homogenous designs for large-scale distributed systems?
PROS
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.
What are the pros and cons of heterogenous designs for large-scale distributed systems?
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
Describe the history and motivation behind cloud computing
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.
What are the basic models of cloud computing?
Describe Software as a Service (SaaS)
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.
Describe Platform as a Service (PaaS)
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.
Describe Infrastructure as a Service (IaaS)
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.
What are some of the enabling technologies that make cloud offerings broadly useful?
What makes cloud computing practical (from the service provider’s perspective)?
What makes cloud computing practical (from the client’s perspective)?
What about cloud services make failures unavoidable?
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.
What is a homogenous design for a large scale distributed system?
In a homogenous design, all of the nodes in the system are able to fulfill any request that enters the system.
What is a heterogenous design for large scale distributed systems?
In a heterogenous design, each node is specialized to fulfill some subset of requests that enter the system.
How do virtualization technologies enable cloud offerings?
How do resource provisioning/scheduling technologies enable cloud offerings?
How do big data technologies enable cloud offerings?
How do monitoring technologies enable cloud offerings?
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
IN ORDER
What are the three kinds of cloud deployment models?