29
클클클클 클클클 클클 클클 1 클 클클클클클 클클 2011-02-21

클라우드 컴퓨팅 구현 기술 1 장 클라우드의 출현 안 현 2011-02-21. GRRC@Kyonggi Univ.: Contents Convergence Software Research Center 인터넷 서비스 업체의

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

클라우드 컴퓨팅 구현 기술

1 장 클라우드의 출현

안 현

2011-02-21

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

인터넷 서비스 업체의 성공구글 – 검색 , 아마존 – 도서 판매 , 세일즈포스닷컴 – CRM

전 세계 인터넷 사용자를 대상으로 하는 서비스 제공

자체 서비스를 위한 대규모 인프라가 구축돼 있으며 , 이를 효율적으로 관리 하기 위한 많은 기술과 노하우를 보유

2

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

인터넷 서비스 업체의 성공구글

수십만 대 이상의 서버 관리 기술 , 수십 페타바이트의 데이터 저장 , 분석 기술 보유

메일 , 일정 , Docs 등과 같은 일반 사용자가 사용하는 클라우드 기반의 서비스 제공

엡엔진 클라우드 기반의 플랫폼 서비스 제공

아마존가상 머신 , 스토리지 등 클라우드 인프라 자원 서비스

세일즈포스닷컴기업 대상 CRM 웹 애플리케이션 서비스

3

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존의 인프라 서비스온라인 서점 판매 서비스 특성상 주말 , 특정 시간에 사용자 접속이 집중

전통적인 방법에 따라 집중 시간대에 대비한 서버 , 네트워크 자원의 준비

평소 시간대의 자원 활용도가 낮음

여유 자원을 외부에 제공하는 서비스의 시작

일반적인 시스템을 구성하는 인프라 자원물리적인 서버 , 네트워크 , 데이터베이스 , 스토리지 등

부가적인 로드밸런서 , 도메인 서버 , 메시징 큐 등

하드웨어를 이용한 시스템 통합은 유연성이 떨어짐

4

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존의 인프라 서비스AWS (Amazon Web Service)

아마존에서 제공하는 통합된 형태의 인프라 클라우드 서비스

기존의 하드웨어 기반의 시스템 인프라를 소프트웨어 기반의 서비스 형태로 제공하는 특징

클라우드 컴퓨팅의 인프라 서비스 (IaaS) 의 시작

물리적인 서버 자원을 가상 머신이라는 소프트웨어로 표현

로드밸런서 등록 등과 같은 작업은 가상 머신이 실행됨과 동시에 자동으로 수행 ( 오토 스케일링 서비스 )

5

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존 AWS 서비스 구성

컴퓨팅 서비스 (EC2, Elastic Cloud Computing)

AWS 서비스의 핵심 서비스

가상의 서버를 제공하는 서비스 ( 수 분 내에 시작 가능 )

비용은 서버 사용 시간에 따라 지불

아마존의 인프라 서비스

6

심플 DBSQS

Queue

가상프라이빗클라우드

EC2

오토스케일링

Elastic로드밸런싱

클라우드워치

Elastic블록

스토리지

심플스토리지서비스

Elastic맵리듀스

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존 AWS 서비스 구성

EC2 부가 서비스오토 스케일링 (Auto Scaling) – 등록된 룰에 따라 자동으로 서버가 생성 ,제거되는 서비스

Elastic 로드밸런싱 (Elastic Load Balancing) – 소프트웨어 로드밸런서를 제공

아마존의 인프라 서비스

7

심플 DBSQS

Queue

가상프라이빗클라우드

EC2

오토스케일링

Elastic로드밸런싱

클라우드워치

Elastic블록

스토리지

심플스토리지서비스

Elastic맵리듀스

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존 AWS 서비스 구성

EC2 부가 서비스클라우드 워치 (Cloud Watch) – 모니터링 정보를 조회할 수 있는 화면고 API제공

Elastic 블록 스토리지 (Elastic Block Storage) – 가상 머신에 마운트해 사용

Elastic 맵리듀스 (Elastic Map&Reduce) – 대규모 분산처리

아마존의 인프라 서비스

8

심플 DBSQS

Queue

가상프라이빗클라우드

EC2

오토스케일링

Elastic로드밸런싱

클라우드워치

Elastic블록

스토리지

심플스토리지서비스

Elastic맵리듀스

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존 AWS 서비스 구성

스토리지 서비스 (S3, Simple Storage Service)대규모 스토리지를 제공하는 서비스

첨부파일 , 웹의 이미지 파일 , 데이터 파일 등을 저장하는 용도

아마존의 인프라 서비스

9

심플 DBSQS

Queue

가상프라이빗클라우드

EC2

오토스케일링

Elastic로드밸런싱

클라우드워치

Elastic블록

스토리지

심플스토리지서비스

Elastic맵리듀스

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존 AWS 서비스 구성

데이터베이스 서비스 (Simple DB)대용량 데이터베이스를 제공하는 서비스

관계형 데이터베이스가 아닌 자체적으로 개발한 데이터베이스

아마존의 인프라 서비스

10

심플 DBSQS

Queue

가상프라이빗클라우드

EC2

오토스케일링

Elastic로드밸런싱

클라우드워치

Elastic블록

스토리지

심플스토리지서비스

Elastic맵리듀스

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

물리적 구성과 AWS 서비스 매칭

아마존의 인프라 서비스

11

일반적인 시스템 구성

트래픽

방화벽

로드밸런서(L4)

서버 서버

데이터베이스( 오라클 등 )

스토리지(SAN, NAS)

백업 도구( 테이프 , 디스크 어레이 )

모니터링도구

AWS 서비스를 이용한 시스템 구성

트래픽

시큐리티 그룹

Elastic로드밸런싱

EC2 인스턴스 EC2 인스턴스

심플 DB S3

클라우드워치

오토 스케일링

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

아마존의 인프라 서비스AWS 와 아마존 쇼핑 사이트 트래픽 비교

12

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

창업 초창기의 열악한 하드웨어 환경안정적인 서비스를 운영하기 위한 소프트웨어 집중 개발

1 조개 이상의 웹 페이지를 관리하기 위한 수십만 대 이상의 리눅스 서버 (x86) 를 운영

유닉스나 메인프레임에 비해 안정성이 떨어지는 하드웨어의 문제점을 소프트웨어로 해결

축적된 기술과 노하우가 클라우드 컴퓨팅에 성공적으로 적용됨

구글 내부 시스템을 구성하는 시스템 소프트웨어의 대한 일부 논문 공개내부 시스템을 복제해 구현하기 위한 오프소스 프로젝트 ( 하둡 )

구글의 컴퓨팅 인프라와 플랫폼 서비스

13

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

구글 파일 시스템수천 대 이상의 분산된 서버를 이용해 수십 페타바이트 이상 대규모의 파일을 저장할 수 있는 파일 시스템

파일의 복제본을 자동 관리

구글 맵리듀스대용량 처리를 수행하는 배치 작업을 수행시키고 관리하는 프레임워크

주로 구글 파일 시스템에 저장된 데이터를 분석

빅테이블구글 파일 시스템상에서 운영되는 분산 데이터베이스 시스템

관계형 데이터 모델이 아닌 빅테이블 자체에서 정의한 데이터 모델 기반

구글 내부 시스템 소프트웨어

14

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

쏘즐 (Sawzall)

스크립트 기반으로 간단하게 맵리듀스 프로그램 작성을 지원

처비 (Chubby)

분산 락 시스템

분산된 서버 사이에서 발생하는 자원에 대한 공유 문제를 해결

프로토콜 버퍼서로 다른 프로그래밍 언어나 플랫폼 간에 데이터 전송 , 교환을 위한 프로토콜 표준 플랫폼

구글 내부 시스템 소프트웨어

15

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

구글의 시스템 소프트웨어 구성

구글 내부 시스템 소프트웨어

16

대용량 분석 프로그램

쏘즐

맵리듀스

인터넷 서비스

빅테이블

구글 파일 시스템

처비

구글 리눅스

구글 하드웨어

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

구글 인프라 시스템의 기본 요건컴퓨팅 리소스 ( 서버 ) 나 스토리지 ( 디스크 ) 같은 자원을 추가 , 삭제할 때 기존 프로그램을 변경하지 않거나 최소화돼야 함

장애 발생 상황을 바로 인지해 관리자의 개입 없이 자동으로 복구 처리해야한다 서비스는 중단없이 제공 가능해야 함

클라우드 컴퓨팅의 시스템 요건과 동일

구글 앱엔진 (AppEngine)

구글이 보유한 인프라 기술과 서버를 이용한 외부 개발자가 개발한 애플리케이션을 실행할 수 있는 플랫폼을 제공하는 클라우드 서비스

구글 내부 시스템 소프트웨어

17

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

인터넷 서비스의 개발 , 배포 , 운영 과정1. 로컬 환경에서 아파치 웹서버 , 톰캣 웹 애플리케이션 서버 , PHP 등을 이용해

개발한다 .

2. 개발에 필요한 데이터베이스도 로컬에 설치하거나 원격 개발 서버에 설치해 개발 시 사용한다 .

3. 로컬 환경에서 테스트가 완료됐으면 서비스 오픈을 위해 도메인을 확보하고 호스팅 업체를 통해 서버 호스팅을 구매하거나 웹 호스팅 서비스를 신청한다 .

4. 테스트한 프로그램을 구매한 서버나 웹 호스팅 계정으로 업로드하고 , 웹서버 , 애플리케이션 서버 등과 같은 소프트웨어를 설치한다 . 데이터베이스가 필요하면 데이터베이스 서버도 구매해 설치한다 .

5. DNS 서버에 도메인과 호스트의 IP 정보를 연결해 서비스를 오픈한다 .

6. 오픈 후 서비스의 사용량 등을 모니터링하며 사용량이 증가하면 서버를 추가 구매하고 구매된 서버의 로드밸런스를 설정한다 .

구글 앱엔진은 3,4,5,6 항목을 지원하며 , 별도의 서버 구매 , 필요한 소프트웨어 설치 과정 없이 개발된 코드를 바로 배포해 서비스를 시작할 수 있게 한다 .

구글 앱엔진

18

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

엡엔진 관리 화면

구글 앱엔진

19

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

엡엔진의 단점자바 , 파이썬으로 개발된 코드만 실행 가능

일부 기능의 제한 ex) 파일 생성 , 삭제 , 소켓 , 스레드

범용적인 애플리케이션을 운영하기 위한 문제 해결 필요

구글 앱엔진

20

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

세일즈포스닷컴의 소프트웨어 서비스인터넷 기반의 CRM (Custom Relational Management) 서비스

동일한 소프트웨어 인스턴스로 각 회사의 요구 사항에 맞는 기능을 제공하는 멀티테넌시 (Multi-Tenancy) 개념 적용

AppExchange

세일즈포스닷컴의 앱스토어

CRM 서비스나 관련 서비스들이 운영되는 환경에서 실행되는 기업용 애플리케이션이 대상

force.com

세일즈포스닷컴에서 제공하는 플랫폼 서비스

기업 애플리케이션 개발 환경

21

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

포괄적인 개념으로서의 클라우드

기민한 탄력성 (Rapid Elasticity)

필요에 따라 자원의 확장과 감소를 처리할 수 있는 능력

측정 가능한 서비스자원의 사용량이 실시간으로 수집 , 모니터링 가능

온디맨드 셀프 서비스 (On-Demand Self-Service)

클라우드 서비스 관리자의 개입없이 원하는 시점에 서비스를 바로 사용 가능

유비쿼터스 네트워크 접근네트워크 기반으로 다양한 클라이언트를 통해 서비스에 접속 가능

자원 풀 (Resource Pooling)

물리적 , 가상화된 자원은 풀로 관리

22

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

포괄적인 개념으로서의 클라우드

클라우드는 새로운 개념은 아니지만 이미 존재하던 시스템이 가져야 할 특징들에 대해서 과거보다 훨씬 더 높은 수준을 요구하는 컴퓨팅 개념이다 .

클라우드 컴퓨팅에 대한 정의클라우드 컴퓨팅은 다양한 클라이언트 디바이스에서 필요한 시점에 인터넷을 이용해 공유 풀에 있는 서버 , 스토리지 , 애플리케이션 , 서비스 등과 같은 IT 리소스에 쉽게 접근할 수 있는 것을 가능하게 하는 모델이다 . IT 자원의 배포는 쉽고 빨라야 하며 이를 위한 관리 비용은 최소화 돼야 한다

- 클라우드 컴퓨팅 유즈케이스 그룹 –

(Cloud Computing: 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 be rapidly provisioned and released with minimal man-agement effort or service provider interaction)

23

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

클라우드 컴퓨팅의 분류

서비스 전달 방식에 따른 클라우드 컴퓨팅 분류

SaaS (Software as a Service)

별도의 소프트웨어 설치 없이 인터넷을 통한 소프트웨어 이용

소프트웨어를 설치하는 것이 아닌 , 서비스 형태로 제공

PaaS (Platform as a Service)

애플리케이션 또는 서비스가 실행되는 실행 환경을 제공하는 플랫폼 서비스

구글 앱엔진

IaaS (Infrastructure as a Service)

서버 , 스토리지 , 데이터베이스 등과 같은 인프라 자원을 서비스 형태로 제공

아마존 AWS (EC2, S3)

24

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

클라우드 컴퓨팅의 분류

서비스 배치 방식에 따른 클라우드 컴퓨팅 분류

퍼블릭 클라우드 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스

프라이빗 클라우드특정 기업이나 특정 사용자만을 대상으로 하는 클라우드 서비스

퍼블릭 클라우드의 일부 기능 제한

하이브리드 클라우드퍼블릭 클라우드와 프라이빗 클라우드를 병행해 사용하는 방식

25

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

26

Q & A

Backup Slide

27

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

부록

ASP (Application Service Provider)

28

GRRC@Kyonggi Univ.: Contents Convergence Software Research Center

뉴욕타임즈의 클라우드 컴퓨팅 활용 사례

29