• 沒有找到結果。

AN INTRODUCTION TO CLOUD COMPUTING

N/A
N/A
Protected

Academic year: 2022

Share "AN INTRODUCTION TO CLOUD COMPUTING"

Copied!
34
0
0

加載中.... (立即查看全文)

全文

(1)

AN INTRODUCTION TO CLOUD COMPUTING

Web, as a Platform…

(2)

Outline

 Web2.0 – The Trends

 Cloud Computing

 Issues

 Applications

 Applications

 Q&A

(3)

Outline

 Web2.0 – The Trends

 Cloud Computing

 Issues

 Applications

 Applications

 Q&A

(4)

Web 2.0

 A transformation of web contents from static to dynamic.

 Self Publishing / Blogger.com(1999), YouTube(2005)

 Feeds / RSS(1999), Atom(2003)

 Feeds / RSS(1999), Atom(2003)

 Tagging / del.icio.us(2003), flickr(2004)

 Ajax / Gmail(2004), Google Map(2005)

 Long Tail / Amazon(1994), AdSense(2005)

 Collaboration / Wikipedia(2001), Google docs(2006)

 Social / MySpace(2003), Facebook(2004)

 MicroBlogging / Twitter(2006), Plurk(2008)

(5)

Web 2.0

 The Importance is…

Nowadays, PEOPLE DO



Nowadays, PEOPLE DO

SPEND MORE TIME ON THE

WEB.

(6)

Web as Application

 Searching

 Authoring

 Interaction

 Social

 Social

 ……

 And any mix of above

(7)

So…?

 What do folks care about?

 Availability?

 Scalability?

 Efficiency?

 Efficiency?

 Consistency?

 Reliability?

(8)

More Insight in SCALABILITY

 Why is scalability important?

 Server may be down because of overloading.

 Server may be down because of overloading.

 In ordinary viewpoint, NOT SERVING = USELESS !!!

(9)

Heroku, An Example

(10)

Outline

 Web2.0 – The Trends

 Cloud Computing

 Issues

 Applications

 Applications

 Q&A

(11)

Cloud?

(12)

Cloud Computing

 The International Workshop on Cloud Computing(2009)

 Cloud Computing is defined as a pool of virtualized computer resources. Based on this virtualization the Cloud Computing

paradigm allows workloads to be deployed and scaled-out quickly through the rapid provisioning of virtual machines. A Cloud Computing platform supports redundant, self-recovering, highly scalable programming models that allow workloads to highly scalable programming models that allow workloads to recover from many inevitable hardware/software failures and monitoring resource use in real time for providing physical and virtual servers on which the applications can run. A Cloud

Computing platform is more than a collection of computer

resources because it provides a mechanism to manage those resources. In a Cloud Computing platform software is migrating from the desktop into the "clouds" of the Internet, promising users anytime, anywhere access to their programs and data.

(13)

Cloud Computing(cont.)

 Wikipedia

 Cloud computing is the provision of dynamically scalable and often virtualized resources as a service over the

Internet on a utility basis.[1][2] Users need not have

knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them. Cloud

infrastructure in the "cloud" that supports them. Cloud computing services often provide common business

applications online that are accessed from a web browser, while the software and data are stored on the servers.

The term cloud is used as a metaphor for the Internet, based on how the Internet is depicted in computer network

diagrams and is an abstraction of the underlying infrastructure it conceals.

(14)

Cloud Computing(cont.)

 SearchCloudComputing.com

 Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-

Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a- Service (SaaS). The name cloud computing was inspired by the Service (SaaS). The name cloud computing was inspired by the cloud symbol that's often used to represent the Internet in flow charts and diagrams. A cloud service has three distinct

characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic -- a user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access).

(15)

Cloud Computing(cont.)

1. Accessible with any device with a browser

2. Focusing on scaling

3. Easy to use

4. Elastic (use on demand)

4. Elastic (use on demand)

5. Virtualization

(16)

SaaS, IaaS, PaaS

 Software as a Service

 Search, Amazon, Facebook…

 Infrastructure as a Service

 Infrastructure as a Service

 Amazon EC2, GoGrid, 3tera…

 Platform as a Service

 Google AppEngine, Heroku, Aptana

(17)

To User

 Data can be stored in the cloud

 Accessible anywhere

 Collaboration

 More powerful and efficient

 More powerful and efficient

(18)

To Developer

 More reliable (distributed) data center

 More reliable serving

 Dynamic scalability

 PaaS

 PaaS

(19)

Outline

 Web2.0 – The Trends

 Cloud Computing

 Issues

 Applications

 Applications

 Q&A

(20)

Issues

 Scalability

 Reliability

 Data Consistency

 Efficiency

 Efficiency

(21)

Scalability

 Scalability

 One cannot predict the number of user correctly

 Use on demand

(22)

Reliability

 The service must be persistent and robust.

 Load Balancing

 Fault-Tolerant

 Fault-Tolerant

 Crash Detection

 Self-Recovering Ability

(23)

Consistency

 Data must be consistent anytime.

 No corruption, volatility

 Error Checking Mechanism

 Error Checking Mechanism

 Redundancy

 Locking Mechanism

(24)

Efficiency

 Cloud leverages computing power to obtain low latency.

 Commodity Hardware

 Commodity Hardware

 Parallelism

 Efficient Memory Caching

 Bandwidth

(25)

Outline

 Web2.0 – The Trends

 Cloud Computing

 Issues

 Applications

 Applications

 Q&A

(26)

Applications

 Google Application

 MapReduce : Processing

 BigTable : Database Management

 GFS : Storage

 GFS : Storage

 Chubby : Locking service

 App Engine : Serving (Now opened !)

 Hadoop

 Open-source Implementation of MapReduce & GFS

(27)

MapReduce

 Automatic & efficient parallelization and distribution

 Fault-tolerable and robust processing

(28)

BigTable

 Distributed multi-level sparse map

 Reliable database management

 Fault-tolerant and Persistent

 Highly scalable

 Highly scalable

 Self-load-balancing

(29)

Google File System(GFS)

 Reliable and efficient data storage.

 High performance to mutation.

 File chunks are replicated for backup.

 Master/Chunk-server mechanism

 Master/Chunk-server mechanism

(30)

Chubby

 Coarse-grained Locking Service

 Fault-tolerance file management

 Paxos consensus Algorithm

(31)

AppEngine

 IaaS + PaaS

 Purchase additional resources if needed.

 High scalability, efficiency, and reliability.

(32)

Cloud Computing To Smart Home?

1. A robust and efficient statistic center and processing center.

2. A stronger monitoring ability.

3. More service availability.

3. More service availability.

4. Fault-tolerance mechanism.

5.

And more!

(33)

Outline

 Web2.0 – The Trends

 Cloud Computing

 Issues

 Applications

 Applications

 Q&A

(34)

Q & A

 Any feedback or problems?

參考文獻

相關文件

Programming languages can be used to create programs that control the behavior of a. machine and/or to express algorithms precisely.” -

Structured programming 14 , if used properly, results in programs that are easy to write, understand, modify, and debug.... Steps of Developing A

• A cell array is a data type with indexed data containers called cells, and each cell can contain any type of data. • Cell arrays commonly contain either lists of text

JRE (Java Runtime Environment): for users, JVM + basic libraries JDK (Java Development Kit): JRE + compilers + ... —jdk-6u12-windows-i586-p.exe or other platform

OOP: organized DATA + organized code (ACTION) using classes as the basic module. action are closely coupled

• National Human Genome Research Institute(NHGR I) hosted several meetings on cloud computing and on informatics and analysis in 2010.. • “One thing that is clear is that as

• Instead of uploading and downloading the dat a from cloud to client for computing , we shou ld directly computing on the cloud ( public syst em ) to save data transferring time.

To illustrate how LINDO can be used to solve a preemptive goal programming problem, let’s look at the Priceler example with our original set of priorities (HIM followed by LIP