나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016

Post on 13-Apr-2017

2.244 views 8 download

Transcript of 나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

양승도 | 솔루션즈 아키텍트

2016년 5월 17일

비즈니스 요구사항에 적합한

AWS 데이터베이스 서비스 선택하기

목차

§ 데이터베이스 선택

§ 관리형 데이터베이스 서비스의 장점

§ Amazon RDS 소개

§ 고객 사례 (Jobplanet)

§ DynamoDB / ElastiCache / Redshift 소개

§ 결론

데이터베이스 선택

AWS에는 존재하지 않음

SQL NoSQL

Low Cost High Costü

설치형 관리형

데이터베이스 선택 옵션

SQL NoSQL

설치형 관리형

데이터베이스 선택 옵션

MySQL, Oracle, SQL Server, PostgreSQL, MariaDB, AuroraAmazon Redshift

데이터베이스 선택 옵션

SQL NoSQL

설치형 관리형

MySQL, Oracle, PostgreSQLSQL Server, MariaDB

데이터베이스 선택 옵션

SQL NoSQL

MongoDBCassandraRedisMemcached

DynamoDBElastiCache (Memcached)ElastiCache (Redis)SimpleDB

설치형 관리형

데이터베이스 서비스 선정 시 고려사항

RDBMS 또는NoSQL ?

MySQL 또는Aurora?

Redis, Memcached,

또는ElastiCached ?

?MongoDB,

Cassandra 또는DynamoDB ?

데이터베이스 서비스 선정 시 고려사항

확장성 및 지연속도 요구사항?

트랜잭션 및 정합성요구사항?

읽기/쓰기 형태, 스토리지 및 IOPS

요구사항?

비즈니스 진입 시기및 서버 제어권

요구사항?

?

관리형 데이터베이스 서비스 장점

직접 설치 호스팅 관리형EC2 DBServices

Database Deployment Options

직접 설치

일부 자동화

완전 자동화 직접 설치 호스팅 관리형EC2 DBServices

서버하드웨어 구매 및 설치

OS 및 데이터베이스 설치

스토리지 배포 및 구성

데이터베이스배포 및 구성

패치, 업그레이드, 백업, 모니터링 및 확장

데이터베이스 + 검색 계층 Anti-pattern

Database + Search Tier

모범 사례 – 성격에 맞는 적합한 도구 사용

Data TierSearch

Amazon ElasticsearchService

Amazon CloudSearch

Cache

RedisMemcached

SQL

Amazon AuroraMySQLMariaDBPostgreSQLOracleSQL Server

NoSQL

CassandraAmazon

DynamoDBHBaseMongoDB

Database + Search Tier

DynamoDB

Amazon RDS Amazon Redshift

ElastiCache

AWS가 제공하는 다양한 관리형 데이터베이스 서비스

Amazon RDS 소개

§ 관계형 데이터베이스

§ 쉽고 빠른 구성

§ 반복 적인 관리작업을 대신 수행

§ 다양한 관계형 데이터베이스 옵션 제공

§ 쉽고 빠른 확장

§ 손쉬운 고 가용성 구성

AmazonRDS

Amazon RDS 데이터베이스 엔진

Aurora

적용 분야

관계형 데이터 베이스가 필요한 모든 부분

전자상거래 게이밍

웹사이트 IT 솔루션

응용프로그램

리포팅

§ 단 몇 분만에 서비스에 필요한

데이터베이스 구성

§ 상면,서버, 네트워크, OS설치 및 DB

설치 등의 모든 작업이 불필요

쉽고 빠른 구성

Amazon RDS Multi-AZ

몇 차례의 클릭 또는 단일 API 호출

간편한 고 가용성(HA) 데이터베이스 서비스 구성

MySQL on AWS DIY 설정

최대 ~100+ 이상의 수동 설정필요

Set up primary and standby instancesSet up identical volumesCreate synchronous replicationCreate and manage DNS entriesDetect instance failure conditionsDetect network failure conditionsDetect storage failure conditionsDecide when to fail-over….Re-establish primary secondary connections

기존 DB구성 Amazon RDS 구성

Amazon RDS Multi-AZ 구성

빠르고 예측 가능한 성능의 스토리지 제공

General Purpose (SSD) 대부분의 워크로드

Provisioned IOPS (SSD) 최대 30,000 IOPS까지의OLTP 워크로드

Magnetic (HDD)접속이 빈번하지 않은작은 워크로드

§ 다양한 CPU/메모리 옵션을 가진

데이터베이스 인스턴스 제공

§ 워크로드에 연동하여 데이터베이스

인스턴스 사이즈 변경 가능

§ 데이터베이스 스토리지는

필요에 따라 유연하게 확장 가능

최대 : CPU to 40 vCPUs, RAM to 244 GiB

쉽고 간편한 확장 (Scale Up / Down)

§ 읽기 트래픽을 자동으로 관리되는

Read Replica 로 분산

§ 복수의 Read Replica를 사용하여

워크로드 분산 처리

§ 손쉬운 구성

RDS Read Replica를 통한 간편한 확장 (Scale Out)

§ 장애발생시 빠른 복구 지원

§ 고객에 근접한 지역에서데이터 베이스 서비스 제공

§ 다른 AWS Region 으로간편한 마이그레이션

§ 처음은 전체, 이후는 증분식

글로벌 RDS 스냅샷 복사/ Read Replica

Primary Secondary

Secondary

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Jeff Chan | CTO

2016-05-17

Amazon RDS at Jobplanet

우리 Goal

AWS는 기능이 너무 많아서회사에 설명하기 힘들어요.

이제 AWS를 써야할때 어떻게회사를 설득해야 할지 알려드릴께요.

Jobplanet 전 회사 선택하는 방법

별 의미 없는 옛날 방식• 연봉• 인지도 있는 회사

The Jobplanet basis of job selection

• How do I achieve ”Work-life” balance?• 업무와 삶의 균형

The Jobplanet basis of job selection

• What do other employee’s say?• 다른 직원들은 뭐라고 해요?

“…코드 디버깅 말고 인성디버깅을 가르쳐줬으면좋겠습니다”

“맥주회사라 회식을4차까지 해도 맥주만마신다”

Jobplanet & Amazon RDS

Before AWSAWS 사용 전

Company A

Scale Servers for Marketing Push광고를 위한 서버의 규모 확장• Create Server via Web• 웹을 위한 서버를 생성• Pay -> << No Server >>• 결재 했는데 서버가 없어요??

Company A

• Call Representative • 담당자와 전화연결• Wait 4 hours (Monday-Friday 8am – 5pm)• 4시간 기다리세요. 영업시간은 오전 8시부터 오후5시까지에요.

비 IT직종의 입장

We hired the wrong IT guyIT관리자를 잘못 뽑았어요

Switched to AWS!

Jobplanet – System Overview

Memcached(Page Cache)

Redis(Work Queue)

MySQL

Web Servers Elastic Load Balancing

Auto Scaling group

Big Data Analysis

RDS DB instance read

replica

Elasticsearch

BI Server

Oregon Tokyo

비 IT직종의 입장

Explaining why you should use AWS is not always easyAWS를 사용하면 왜 좋은지 설명하기 쉽지 않아요.

Many cloud providers offer databases많은 클라우드 호스팅 업체들이

DB 서비스 제공해요

The Cheapest!가장 싼것

But….

What is the Backup/DR Strategy?백업과 재해복구 전략은 무엇인가요?

• Manually? 안 바쁠때 백업?• Scripts? 백업 스크립트?

DB를 선택하는 기준은

RDS Cross-Region Replication

Oregon

Read Replica

Tokyo

Production DB

2nd Datacenter? “실시간 Copy” - Click Click - Done!

Encryption? 데이터 센터 구간 암호화? 자동!

Encrypted Channel

Are you actually going to TEST failover?실제로 failover 테스트를 수행하고 있나요?

AWS RDS Multi-AZ

ap-northeast-1c

Standby DB

ap-northeast-1a

Master DB

Setup? Click click click click - Done!

Test failover? Click – Done!

DB를 선택하는 기준은

Are there datacenters available for global expansion?글로벌 확장을 위한 데이터 센터 이용은 가능해요?

Who will keep all of this working?처음 셋팅도 충분히 힘든데, 유지보수는 누가 해요?

DB를 선택하는 기준은

What’s more important than Sysadmin?시스템 관리보다 더 중요한 일은 없어요?

DB를 선택하는 기준은

AWS: RDS Patching

어떡해?

AWS: RDS Patching

언제 해줄까요?

What do I do with all my extra time?나의 남는 시간들은 무엇을 하나요?

개발팀원들은HTML, CSS, JS를

모르는 상황

나의 팀에게 HTML, CSS, JS, SQL, Ruby등을 가르쳐요.

My team makes crazy bugs!

말도 안되는 버그를많이 만들어요

AWS: Problem Resolution

Replicas for Debugging디버깅용 Replica

운영 DB Read Replica 개발자

No Copy/Replication Strategy?

“Code, Pray, Deploy”복제한지 오래된 테스트 DB로 개발하면서도 잘되길빌어요.

Shared Databases개발 데이터베이스 공유

AWS: RDS DB Copy

한국 개발자용

Production DB Development DB

Production VPC Development VPC

운영 계정 ap-northeast-1

AWS: RDS DB Copy

인도네시아 개발자용

Production DB Development DB

Production VPC Development VPC

운영 계정 ap-southeast-1

AWS: RDS DB Copy

Production DB Development DB

Production VPC Development VPC

운영 계정 ap-southeast-1

AWS: Big Data Analytics

DB Copies for Analysis (I have awesome engineers now!)

Production DB Analysis DB

Production VPC Analysis VPC

Wrapping Up

Thinking Point / 같이 고민 해야 할 포인트

What is your basis for selecting IT technology?IT기술을 선택할때 당신의 기준은 무엇인가요?

• Social pressure• 여러가지 주변의 압력

주변의 압력 기준 “Social Pressures”

• My “technical” friend tells me X• 친한 친구가 A업체가 좋다고 했어요.• This is what we used before• 우리 예전에 A업체 사용 했었어요.• The most popular service among my peers• 내주변에 아는 사람들은 거의 A업체 이용해요.

Technical / 기술적인 이유

Thinking Point

How are you going to beat your competitors?경쟁에서 이기기 위해 당신은 어떻게 하나요?• Use only what you already know• 이미 알고 있는 것들만 사용• Learn the best tools available• 현재 가장 좋은 방법을 배움

회사에서 AWS를 써야할때좀 더 쉽게 설명 할 수 있기를

희망합니다.

Clap if you think this helps!도움이 됐으면 박수 좀 쳐주세요! ^^

Amazon DynamoDB 소개

§ 비 정형 데이터베이스(NoSQL)

§ 빠르고 예측 가능한 성능

§ 제약 없는 확장성

§ 손쉬운 운영 관리

§ 저렴한 비용

Amazon DynamoDB

적용 분야

광고 IoT 게임모바일

웹서비스

일반 광고 데이터

타겟 광고 데이터

로그인 데이터

프로파일 관리

세션 추적 데이터

수백만 개의

디바이스들을

대상으로 상태,

메타데이터에 대한

읽기 쓰기 및

실시간 알림 데이터

게임 진행 정보,

리더 보드, 사용자

세션 정보, 사용

기록 및 로그

데이터 저장

사용자 프로파일,

세션 정보, 개인화

정보, 특정 메타

데이터 저장

예측 가능한 낮은 지연시간 제공

트랜잭션의 양에 상관없이 단일 밀리 세컨드의 지연율 제공

스키마가 없는 데이터 베이스

속성

스키마가 없는 구조스키마는 아이템마다 정의

아이템

테이블

읽기 처리량쓰기 처리량

프로비저닝된 처리용량을 통해 희망 성능 정의

사용한 부분에 대해서만 비용 지불

월간청구서 = GB +

스토리지 사용량 쓰기처리량(WCUs)

+읽기

처리량(RCUs)

프리티어:• 25GB의 무료 스토리지, 최대 25개의 쓰기 용량 유닛 및 25개의 읽기 용량 유닛• 환산하면, 월간 6천만 건 이상의 읽기 요청 및 6천만 건 이상의 쓰기 요청 무료 제공• DynamoDB에 대한 프리티어는 기간 제한 없음

Amazon ElastiCache 소개

§ 인 메모리 Key-Value 저장소

§ 관리형 서비스 (Redis, Memcached)

§ 손쉬운 구성 및 높은 성능

§ 완전 관리형 서비스Amazon ElastiCache

데이터 베이스 성능을 향상 또는 데이터 베이스 비용 최적화를 위한캐시 레이어

Key-Value 데이터 저장을 위한 휘발성 데이터 저장소

게임 리더보드, 세션 관리, 이벤트 카운터, 인메모리 리스트등 높은성능이 필요한 응용프로그램 패턴을 지원하는 데이터베이스

적용 분야

ElastiCache의 주요 기능

§ 완전 관리형§ 캐시 노드 자동 탐색§ Multi-AZ 노드 설정

§ 완전 관리형§ Multi-AZ 자동 장애 처리§ Persistence§ Read replicas

Amazon Redshift 소개

§ Petabyte 규모

§ 병렬 처리

§ 관계형 데이터 웨어 하우스(DW)

§ 관리형 서비스

§ $1,000/TB/년, $0.25/시간 으로 시작

Amazon Redshift

10x 저렴

빠른 배포

높은 DBA 생산성

일반기업군

10x 빠른 성능

프로그램 필요없음

BI 툴, 하둡, 기계 학습 및스트리밍과 간편한 연동

빅데이터활용 기업

프로세스 흐름에 분석포함

사용한 만큼 비용 지불

가용성 및 재해 복구 제공

SaaS 기업

적용 분야

Amazon Redshift 아키텍처

§ 리더노드• 간편한 SQL 엔드포인트• 메타데이터 저장• 쿼리 플랜 최적화• 쿼리 실행조정

§ 연산노드• 로컬 컬럼스토리지• 모든 쿼리, 로드, 백업, 복구 및 크기

조정에 대한병렬/분산 처리

§ 최대 2PB 지원• DC1: SSD; 160 GB – 326 TB• DS2: HDD; 2 TB – 2 PB

10 GigE(HPC)

IngestionBackupRestore

JDBC/ODBC

Amazon Redshift 빠른 성능

§ 최소 I/O 사용

• 컬럼저장소

• 데이터 압축

• Zone maps

• 스토리지 직접 연결(DAS)

• 거대한 데이터 블록 사이즈10 | 13 | 14 | 26 |…

… | 100 | 245 | 324

375 | 393 | 417…

… 512 | 549 | 623

637 | 712 | 809 …

… | 834 | 921 | 959

10

324375

623637

959

ID Age State Amount

123 20 CA 500

345 25 WA 250

678 40 FL 125

957 37 WA 375

§ 클러스터 내에서 여러벌카피 제공

§ Amazon S3에 지속적인 증분형 백업

§ AWS 리전 간에 지속적인 증분형 백업

§ 스트리밍 복구Amazon S3

Amazon S3

Region 1

Region 2

완전 관리형, 지속적인/증분형 백업 제공

결론

다양한 BI 솔루션 연동

Amazon Redshift관리형 데이터

웨어하우스(DW)

다양한 요구사항에 적합한 AWS 데이터 베이스 서비스

어플리케이션Amazon RDS관리형 RDB

Amazon DynamoDB

관리형 NoSQL

Amazon ElastiCache관리형 인 메모리캐시

AWS의 관리형 데이터 베이스 서비스 특성

데이터셋 크기 GB 또는 TB 무제한 GB PB

데이터 모델 관계형 문서Key-Value또는 문서 관계형

시멘틱스 ACID 독립적인테이블 Transient Unenforced

constraints

쿼리 정합성 중간에서 높음 제한없음 높음 낮음

확장성 인스턴스 읽기/쓰기량인스턴스 및클러스터 크기

인스턴스 및클러스터 크기

AmazonDynamoDB

Amazon ElastiCache

AmazonRDS

Amazon Redshift

AWS 관리형 데이터베이스 서비스들을 통한 혜택

사용한 만큼 비용청구

설치, 패치, 재시작 등 모든관리 서비스 제공

필요한 시점에쉽게 확장

여러 AWS 서비스와편리한 연동

AWS Data Pipeline

AmazonEC2

Amazon S3

AmazonCloudWatch

Amazon SNS

Amazon VPC

여러분의 피드백을 기다립니다!

https://www.awssummit.co.kr

모바일 페이지에 접속하셔서, 지금 세션 평가에참여하시면, 행사 후 기념품을 드립니다.

#AWSSummit 해시태그로 소셜 미디어에 여러분의행사 소감을 올려주세요.

발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜채널로 곧 공유될 예정입니다.

감사합니다.