understanding cloud computing - computer systems lab · 2019-09-17 · cloud computing is the...

72
UNDERSTANDING CLOUD COMPUTING Jo, Heeseung

Upload: others

Post on 06-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

UNDERSTANDING CLOUD COMPUTING

Jo, Heeseung

Page 2: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

기원과 영향력(ORIGINS AND INFLUENCES)

Page 3: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

3

Cloud

Christophe Bisciglia

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

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

어떨까?

Page 4: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

4

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

존 매카시(John McCarthy)

• 인공지능의 아버지

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

• 누구나 사용이 가능

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

Page 5: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

5

역사(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 6: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

6

역사(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 7: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

7

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

1995년

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

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

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

2006년

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

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

Page 8: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

8

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

2006년

• Amazon의 자회사 AWS (Amazon Web Service)

• 유휴 IT리소스 제공 시작

가상서버

여러 개의 데이터센터에서 수십만 대의서버를 이용

임대 후이용료 지불

Page 9: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

9

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

인터넷 서적 전자상거래 보완 -> 부수입창출초기

클라우드 컴퓨팅 서비스 -> 2014년 5조원 규모 영업이익 확대현재

Amazon

Page 10: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

11

클라우드 컴퓨팅 도래 이전

소프트웨어의 업그레이드와 유지보수를 위해 비용을지불하는 것이 부담

회사 구성원

개인

개인

개인

..

업무용 ERP SW

개인용 Office

문서편집 SW

..

업무용 ERP SW

개인용 Office

문서편집 SW

..

업무용 ERP SW

개인용 Office

문서편집 SW

Page 11: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

12

클라우드 컴퓨팅 시대

클라우드 컴퓨팅 개념

• IT 자원 구입 없이 개인이나 기업에서 필요한 시점에 필요한만큼만 임대하여 사용

Page 12: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

13

클라우드 컴퓨팅 시대

클라우드 컴퓨팅의 일반적인 사용 형태

Cloud

Internet

Data Center

Smart Phone

SmartPad

PC

Mobile PC

Page 13: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

14

컴퓨팅 모델의 진화

컴퓨팅 모델 컴퓨팅 방식 클라이언트 형태 네트워크 연결

메인프레임 기반컴퓨팅

메인프레임에서비즈니스 로직, DB등을모두 처리

더미 터미널(dummy terminal)

전화선, WAN기반, 병목현상

클라이언트/서버컴퓨팅

WAS 서버는 응용 로직을처리하고, DB서버는 DB트랜잭션 처리

PC, 워크스테이션(workstation)에서 화면 표출, 일부 비즈니스 로직 처리 담당

LAN기반, 병목 해결

클라우드 컴퓨팅멀티코어 CPU장착한 서버클러스터에서 제반 컴퓨팅을 처리

웹브라우저, 씬 클라이언트, 모바일단말 등에서 3개서비스 방식으로컴퓨팅 이용

광역망(broadband)기반

Page 14: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

15

그리드 컴퓨팅(Grid computing)

클러스터링(Clustering)

가상화(Virtualization)

클라우드 컴퓨팅 관련 기술

✓ 컴퓨팅 자원을 하나 이상의논리적 풀로 조직화해플랫폼을 제공하는 것

✓ 독립적인 IT 자원들을 상호연결하여 그룹으로 묶어 하나의 단일시스템처럼 작동하도록 하는 것

✓ 컴퓨터 리소스의 물리적인 특징을 추상화→ 사용자에게 논리적

리소스를 제공→ 다양한 기술적/관리적

이점 제공

Page 15: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

클라우드 컴퓨팅 정의

Page 16: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

17

클라우드 컴퓨팅의 정의

IT 자원의 렌탈샵 아마존 클라우드 컴퓨팅 서비스 AWS 개념도

Page 17: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

18

Amazon의 AWS

컴퓨팅 자원

• EC2(Elastic Compute Cloud)가 대표적

• 응용 요구에 따라 1개의 서버로부터 대형 서버 클러스터까지제공이 가능

스토리지 자원

• S3(Simple Storage Service)와 EBS(Elastic Block Store)가대표적

• 임의의 크기 데이터를 언제 어디서나 저장하고검색할 수 있는 비용과 효율적인 솔루션 제공이 이에 해당

네트워크 자원

데이터베이스

Page 18: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

19

Amazon의 AWS

컴퓨팅 자원

스토리지 자원

네트워크 자원

• 클라우드 내부 및 외부의 네트워크 자원을 커스터마이즈하고,제어할 수 있도록 함

• Virtual Private Cloud 일명(VPC)와 Route 53등이 있음

데이터베이스

• DynamoDB, MySQL, Oracle등의 DBMS를 임대할 수 있음

Page 19: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

20

정의(Definitions)

가트너(Gartner)

포레스터 리서치(Forester Research)

“확장 가능하고 탄력적인 IT 기능을 서비스 형태로 제공하는 컴퓨팅 방식“

“…a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service to external customers using Internet technologies.”

“인터넷 기술을 통해 사용량에 따라 과금 하거나 셀프서비스 하는 방식으로 제공되는 표준화된 IT 기능 “

“…a standardized IT capability (services, software, or infrastructure) delivered via Internet technologies in a pay-per-use, self-service way.”

Page 20: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

21

정의(Definitions)

Wikipedia

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 21: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

22

?

Page 22: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

23

NIST의 Cloud Computing 정의

NIST(National Institute of Standards and Technology)

• 미국의 표준기관

보안(Security)

상호연동성(Interoperability)

호환성(Portability)

클라우드 컴퓨팅 표준안 개발

구성 가능한 컴퓨팅 자원의 공유 풀에 대해 언제 어디서나, 편리하게,

필요에 따른 네트워크 접근을 가능하도록 하기 위한 모델

Page 23: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

24

정의(Definitions)

미국국립표준기술연구소(NIST)

• 컴퓨팅자원(예: 통신망, 서버, 저장장치, 애플리케이션, 서비스)에 언제 어디서나 필요에 따라 편리하게 네트워크를 통해접근하는 기능을 제공

• 컴퓨팅 자원은 최소한의 관리로 신속하게 프로비저닝되고 배포

• 클라우드모델은 5가지 기본특성, 3가지 서비스 모델, 4가지 배포모델

“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.”

(Book) “클라우드 컴퓨팅은 원격지에서 제공하는 확장성 있는

자원의 사용 모델을 도입한 분산 컴퓨팅의 특수한 형태"

Page 24: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

25

NIST's Categorizations

Essential Characteristics

• On-demand self-service:

- A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.

• Broad network access

- Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).

• Resource pooling

- The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.

• Rapid elasticity measured service

- Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

Page 25: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

26

NIST's Categorizations

Service Models

• Software as a Service (SaaS)

- to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception oflimited user-specific application configuration settings.

• Platform as a Service (PaaS)

- to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.

• Infrastructure as a Service (IaaS)

- to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).

Page 26: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

27

NIST's Categorizations

Deployment Models

• Private cloud

- The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.

• Community cloud

- The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.

• Public cloud

- The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.

• Hybrid cloud

- The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).

Page 27: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

28

사업적 동기(Business Drivers)

용량계획(Capacity Planning)

• 리드전략 (lead strategy): 수요를 예상해 IT 자원 용량 추가

• 지연전략 (lag strategy): IT 자원이 최대 용량에 도달했을 때용량 추가

• 일치전략 (match strategy): 수요가 증가하는 만큼 IT 자원 용량추가

최대 사용 부하(peak usage requirement)를 충족하기 위해

IT 인프라를 갖추는 것은 부적절하게 많은 재정을 투자 초래

왜 클라우드인가?

Page 28: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

29

사업적 동기(Business Drivers)

비용 절감(Cost Reduction)

• 새로운 인프라를 구축하기 위한 비용과 유지비용

• 운영 오버헤드는 IT 예산의 상당한 비중을 차지

- 환경유지를 위한 기술 인력

- 추가적인 테스트와 배포 싸이클에 필요한 업그레이드와 패치

- 전원 및 냉각장치에 필요한 유틸리티 요금과 자본 비용

- 인프라자원 보호를 위한 보안과 접근 제어 수단

Page 29: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

30

The Economics of Cloud Computing

CAPEX(Capital expenditures) : 초기 자산 구매 비용OPEX (Operating Expenditure) : 운영 비용

Page 30: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

31

A small e-commerce configuration

3 years

•2 firewalls: 2 x $1,500 = $3,000•2 load-balancers: 2 x $5,000 = $10,000•6 commodity servers: 6 x $3,000 = $18,000

Page 31: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

32

Internal IT Deployment

Page 32: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

33

Colocation Deployment

Page 33: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

34

Managed-Service Deployment

Page 34: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

35

Cloud Deployment

Page 35: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

36

A Small E-Commerce Configuration

What if we only need it for 6 months?

• Internal IT deployment?

• Cloud deployment?

Page 36: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

37

A Small E-Commerce Configuration

Page 37: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

38

사업적 동기(Business Drivers)

조직의 민첩성(Organizational Agility)

• 내외부적으로 발생하는 변화에 대처할 수 있는 역량이 필요

• IT 인프라 추가적으로 구축해야 하는 경우 발생

- 예산의 제약으로 제한적인 IT 구축 → 서비스 수요 증가

• 인프라의 가용성(availability)과 신뢰성(reliability)의 유지능력

- availability = T운영시간/T전체시간, 운영시간 = 전체시간 - 유지보수시간

- reliability = T운영시간/T가용시간, 가용시간 = 전체시간 - scheduled downtime

• 특정 시스템의 런타임 예외사항 발생에 대한 대처 능력

Page 38: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

39

기술혁신(Technology Innovations)

클러스터링(Clustering)

• 여러 독립적인 IT 자원을 연결하여 마치 하나의 시스템(single system)과 같이 동작하도록 하는 기술(예: HTCondor, SUN Grid Engine, Univa)

• 일반적으로 동일한 기종의 하드웨어와 운영체제로 이루어짐

클라우드 컴퓨팅에 영향을 준 기술들

http://ixbtlabs.com/articles/clustering/index.html

LAN – Local Area NetworkSAN – Storage Area Network

Page 39: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

40

기술혁신(Technology Innovations)

그리드컴퓨팅(Grid Computing)

• 논리적인 그룹으로 구성 (ex: Community - Virtual Organization)

- CERN ALICE 실험, CMS 실험, 미국 LIGO 실험

• 느슨한 연결(loosely coupled)되고 지역적으로 분산되어있음

• 미들웨어가 가용자원을 파악하고 지정하는 역할

- 미국 OSG(Open Science Grid), 유럽 EGI(European Grid Initiative)

클라우드 컴퓨팅에 영향을 준 기술들

https://opensciencegrid.org/

Page 40: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

41

기술혁신(Technology Innovations)

가상화(Virtualization)

• 가상 인스턴스(virtual instance)를 만드는 기술

• 컴퓨터에서 컴퓨터 리소스의 추상화를 일컫는 광범위한 용어

• 하이퍼바이저라고 하는 소프트웨어를 사용하여 하나의 물리적머신에서 가상 머신(VM)을 만드는 프로세스

- VM은 물리적 머신과 동일한 역할과 성능을 수행하지만 CPU, 메모리및 스토리지와 같은 물리적 머신의 컴퓨팅 리소스를 사용

- 하이퍼바이저는 필요에 따라 각 VM에 이러한 컴퓨팅 리소스를 할당

• 서버 가상화를 통해 컴퓨터에서 동시에 1개 이상의 운영제체를가동

- 대부분의 서버는 단지 용량의 10~15%만 사용 → 서버의효용률(utilization rate)을 70%

• 높은 효용률 → 동일한 처리량을 위한 컴퓨터 수를 줄여줌

클라우드 컴퓨팅에 영향을 준 기술들

Page 41: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

42

Summary

클라우드 컴퓨팅을 적용하게 되는 사업적인 동인(driver)

• 용량계획

• 비용절감

• 조직적 민첩성

클라우드 컴퓨팅에 영향을 준 기술

• 클러스터링

• 그리드 컴퓨팅

• 가상화 기술

Page 42: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

기본 개념과 용어(BASIC CONCEPTS AND TERMINOLOGY)

Page 43: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

44

용어(Terminology)

클라우드(Cloud)

• 확장가능(scalable)하고 측정할 수 있는 IT 자원(measured IT resource)을 원격으로 프로비저닝(provisioning)할 수 있는 IT 환경

프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것. 서버 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝.

• IT자원(IT Resources)

– 물리 또는 가상의 IT관련 산물

Page 44: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

45

용어(Terminology)

온프레미스(On-Premise)

• 조직의 통제하에 있는 전통적인 IT 자원

• 소프트웨어 등 솔루션을 자체 보유한 전산실에 직접 설치운영

• 구축에 시간이 많이 걸리고 많은 비용이 소요됨

- 보안이 필요한 서비스와 데이터는 온프레미스로 구축

- 덜 중요한 서비스와 데이터는 퍼블릭 클라우드 환경을 사용 →

하이브리드(Hybrid) IT 인프라

클라우드제공자와 클라우드소비자

• 클라우드기반의 IT자원을 제공하는 측(Cloud Provider)

• 사용하는 측(Cloud Consumers)

Page 45: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

46

용어(Terminology)

확장(Scaling)

• 수평적확장(horizontal scaling): 동일한 타입의 IT 자원을추가하여 확장

• 수직적확장(vertical scaling): IT 자원의 성능을 높여 확장

An IT resource (Virtual Server A) is scaled out by adding more of the same IT resources(Virtual Severs B and C)

An IT resource(a virtual server with two CPUs) is scaled up by replacing it with a more powerful IT resource with increased capacity for data storage(a physical server with four CPUs)

scale out

scale up

Page 46: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

47

용어(Terminology)

수평적 확장 vs 수직적 확장의 장단점

수평적 확장 수직적 확장

저비용(through commodityhardware components)

고비용(특화된 서버)

IT 자원 즉시 이용 가능 정성적인 경우 IT 자원 즉시 이용

자원 복제 및 자동 확장 수월 추가설정 필요

추가 IT 자원 필요 (서버 등) 추가 IT 자원 필요 없음 (서버 등)

하드웨어 용량에 제한을 받지 않음 최대 하드웨어 용량에 제약을 받음

Page 47: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

48

용어(Terminology)

클라우드 서비스(Cloud Service)

• 클라우드를 통해 원격으로 접근할 수 있는 모든 IT 자원

• 다양한 클라우드 서비스 모델이 등장, "~as-a-service"로 표현

공개된 인터페이스를 통해 접근 원격지의 가상머신에 접근

Page 48: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

49

용어(Terminology)

클라우드 서비스 소비자(Cloud Service Consumer)

• 클라우드 서비스에 접근할 때 소프트웨어 프로그램에 의해부여되는 일시적인 런타임 역할

• 클라우드 서비스에 원격에서 접근할 수 있는 소프트웨어프로그램과 서비스로 소프트웨어가 구동되는 워크스테이션, 랩탑컴퓨터, 모바일 기기 등을 포함

클라우드 서비스 소비자 예시

Page 49: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

목표와 이점(GOALS AND BENEFITS)

Page 50: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

51

투자절감과 비례비용

투자절감(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 51: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

52

투자절감과 비례비용

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

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

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

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

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

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

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

Page 52: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

53

확장성, 가용성, 신뢰성

확장성 증대(Increased Scalability)

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

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

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

Page 53: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

54

Page 54: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

55

Page 55: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

56

Page 56: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

57

Page 57: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

58

Page 58: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

59

Page 59: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

60

Page 60: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

61

Page 61: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

62

Page 62: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

63

Page 63: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

64

확장성, 가용성, 신뢰성

가용성 증대(Increased Availability)

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

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

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

신뢰성 증대(Increased Reliability)

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

Service Level Agreement(SLA)를 통해 기술

Page 64: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

65

Summary

클라우드 환경

• 실제 사용한 만큼만 청구되는 사용량당 과금 방식

• 임대되는 IT 자원의 풀을 제공하는 광범위한 인프라로 구성

• 온프레미스 환경과 비교할 때 초기투자비용과 운영 비용 절감

클라우드의 특성

• 사용량이 늘어나거나 줄어드는 것에 대해 자원을 동적으로 제어가능

• 비례비용(proportional cost)와 직접적으로 연관되어 있음

클라우드를 통한 서비스 품질 향상

• IT 자원의 가용성과 신뢰성을 높일 수 있음

• 예측하지 못한 런타임 오류로 인한 비용손실 최소화

• 예외발생에 대한 대비를 통해 신뢰성 향상

Page 65: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

위험과 고려사항(RISKS AND CHALLENGES)

Page 66: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

67

보안 취약성 증가(Increased Security Vulnerabilities)

데이터 이전에 의한 보안 취약성

• 클라우드로 데이터의 이전(data moving)은 데이터보안(data security)에 대한 책임이 클라우드 제공자와 공유

• 신뢰경계(trust boundary, 신뢰할 수 있는 영역)의 확장

• 클라우드 소비자와 제공자간 호환성있는 보안 프레임워크를사용하지 않는 이상 보안 취약점이 존재

Page 67: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

68

보안 취약성 증가(Increased Security Vulnerabilities)

신뢰경계 중첩(overlapping)에 의한 취약성

• 보안정책은 클라우드 제공자와 소비자에게 공통적용으로 변환

• 클라우드 제공자가 클라우드 소비자의 데이터에 대한 접근이가능

• 여러 클라우드 소비자의 신뢰경계가 중첩되어 악의적인 클라우드소비자(malicious cloud consumer)에게 취약점 노출

overlap of two organization's trust boundaries

Page 68: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

69

운영 관리 통제권한 축소(Reduced Operational Governance Control)

클라우드 환경에서의 통제 제어권한의 축소

• 온프레미스 IT 자원보다는 낮은 수준의 통제권을 부여 받음

• 클라우드 제공자가 클라우드를 어떻게 운영하는지에 의존

• 클라우드와 클라우드 소비자간 외부통신에 의존

신뢰도가 낮은 네트워크

연결은 클라우드

소비자와 클라우드

제공자 사이의 보안을

취약하게 만듦

Page 69: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

70

운영 관리 통제권한 축소(Reduced Operational Governance Control)

지리적 거기가 멀수록 네트워크 홉수(hops)가 많아짐 → 잠재적인 위험요소 발생

Page 70: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

71

클라우드 제공자 사이의 제한된 이식성(Limited Portability Between Cloud Providers)

완전하게 확립된 산업표준의 부재

• 독점환경에 종속된 맞춤형 솔루션은 한 클라우드 제공자에서다른 제공자로 이식을 어렵게 함

클라우드 B의 제공자 Y는 클라우드 A의 제공자

X와 동일한 보안 기술 지원하지 않음 →

클라우드 A를 클라우드제공자 Y로 이식성이 낮음

Page 71: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

72

지역적 규제와 법적 이슈(Multi-Regional Compliance and Legal Issues)

지역적 규제

• 클라우드 제공업체는 저비용과 편리한 장소에 데이터센터를 구축

• 클라우드 소비자는 IT자원과 데이터의 실제 위치를 인식하지못함

법적 이슈

• 개인정보보호 및 저장소 정책에 관한 규제와 관련한 법적 문제

- 예: 영국은 영국시민과 관련된 개인 정보는 영국 내에 보관

• 특정 형태의 데이터는 정부의 특정기관(certain government agencies)에 공개 해야 하는 법 존재

- 예: 미국에 위치한 클라우드를 사용하는 다른 국가의 사용자들의데이터를 미국정보기관이 쉽게 접근 가능(유럽의 경우보다 쉽게 접근)

일반적으로 데이터가 외부 클라우드에 있더라도 데이터에 관한

보안, 무결성에 대한 책임은 최종적으로 소비자에게 있다고 인식

Page 72: UNDERSTANDING CLOUD COMPUTING - Computer Systems Lab · 2019-09-17 · Cloud computing is the on-demand availability of computer system resources, especially data storage and computing

73

Summary

신뢰경계(Trust Boundary)

• 다수의 클라우드 소비자가 IT 자원을 공유

• 중복된 신뢰경계와 관련된 보안적 취약성이 존재

통제 제어권한의 축소

• 온프레미스 IT 자원보다는 낮은 수준의 통제권을 부여 받음

• 클라우드 제공자가 클라우드를 어떻게 운영하는지에 의존

이식성의 제한

• 클라우드 기반 IT 자원의 이식성은 개별 클라우드 특성에 제한

지역적 규제와 법적이슈

• 클라우드 제공자의 IT 자원의 위치는 다양한 법적과 규제적 이슈존재