cloud computing - cbnu · 클라우드컴퓨팅(cloud computing) cloud computing is the on-demand...

53
CLOUD COMPUTING

Upload: others

Post on 20-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

CLOUD COMPUTING

Page 2: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

INTRODUCTION

Cloud Computing의 전체적인 구조 이해

Page 3: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

3

Terminologies

클라우드컴퓨팅이란무엇인가?

“용어”를 포함한이해하고있는것을나열해봅시다

Page 4: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

4

Terminologies

클라우드컴퓨팅(Cloud Computing)

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet. Large clouds, predominant today, often have functions distributed over multiple locations from central servers. If the connection to the user is relatively close, it may be designated an edge server.

https://en.wikipedia.org/wiki/Cloud_computing

Page 5: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

5

Terminologies

Cloud Computing = Cloud + Computing

Computing is any activity that uses computers to manage, process,

and communicate information for various purposes.

https://en.wikipedia.org/wiki/Computing

A difference engine: computing the solution to a polynomial function

Page 6: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

6

Concept

컴퓨터 1대가 주어진다면

무엇을할 것인가?

Page 7: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

7

Concept

컴퓨터 1,000대가 주어진다면

무엇을 할 것인가?

Page 8: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

8

Cloud

Christophe Bisciglia

• Google에서 프로그래밍 모델 MapReduce를 대중화하고 Cloudera와WibiData를 공동 설립

구글 수백 만대의서버를 학생들이사용하도록 하면

어떨까?

Page 9: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

9

클라우드 컴퓨팅 개념의 시초

존 매카시(John McCarthy)

• 인공지능의 아버지

• 1965년 - 컴퓨팅 환경은 공공 시설을쓰는 것과 같을 것

• 누구나 사용이 가능

물리적이고 개인적인 한계에서 벗어나언제 어디서나 자유롭게 컴퓨팅이 가능

Page 10: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

10

역사(A Brief History)

클라우드 컴퓨팅의 개념(1961)

• 존 맥카시(John MaCarthy)의 유틸리티 컴퓨팅(Utility Computing)

John McCarthy (September 4, 1927 – October 24, 2011) was an American computer scientist and cognitive scientist. McCarthy was one of the founders of the discipline of artificial intelligence. He coined the term "artificial intelligence" (AI), developed the Lisp programming language family, significantly influenced the design of the ALGOL programming language, popularized timesharing, and was very influential in the early development of AI.

https://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)

In 1961, he was perhaps the first to suggest publicly the idea of utility computing, in a speech given to celebrate MIT's centennial: that computer time-sharing technology might result in a future in which computing power and even specific applications could be sold through the utility business model (like water or electricity). This idea of a computer or information utility was very popular during the late 1960s, but faded by the mid-1990s. However, since 2000, the idea has resurfaced in new forms (see application service provider, grid computing, and cloud computing).

Page 11: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

11

역사(A Brief History)

레오나르도 클레인록(Leonard Kleinrock)

켄 올슨 DEC 사장

“As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of ‘computer utilities’…”

Leonard Kleinrock (born June 13, 1934) is an American computer scientist. A professor at UCLA's Henry Samueli School of Engineering and Applied Science, he made several important contributions to the field of computer networking, in particular to the theoretical foundations of computer networking. He played an influential role in the development of the ARPANET, the precursor to the Internet, at UCLA.

*ARPANET(Advanced Research Projects Agency NETwork) Chief Scientist

Kenneth Harry "Ken" Olsen (February 20, 1926 –February 6, 2011) was an American engineer who co-founded Digital Equipment Corporation (DEC) in 1957 with colleague Harlan Anderson and his brother Stan Olsen.

In 1977, referring to computers used in home automation at the dawn of the home computer era, Olsen is quoted as saying "There is no reason for any individual to have a computer in his home.”

*DEC(Digital Equipment Corporation)

Page 12: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

12

클라우드 컴퓨팅 개념의 시초

1995년

• General Magic + AT&T + 기타 통신사

• "Magic Cap" OS로 클라우드 컴퓨팅 방식을 최초로 시작

• 통신 기술과 하드웨어 등 제반 기술의 한계로 실패

2006년

• Google사의 직원 크리스토프 비시글리아(Christophe Bisciglia)

• 본격적인 클라우드 서비스 시작

Page 13: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

13

Concept

"Computing"을 다시 생각해 보면, 어떻게 1대의 컴퓨터의 Computing의Capacity(처리량, 속도)를 올릴 것인가?

• CPU의 성능을 높인다

• 메모리 크기를 늘린다

https://www.quora.com/Why-hasnt-CPU-speed-gone-up-and-price-gone-down-for-past-2-years-December-2014

한계가 존재

Page 14: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

14

Concept

Computing 성능을 높이기 위해 Clustering을 생각해 볼 수 있음

• 개별 컴퓨터를 묶여(clustering) 하나의 목적으로 활용

A computer cluster is a set of loosely or tightly

connected computers that work together so that, in many

respects, they can be viewed as a single system. Unlike grid

computers, computer clusters have each node set to perform the

same task, controlled and scheduled by software.

https://en.wikipedia.org/wiki/Computer_cluster

Page 15: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

15

Concept

활용도가 낮은 친구의 컴퓨터를 사용하는 방법(1)

• 내 PC는 24시간 동안 Full 가동

• 내 친구 PC는 24-06시까지 휴면

24시간 가동(Computing)

07-24시까지만 가동(Computing)

24-06시까지 임대요청

중재자(broker) 필요

Broker

요청 가용자원 요청

가용자원 응답

[사례]

Page 16: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

16

Concept

SETI@home ("SETI at home") is an Internet-based public volunteer computing

project employing the BOINC software platform created by the Berkeley SETI

Research Center and is hosted by the Space Sciences Laboratory, at the

University of California, Berkeley. Its purpose is to analyze radio signals,

searching for signs of extraterrestrial intelligence, and as such is one of

many activities undertaken as part of the worldwide SETI effort.

https://en.wikipedia.org/wiki/SETI@home

Page 17: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

17

Concept

활용도가 낮은 친구의 컴퓨터를 사용하는 방법(2)

• 내 PC는 리소스의 100% 사용 Full 가동

• 내 친구 PC는 24시간 가동 중이나 리소스의 30%만 소비

24시간 가동(Computing)

리소스의 30%만 사용 중(Computing)

남는 리소스 요청

중재자(broker) 필요

Broker

요청 가용자원 요청

가용자원 응답

Page 18: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

18

Concept

처리해야 할 작업(jobs)A: 100% full B: 30% full

A’s job

B’s job

A의 작업과 B의 작업이 분리되어 A의 작업이 B 컴퓨터에영향을 주지 않을 필요가 있음 → Broker가 필요(Hypervisor)

https://www.redhat.com/en/topics/virtualization/what-is-virtualization

Page 19: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

19

Technologies

유휴자원을 활용하여 Computing의 Power를 높이는 기술들

Improving Utilization

Grid{Cluster} Computing

클러스터링하여 성능을 향상 자원을 분리하여 성능 향상

Cloud Computing*

Goal

*virtualization = Cloud Computing을 위한 기반 기술

Orchestration Virtualization

Service(Computing)

기반기술

Page 20: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

20

Technologies

Grid Computing과 Cloud Computing은 완전히 분리되지 않음

• Cloud Computing안에 Grid Computing을 구현할 수 있음

• 자원의 활용도(utilization)을 높이는 것이 목표

• 구현하는 기반기술이 Orchestration과 Virtualization으로 다름

High Throughput Computing

Improving Utilization

Grid{Cluster} Computing Cloud Computing

Page 21: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

21

Technologies

High Throughput Computing

Improving Utilization

Grid{Cluster} Computing Cloud Computing

High Performance Computing

Fast Computation

Supercomputer

Page 22: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

22

Technologies

놀고 있는 컴퓨팅 리소스 활용

[Utilization 관점]

그리드 = 클라우드High Throughput Computing(HTC) 범주

구현하는 방법 [Technology 관점]

그리드 클라우드

{Orchestration} {Virtualization}

데이터 센터 운영의 3대 이슈

1. 노는 자원 찾기 (Utilization)

2. 문제아 분리 (Service Stability)

3. 빠른복구 (Fast Recovery)

Cloud Computing을 통해 해결 가능

Page 23: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

CLOUD COMPUTING SERVICE

Page 24: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

24

Cloud Computing = Service

클라우드 컴퓨팅은 {서비스} 이다.

클라우드 컴퓨팅에는 어떤 서비스가 있는가?

Infrastructure as a Service (IaaS)

Platform as a Service (PaaS)

Software as a Service (SaaS)

서비스 = 비즈니스 = 이익창출

https://zetawiki.com/wiki/IaaS,_PaaS,_SaaS

Page 25: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

25

IaaS vs. PaaS vs. SaaS

https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/

Page 26: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

26

Service Provider vs. Consumers

서비스제공자(service provider)

• IaaS → 인프라를 쓴 만큼 청구

• PaaS → 플랫폼을 쓴 만큼 청구

• SaaS → 소프트웨어를 쓴 만큼 청구

서비스사용자(service consumers)

• 쓴 만큼 비용 지불

https://www.researchgate.net/figure/Cloud-Computing-Service-Model_fig1_259865832

Page 27: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

27

Cloud Computing Service Providers

http://www.thecloudinfographic.com/2012/04/19/top-cloud-computing-vendors.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+TheCloudInfographic+(The+Cloud+Infographic)&_m=3n.007d.7.da0ao039o2.4i

Page 28: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

28

Amazon과 Cloud

아마존은 왜 클라우드 사업에 뛰어들었을까?

Sales → Transactions → Computing Power

아마존 비즈니스 = 온라인 마켓에서 세일즈

Page 29: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

29

Amazon과 Cloud

성수기 4Q 비수기 2Q

컴퓨팅 파워는 성수기에 맞춰져야 한다. 하지만 비수기의 노는 컴퓨팅 파워는 어떻게?

놀고 있는 컴퓨팅 파워도 팔아보자! 어떻게?

Page 30: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

SERVICE ENABLING TECHNOLOGIES

Page 31: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

31

클라우드를 지탱하는 기술

CPU 가상화

I/O 가상화

Memory 가상화

Support

Hypervisor

Implementation

Cloud Computing (Service)

Virtualization (Technology)

A hypervisor or virtual machine

monitor (VMM) is a piece of computer software, firmware or hardware that creates and runs virtual machines.

http://en.wikipedia.org/wiki/Hypervisor

Page 32: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

32

Virtualization, Hypervisor

수정된Guest OS

수정되지 않은Guest OS

Page 33: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

33

가상머신 관리 툴

1000+개의 가상머신을 생성하고 관리한다면?

가상머신을 생성하고 관리해주는 툴을 이용

Page 34: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

34

어떤 솔루션을 배우고 활용할 것인가?

Linux Kernel Contribution 1위 기업RedHat

OpenStack Contribution 1위 기업 RedHat

RedHat KVM 인수

Page 35: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

35

클라우드컴퓨팅 요약

지금까지 살펴본 클라우드컴퓨팅을

돌아보면…

Virtualization

CPU 가상화I/O 가상화

Memory 가상화

Full Para

Hypervisor

Bare Metal Hosted

클라우드컴퓨팅 = 서비스

요소기술

기술

Guest OS 수정

Page 36: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

GRID COMPUTING

Page 37: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

37

Concept

전세계적으로 놀고 있는 컴퓨팅 자원을 사용해 보자

왜 이런 것이 필요한가?

http://www.csa.com/discoveryguides/grid/reviewf.php

초당 약 400만 번 충돌,

연간 ~50PB 데이터 생산

데이터를 분석해야 하는데…리소스가 없다!!!

Page 38: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

38

Concept

Grid Computing = Resource Orchestration

http://www.csa.com/discoveryguides/grid/reviewf.php

저 놀아요!

제 논데!

노는 사람 손!

고에너지물리분야에서

그리드컴퓨팅 적극적인 활용미국 유럽

Page 39: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

목표와 이점 (GOALS AND BENEFITS)

Page 40: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

40

투자절감과 비례비용

투자절감(Reduced Investments)

• 퍼블릭 클라우드 제공자는 클라우드 소비자에게 자체구축 대비경제적으로 서비스를 받을 수 있는 기회제공

• 하드웨어와 소프트웨어의 구입 및 유지 비용인 IT 투자비용 절감

비례 비용(Proportional Costs)

• 클라우드는 IT자원의 성능과 사용량을 기반으로 비용 예측가능

• 예측된 사용량만큼 클라우드 서비스와 계약을 하고, 초과한 것에 대해추가비용 지출(proportional cost)

Proportional costs are costs that arise because a product is manufactured or a service delivered. In the cost plan it is determined, which part of the costs will behave proportionally. If the actual output is lower than planned output, this means that proportional costs are converted into structure costs, because they cannot ‘slip into’ the products. In the case that the output is higher than planned, the reverse happens and the structure costs are converted into proportional costs, which means, that an increased use of available capacity is made to achieve productive output. Proportional costs are a synonym for variable costs.

https://www.controlling-wiki.com/en/index.php/Proportional_costs

Page 41: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

41

투자절감과 비례비용

클라우드 소비자의 혜택(Measurable Benefits)

• 단기간(short term)을 컴퓨팅을 On-Demand 방식으로 사용

- 1대 컴퓨터를 100시간 사용 비용 = 100대 컴퓨터를 1시간 사용 비용

• 사용 가능한 자원에 대한 제약이 없다고 인식

- 프로비저닝을 준비할 필요가 없음

• 미세한 수준으로 IT 자원 조절 가능(fine-grained level)

• 장치(device)나 장소(location)에 구애 받지 않음

Page 42: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

42

확장성, 가용성, 신뢰성

확장성 증대(Increased Scalability)

• IT 자원을 클라우드 소비자에게 온디맨드 방식으로 즉시 동적할당 가능

• 작업부하에 따라 자원으로 동적으로 확대 또는 감소 가능

24시간 동안 IT 자원 요구량 변화

Page 43: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

43

Page 44: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

44

Page 45: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

45

Page 46: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

46

Page 47: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

47

Page 48: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

48

Page 49: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

49

Page 50: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

50

Page 51: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

51

Page 52: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

52

Page 53: CLOUD COMPUTING - CBNU · 클라우드컴퓨팅(Cloud Computing) Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

53

확장성, 가용성, 신뢰성

가용성 증대(Increased Availability)

• 서비스 중단 → IT 자원의 사용과 수익성에 직접적인 영향

• 예측되지 않은 클라우드 서비스 중단(runtime failure)을 최소화 하거나완전히 제거할 수 있도록 하여 클라우드 기반 IT 자원의 가용성을 증대

• 가용성이 증대된 IT 자원은 더 오랜 시간 동안 접근 가능

신뢰성 증대(Increased Reliability)

• 신뢰성이 증대된 IT 자원은 예외 발생 상황을 더욱 효과적으로 방지하고복구할 수 있음

Service Level Agreement(SLA)를 통해 기술