Lec 1: Intro Flashcards

1
Q

What is cloud computing?

A

According to NIST (USA’s National Institute of Standards and Technology):

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., processors, networks, storage) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

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

What are the essential characteristics/benefits of cloud computing? (5)

A

On-demand self service
Broad network access
Resource pooling
Rapid elasticity
Measured service

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

Define the cloud computing characteristic/benefit: On-demand self service

A

Cloud providers allows us to provision computing resources, such as virtual machines, without interacting with them.

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

Define the cloud computing characteristic/benefit: Resource pooling

A

Cloud providers consolidate and share computing resources among many users.

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

Define the cloud computing characteristic/benefit: Broad network access

A

cloud services are accessible over a network in various ways.

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

Define the cloud computing characteristic/benefit: Rapid elasticity

A

Cloud providers enables the quick and automatic scaling of underlying hardware resources based on workload demands

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

Define the cloud computing characteristic/benefit: Measured service

A

Cloud providers allow users to pay as they go

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

Cloud computing motivation

A

PC > server-class PC > cluster of servers > data center > network of data centers
Data centers have an accompanying cooling plant

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

Characteristics of a cluster

A

-Many similar machines with close interconnection
-Special and standardized hardware (racks, blades, etc)
-Need lots of power, which is converted to heat, which then necessitates massive cooling

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

Parts of a cluster

A

Within a rack: network switch, many nodes/blades, storage devices
Network switch connects nodes with each other and with other racks
Nodes/blades are often identical

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

What is inside a data center?

A

-Hundreds/thousands of racks
-Massive networking
-Lots of power supplies
-Massive cooling

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

Data centers are globally distributed and networked, why do we need to distribute data centers globally?

A

-Reduced latency: bring cloud services closer to users
-Disaster recovery: when a data center goes down, other data centers can replicate the data
-Regional markets: deliver cloud services which are optimized for specific regional markets

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

Data centers have enabled cloud computing as these are used to provide cloud computing. What are the benefits?

A

-Economies of scale: Cheaper to run big data centers than many small ones
-Statistical resource multiplexing: High utilization of hardware resources
-Scalability: Thousands of servers available on demand, Add more within seconds
-No up-front commitment: No investment in data centers, enabling pay-as-you-go

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

What is utility computing?

A

-Services being provided by a cloud
-Focuses on the business model (pay-as-you-go), similar to classical utility companies

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

What is the web?

A

-The Internet’s information sharing model
-Most web services run on clouds

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

What is the internet?

A

-A network of networks.
-Used by the web; connects (most) clouds to their customers

17
Q

What are the applications of cloud computing?

A

-Application hosting
-Backup and Storage
-Content delivery
-E-commerce
-High-performance computing
-Media hosting
-On-demand workforce
-Search engines
-Web hosting

18
Q

What are some examples of the applications of cloud computing?

A

-DreamWorks applies the Cerelink cloud to render animation movies
-CERN leverages a “science cloud” to process experimental data
-Virgin atlantic hosts their travel portal on Amazon AWS

19
Q

The evolution of Cloud Computing has been compared to the evolution of electricity supply as a utility. Describe 3 specific problems that Cloud Computing solves as compared to businesses running their own data centers.

A

-Operational expenses: Cloud computing enables businesses to apply a subscription policy without investing in building and maintaining their own data centers.

-Scalability: Cloud computing enables on-demand computing resources by providing virtualized computing resources.

-Resource utilization: Cloud computing provides multi-tenant environments by allocating resources efficiently for different users, e.g., some tasks are computing intensive while some others are memory intensive.

20
Q

An established financial company is about to launch their new banking application. Give 3 reasons why the company should use their own data center rather than cloud computing.

A

-Data Security: Financial institutions must ensure CIA of user data security. By hosting their application in their own data center, the company can better protect their data security.

-Data Sovereignty: For international financial institutions, data sovereignty is critical because user data will be stored and processed in compliance with local laws and regulations.

-Optimized Performance: With their own data center, the company can have consistent performance for their application. Besides, they can fine-tune the infrastructure to optimize the application’s performance.

21
Q

Describe the concepts of vertical and horizontal scale. Describe 2 different ways in which you could scale a web application horizontally. Describe a potential architecture to scale the database to handle the scaling out of the web servers.

A

https://www.cloudzero.com/blog/horizontal-vs-vertical-scaling/
-Vertical scaling (aka scaling up) describes adding additional resources to the current system so that it meets demand.

-Horizontal scaling (aka scaling out) refers to adding additional nodes (such as additional servers) or machines to your infrastructure to cope with new demand.

-While horizontal scaling refers to adding additional nodes, vertical scaling describes adding more power to your current machines.

https://blurify.com/blog/top-tips-for-scaling-a-web-application/#How_to_scale_a_web_application
2 different ways to scale a web app horizontally:
-Manage load by dividing the system dataset and load over multiple servers. This allows you to add more independent machines to a system that connects to a given database to spread the load and increase capacity as required.
-Using a load balancer to manage and efficiently distribute traffic between servers

https://acropolium.com/blog/how-to-scale-web-app/
Potential architectures:
-Replication involves a central database and a few additional ones that store the copied data. Any request accomplished on the central database will be instantly replicated to the subordinate databases via a network. The most significant advantages of database replication are reliability, robust recovery, and improved read performance.

-Sharding method involves data distribution across numerous smaller databases. Multiple nodes store pieces of separated data. It significantly increases your app’s capacity and reduces the burdens caused by a single storage location.