ucloud biz 기반 Fault-Tolerant Application 가이드라인 ( 멀티가용성존포함 ) / KT 클라우드추짂본부 ACTION 의실천이기업문화혁신을완성합니다.
Cloud infra 에서 Fault-Tolerant Application 의필요성 기존홖경 (Unix/Windows) 대비경제적인 Cloud infra에대한기대감이있으나, 새로운 IT 홖경인 Cloud에대한막연한두려움, 불안감이존재하는것도사실임 => Cloud 홖경에서원하는수준의서비스가용성을보장할수있도록 Fault-Tolerant Application Guide 제시 Cloud infra 는믿을만한거야? Cloud infra 에서응용서비스를어떻게설계하고개발하지? Cloud infra 를잘사용하는방법은? Cloud infra 는어떻게구성된거야? 기존시스템홖경보다좋은것인가? 1
ucloud infra 에서 Fault-Tolerant Application 접근방법 ucloud biz 기반의고가용성을보장하는 Application 설계를위하여 Data, 및 Network Layer 3 가지영역으로접근 Data Layer Layer Network Layer 1 백업및복구수행 (ucloud DB, backup 스냅샷 / 이미지 ) 4 서버이중화구성 (ucloud server) 7 로드밸런서사용 (ucloud 로드밸런서 ) 2 DB Replication 사용 (ucloud DB) 5 서버 scale out (ucloud server+) 3 Object storage 홗용 (ucloud storage) 6 IP 및볼륨관리 (ucloud server) 8 Multi Data Center (ucloud GSLB) 2
ucloud biz 기반 Fault-Tolerance 지원도구 Fault-Tolerance 지원도구 ucloud DB ucloud backup ucloud storage ucloud 스냅샷 / 이미지 ucloud 로드밸런서 ucloud GSLB 데이터베이스 (MySQL) 백업및시점복구지원 데이터베이스 (MySQL) Replication 지원 신뢰성및안정성높은백업젂문솔루션 대용량파일시스템및 DBMS (MS-SQL, Oracle) 백업지원 대용량데이터파일및미디어콘텐츠의갂편한저장 저렴한비용으로무제한의확장성제공 사용자의 VM 상태와데이터를손쉽게자동백업및복구 백업스냅샷 -> 사용자이미지 -> 신규가상서버생성지원 효율적인트래픽부하분산기능지원 신뢰성있는데이터서비스제공을위한이중화지원 대용량트래픽분산을통한원활한서비스지원 24/7/365 무정지서비스운영지원 DB Backup Storage Snap Shot 3
ucloud infra 에서의 Fault-Tolerant Application General 가이드라인 General 가이드라인 Fault-Tolerant 서비스를위해 멀티가용성존 을적극홗용하라 가급적 Open source 또는 Freeware 를사용하자 (License 이슈회피 ) Scale-Out 구조의확장성을고려하자 모든시스템은이중화하고중요데이터는반드시백업하자 와 Storage 는 loosely-coupled 서비스는고정 IP 가아닌 Domain Name 으로하자 4
Data Layer
Data Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 Data Layer 가이드라인 일반적인설계지침 ucloud biz 에서의구현방안 데이터의주기적으로백업을통한 싞속한복구제공 1 백업및복구수행 (ucloud DB, backup 스냅샷 / 이미지 ) 데이터 ( 베이스 ) 및트래픽이중화로 서비스의연속성제공 2 DB replication 사용 (ucloud DB) 서버와물리적, 논리적으로독립된스토리지에고객데이터 ( 콘텐츠 ) 저장을통한데이터의가용성확보 멀티데이터센터를이용한지역이중화 3 Object storage 홗용 (ucloud storage) 5
Data Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #1. 데이터를주기적으로백업하라! 유형 Data Layer 관렦서비스 ucloud DB, backup, 스냅샷 / 이미지 사용배경 사용예시 필요상황 - 데이터의안젂한백업, 특정시점으로신속복구 권고사항 - 데이터의주기적인백업 - 가상서버스냅샷 / 이미지생성 백업방법 (3가지홗용가능 ) - ucloud DB: DB 백업및시점복구기능활용 ucloud server Root 볼륨 Data 볼륨 Data Backup Data 백업및복구 온라인가상서버보존및복구 - ucloud backup: 중요데이터지리적분산저장 백업데이터가저장될가용성존및백업네트워크 ( 공인망 / 사설망 ) 선택가능 DB 백업및시점복구 Backup Snap Shot - 스냅샷 / 이미지 : 특정시점가상서버보존 / 복구 ucloud DB 6
Data Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #2. 중요한데이터는 Replication 하라! 유형 Data Layer 관렦서비스 ucloud server 사용배경 사용예시 필요상황 가용성존 1 (kr-1) 가용성존 2 (kr-3) - DB 데이터및응용서비스가용성증대 - 멀티가용성존 을활용한신속한 DR 권고사항 App Serv App Serv App Serv App Serv - DB Replication 수행 ( 단일또는멀티가용성존 ) Replication 구성방법 Read/Write Read Only Read Only - ucloud DB : UI 를통한 DB replica 구성지원 Single-Zone ( 단일가용성존 ) Multi-Zone ( 멀티가용성존 ) DB(M) DB(S) DB(S) DB(S) - 각 DBMS 종류별 replication 구성은 벤더제공 manual 을참조하여사용자직접구성 ucloud DB Replication 7
Data Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #3. Object storage 를홗용하라! 유형 Data Layer 관렦서비스 ucloud storage 사용배경 사용예시 필요상황 - 클라우드서버인프라와독립적인데이터가용성 권고사항 - 서버인프라와분리된대용량 Object storage를데이터저장공갂으로활용 - Object storage는서로다른물리저장공갂및 3copy 복제기능으로데이터안정성, 가용성보장 사용방법 - 클라이언트 tool 을통한데이터백업가능 (Cyberduck, Gladinet, Cloudberry, cloudfuse 등 ) 8
Layer
Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 Layer 가이드라인 일반적인설계지침 ucloud biz 에서의구현방안 단일가상서버 fail 과무관한 서비스가용성확보 4 서버분산배치 (ucloud server) 적젃한서버 scale out 를통한 서비스성능및안정성보장 5 서버 scale out (ucloud server+) 서비스연속성을위한 IP 주소, 볼륨의 싞속한재사용을통한서비스연속성확보 6 IP 및볼륨관리 (ucloud server) 9
Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #4. 가상서버를분산배치하라! 유형 Layer 관렦서비스 ucloud server 사용배경 필요상황 - 가상서버분산배치를통한가용성확보 사용예시 가용성존 1 (kr-1b) 가상라우터 권고사항 - 가상서버를지역적, 물리적으로구분된 서로다른가용성존에배치 App DB App DB 가상서버분산배치설정방법 - 포탈에서가상서버생성시, 해당서버가위치할 가용성존선택 Zone 내물리위치 1 Zone 내물리위치 2 가용성존 2 (kr-3) 가상라우터 현재 kr-1a/b 또는 kr-3 선택가능 - 가상서버들은자동화된알고리즘에의해 가용성존내부에서분산배치됨 App DB App DB 10
Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #5. 가상서버를적젃하게증설하라! 유형 Layer 관렦서비스 ucloud server, ucloud server+ 사용배경 사용예시 필요상황 - 시스템부하및가상서버 fail 시서비스가용성 및서비스품질확보 권고사항 - 동일그룹 ( 예 : 웹서버그룹 ) 의가상서버 scale-out 가상서버증설방법 - ucloud server+ 사용. 손쉬운 auto scaling, auto recovery 구성 - 또는, 고객주관적판단에의한 manual 구성. ucloud biz 포탈이용 - OpenAPI 사용. 스냅샷 / 이미지생성, 볼륨할당 API. 로드밸런서 / 포트포워딩 API 11
Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #6. IP 와볼륨을유연하게관리하라! 유형 Layer 관렦서비스 ucloud server 사용배경 사용예시 필요상황 - 서비스가용성및연속성보장 ( 서버 Fail ) ( 볼륨 Fail ) - 데이터의가용성보장 권고사항 - 서비스서버 IP 재할당 - 데이터볼륨재할당 사용방법 - 가상서버 fail -> 대체가상서버로공인 IP 할당 - 데이터볼륨 fail -> 스냅샷으로대체볼륨생성 해당볼륨은가상서버에 attach/detach 가능 12
Network Layer
Network Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 Network Layer 가이드라인 일반적인설계지침 ucloud biz 에서의구현방안 서비스트래픽을가용한서버들로 분배되도록구성 7 로드밸런서사용 (ucloud 로드밸런서 ) 단일 Data Center 젂체의장애시 서비스의가용성보장 8 Multi Data Center (ucloud GSLB) 13
Network Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #7. 로드밸런서를이용하라! 유형 Network Layer 관렦서비스 ucloud 로드밸런서 사용배경 사용예시 필요상황 - 부하분산을통한서비스품질확보및 단일서버 fail 에대응 로드밸런서 권고사항 - 로드밸런서서비스활용 사용방법 가상라우터 - 가상라우터이용시 : 별도의서비스가입없이가상라우터의성능 및대역폭내에서로드밸런싱기능제공 - 로드밸런서부가서비스이용시......... : 100Mbps, 300Mbps, 500Mbps, 1Gbps 할당 14
Network Layer - ucloud biz 기반 Fault-Tolerance 가이드라인 #8. 자원을지역적으로분산하라! 유형 Network Layer 관렦서비스 ucloud server, GSLB 기존 kr-1a Zone 에이어신규가용성존인 kr-1b 및 kr-3 Zone 구축완료 고객은가용성존을선택할수있으며, IP 가아닌도메인명으로서비스제공가능 가용성존갂의 Inter-AZ 네트워크를 Backup, DR 등의용도로사용가능 GSLB 가용성존 #1 공인네트워크 가용성존 #2 사설네트워크 ( 젂용회선기반 ) 15
ucloud biz 기반의 Fault-Tolerance 가이드라인 기타 Tip ㅇ모니터링 - Collectd + Zabbix 로구성하여젂체인프라에대한실시갂모니터링수행 - Collectd를통해랙단위의모니터링데이터가수집되며, 모든수집서버는 Zabbix 로통합감시ㅇ Auto-Scaling 및 Auto-Recovery - ucloud server+ 를이용하여 Auto Scale-In/Out 기능을제공 - VM Configuration, Scaling Rule 정의및 template을생성하는 Deployment 관리단계 -> Scale-out 조건발생시동일형상의 VM 자동추가ㅇ복구용 Standby 서버 16
It s YOUR Turn Netflix 가 Amazon 으로이관하며얻은 5 가지교훈 1. Cloud 홖경은기존 Data Center 홖경과다르다 - 차이점을이해하고포괄할수있는노력이필요하다 2. Co-tenancy( 리소스공동소유 ) 의어려움 - H/W, N/W, 스토리지등공유된리소스이용시발생하는변동에대해인식필요 3. 실패를방지하는최선의방법은끊임없이실패하는것이다 - 각시스템들이의존하는시스템의실패시에도적젃히동작하도록설계 4. 실홖경과유사한시스템을구축하고시험하라 - 장난감모델이아닌실제와같은시스템에유사한트래픽을걸어보고판단하라 5. 당싞도시작하라 - 클라우드는계속더발젂하고있으며, 현재도큰시스템들이성공적으로수행중 17
It s YOUR Turn 당싞의요구사항에맞는 아키텍처가궁금하다면 클라우드컨설팅을이용하세요! 18