SlideShare a Scribd company logo
1 of 40
대용량 분산 아키텍쳐
#1.아키텍쳐 설계 프로세스
조대협
http://bcho.tistory.com
소개
조대협
• 벤처 개발자
• BEA 웹로직 기술 지원 엔지니어
• 오라클 장애 진단, 성능 튜닝
• NHN 잠깐
• 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0)
• 오라클 아키텍트 (대용량 분산 시스템)
• MS APAC 클라우드 수석 아키텍트
• 프리렌서(좋은 말로 사장님)
• 지금은 어느 회사의 Chief(Cheap?) 아키텍트
블로그 : http://bcho.tistory.com
이메일 : bw.cho@samsung.com
페이스북 ServerSideArchitectGroup
https://www.facebook.com/groups/serverside/
소프트웨어 아키텍쳐
• 아키텍쳐의 정의
– 수많은 아키텍쳐에 대한 정의가 있음
※ http://www.sei.cmu.edu/architecture/start/glossary/community.cfm
– 오늘 설명할 아키텍쳐의 정의는
– 아키텍쳐는 비지니스 요구 사항을 기술로 해석해놓은 것
– 개발의 방향을 알려주는 지도
– 되도록이면 간결하고 정확하게
– 정답은 없음. 팀의 수준에 맞게, 이해할 수 있는 수준으로, 그러나 모든 내
용을 담아야 함
“아키텍쳐는 비지니스 요구 사항을 만족하는 시스템을 구축하기 위해
서 전체 시스템에 대한 구조를 정의한 문서로, 시스템을 구성하는 컴
포넌트와, 그 컴포넌트간의 관계, 그리고, 컴포넌트가 다루는 정보(데
이타)를 정의”
아키텍쳐 설계 프로세스
• 아키텍쳐 설계 방법론
– Zachman Framework, Federal Enterprise Archtiecture
– 오늘 설명하는 프로세스는 TOGAF 를 축소한 것 (The Open Group
Architecture Framework)
아키텍쳐 설계 프로세스
• 아키텍쳐 설계 프로세스
아키텍트의 종류와 역할
• 아키텍트의 종류
– EA (Enterprise Architect) : 비지니스와 기술 사이. 전략 수립
– AA (Application Architect) : 애플리케이션 구조 설계, 표준 설정
– TA (Technical Architect) : 하드웨어 인프라 설계
– SA (Solution Architect) : 특정 소프트웨어 솔루션 구성 설계
– DA (Data Architect) : 데이타 아키텍쳐 설계
아키텍트란?
• Translator (비지니스  기술)
• Director (개발의 방향을 정의, 지도/청사진을 만드는 사람)
비지니스
팀의
역량
기술
아키텍트
레퍼런스 아키텍쳐
• Common Architecture : 업무 도메인 종속성이 없음 – SOA,REST 등
• Industry Architecture : 특정 업무 도메인 종속정 – MES,PLM 등
• Enterprise Architectrue : 특정 회사의 아키텍쳐
• 레퍼런스 아키텍쳐
– 아키텍쳐 설계에 참고할 수 있는 샘플(레퍼런스) 아키텍쳐
1. 비지니스 아키텍쳐 설계
비지니스 아키텍쳐 정의
• 비지니스 아키텍쳐
– 서비스에 대한 소개
– 시장 현황과 차별화 전략
– 비지니스 로드맵과 일정
– 시스템에 대한 간략한 전체 구조
– 투자 및 수익 정보 (비용 정보)
– 사용자에 대한 도메인 모델
– 주요 기능에 대한 흐름
※ MRD (Market Research Description)과 PRD (Product Research
Description)의 요약
비지니스 아키텍쳐의 정의
• 1. 서비스 모델 정의
• 1~2장 정도의 사업 계획서와 같은 형태로 작성
비지니스 아키텍쳐의 정의
• 2. 시장 현황 분석
– 시장 크기, 경쟁사 분석
– 경쟁 제품 분석을 통해서, 당사 서비스에 대한 기준 수립
소셜 소프트웨어 벤더의 Gartner Magic
quadrant chart
블로그 서비스에 대한 기능 비교
http://blog-services-
review.toptenreviews.com/
비지니스 아키텍쳐의 정의
• 3. 비지니스 전략
– 차별화 전략 (금액, 시장 정책 차별화 등)
예) 모바일 디바이스 관리 시스템에 대해서, 손쉬운 기능을 중심으로 중
소 기업을 목표로 서비스를 제공, 클라우드 서비스를 기반으로 하여, 비
용을 절감
비지니스 아키텍쳐의 정의
• 4. 주요 기능 정의
– 핵심 기능 10~20개 정도를 간략하게 정의
• 기본 블로그 기능 제공
• Google,FaceBook 등 SNS 계정을 이용한 로그인
• MS-WORD 연동을 통해 블로그에 글 올리기
– 아래는 DROPBOX와 같은 개인 스토리지 서비스에 대한 기능 개요 예
① 사용자가 파일을 업로드 한다.
② 사용자가 파일을 다운로드 받는다.
③ 사용자 기기와 클라우드상의 파일을 동기화 한다.
④ 사용자가 클라우드에 저장된 동영상을 사용자 기기의 포맷에 맞춰 동기화한
다
⑤ 사용자가 이미지 파일에 대해서 썸 네일 목록을 본다.
⑥ 사용자가 저장한 파일은 변경되더라도 5회 이전까지 되돌림이 가능하다
:
비지니스 아키텍쳐의 정의
• 5. 전체 아키텍쳐 정의
– 서비스를 제공하기 위한 시스템 컴포넌트 구성요소를 정의
– 외부 연계 시스템을 명시
스토리지 서비스
실시간 동영상 변환
동영상 스트리밍
동영상 변환/스트리밍 서버
Amazon
S3
Azure
스토리지
다양한 디바이스
REST API
• 파일 업로드
• 파일 다운로드
• 파일 동기화
파일 저장
파일 동기화
SNS 서비스 계정
계정 관리/연동
계정 인증
동영상 스트리밍
아마존 클라우드
구글 푸쉬
푸쉬 프록시
푸쉬 연동
파일 동기화 요청
애플 푸쉬
비지니스 아키텍쳐의 정의
• 6. 도메인 모델링
– DB의 ERD (Entity Relationship Diagram)과 같은 개념으로, 주요 사용자
와 서비스 개념에 대한 관계를 정의
비지니스 아키텍쳐의 정의
• 7. 비지니스 로드맵
– 출시 일정
– 시장 공략 계획
2. 시스템 아키텍쳐 디자인
시스템 아키텍쳐의 구성
• Architecture Principals
• 애플리케이션 아키텍쳐
• 테크니컬(인프라) 아키텍쳐
• 솔루션 아키텍쳐
• 데이타 아키텍쳐
Architecture
Principals
비지니스
요구 사항
레퍼런스 아키텍쳐 디자인 패턴
+
애플리케이션
아키텍쳐
테크니컬(인프라)
아키텍쳐
솔루션아키텍쳐
데이타아키텍쳐
Architecture Principals
• 아키텍쳐 설계의 원칙
• 비용, 비기능적인 설계 원칙
• 디자인 의사 결정이 필요할때 의사 결정의 기준이 됨
• 7~15개 정도가 적절
개인 스토리지 서비스 Architecture Principals
• 퍼블릭 클라우드 (아마존,MS)에 종속성이 없으며, 기업내(On-Prem)
배포가 가능해야 한다.
• 미국 정부 수준의 보안 수준을 충족해야 한다.
• 글로벌 서비스를 충족해야 한다
• 모바일,PC등 멀티 디바이스를 지원해야 한다.
• 사용자 인터페이스가 사용하기 쉬워야 한다.
:
애플리케이션 아키텍쳐
• 소프트웨어 (애플리케이션)에 대한 아키텍쳐 정의
• 구성 요소 : 컴포넌트, 컴포넌트간 관계, 호출 순서, 통신 인터페이스
– 정적인 아키텍쳐 (Static Architecture)
– 동적인 아키텍쳐 (Dynamic Architecture)
– 인터페이스 정의서 (Interface Definition Spec)
애플리케이션 아키텍쳐
• Static Architecture / 계층 모델 정의
– 애플리케이션을 구성하는 컴포넌트들을 정의
– 계층(Layer)별로 정의 하여 상세화 (보통 3~4단계가 적절)
※ 간단해 보이지만 매우 중요함. (향후 시스템의 구조, 팀 구조에 영향)
애플리케이션 아키텍쳐
• Static Architecture / 컴포넌트간의 관계 정의
– 계층모델에서 정의된 컴포넌트간의 상호 연계성을 정의
애플리케이션 아키텍쳐
• Static Architecture / 컴포넌트간의 관계 정의
예) OLAP 기반의 분석 시스템 아키텍쳐
애플리케이션 아키텍쳐
• Detail Architecture
– 상세한 아키텍쳐에 대한 흐름에 대해서는 별도로 정의
애플리케이션 아키텍쳐
• Dynamic Architecture
– 주요 기능 시나리오 별로, 컴포넌트간의 수행 흐름을 정의
애플리케이션 아키텍쳐
• 인터페이스 정의
– 컴포넌트간 통신을 위한 인터페이스에 대한 정의
• 프로토콜 – FTP,REST/JSON,Protocol Buffer
• 메세지 포맷
• 메세지 Exchange 패턴 (aka. Message Exchange Pattern – MEP)
– API
– ETL Batch
– 동기/비동기
RabbitMQ의 비동기 호출 패턴
테크니컬 아키텍쳐
• 하드웨어 아키텍쳐
– 서버 아키텍쳐
– 네트워크 구성
– 스토리지 구성
– 랙 디자인 구성
– 글로벌 디플로이 구조
• 솔루션 아키텍쳐
– 데이타베이스, 미들웨어, 웹서버등의 구성 아키텍쳐
※ 클러스터링 등
테크니컬 아키텍쳐
• 하드웨어 아키텍쳐 / 서버 아키텍쳐
– CPU, 내장 디스크, 메모리 구성, 네트워크 인터페이스 구성등
– 서버 타입 정의 (웹서버, 데이타 베이스 서버등)
테크니컬 아키텍쳐
• 하드웨어 아키텍쳐 / 네트워크 아키텍쳐
– 망 종류 – 스토리지 네트워크, 관리 네트워크, 서비스 네트워크 등
– 외부 네트워크와 연결하기 위한 라우터
– 백본이 되는 L2, 로드밸런싱을 위한 L4,L7
– 보안을 위한 IPS, 내부 IP를 이용하기 위한 NAT
– LAN 구성, 방화벽 구성
– Subnet 구성 등
테크니컬 아키텍쳐
• 하드웨어 아키텍쳐 / 스토리지 아키텍쳐
– 스토리지 타입 정의 (DAS,NFS,SAN 등)
– 스토리지 컨트롤러, 물리 디스크 (SAS,SATA,RPM 등)
– 스토리지 연결 네트워크
– RAID 구성등을 정의
테크니컬 아키텍쳐
• 하드웨어 아키텍쳐 / 랙 디자인 아키텍쳐 (물리 서버 배치)
– 랙에 서버 배치 구조
– 케이블링 정의
– KVM,UPS 등 부가 장비 배치
– 사용 전력, 발영량이 고려되어야 함
테크니컬 아키텍쳐
• 솔루션 아키텍쳐
– 데이타 베이스, 미들웨어등의 구성과 배포 구조 정의
※ 특히 클러스터링,로드 밸런싱, HA 구조 등에 대한 정의
하드웨어 L4
Tomcat
Tomcat
Tomcat
Tomcat
Tomcat
Tomcat
HAProxy HAProxy
Infinispan (Shared Session)
Tomcat 클러스터 배포 구조
테크니컬 아키텍쳐
• 데이타 아키텍쳐
– 시스템에 저장되는 데이타에 대한 아키텍쳐 정의
• 데이타 구조
• 저장 장소 및 솔루션
• 보안 처리 아키텍쳐 (암호화등)
• 데이타 생명 주기 관리 (생성, 백업, 폐기까지의 정책)
테크니컬 아키텍쳐
• 데이타 아키텍쳐 / 데이타 구조
– Conceptual Modeling
– Logical Modeling
– Implementation Modeling
테크니컬 아키텍쳐
• 데이타 아키텍쳐 / 배포 구조
– 데이타 저장소
• 정의된 데이타 모델에 대한 솔루션별 저장소 아키텍쳐 정의
테크니컬 아키텍쳐
• 글로벌 ROLL OUT 아키텍쳐
– 데이타 센타간 시스템 배포 구조 및 연동 구조, 데이타 복제 방식등을 정
의
인덱스서버
파일 서비스
리포팅 서버
파일 서비스
파일 서비스
3. 아키텍쳐 의사 결정 프로세스
아키텍쳐 의사 결정 프로세스
• Architecture Decision (aka. AD)
– 아키텍쳐적인 의사 결정이 필요한 경우
– 요인 : 비용, 기술 선택, 조직의 보유 능력, 회사 전략 등
– 최고 의사 결정 조직이 있어야 함. (CTO, Chief 아키텍트 등)
아키텍쳐 의사 결정 프로세스
• AD 템플릿
– 각 옵션에 대한 설명과 장단점을 1장에 정의

More Related Content

What's hot

AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
Amazon Web Services Korea
 

What's hot (20)

대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
 
Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1
 
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
JSON:APIについてざっくり入門
JSON:APIについてざっくり入門JSON:APIについてざっくり入門
JSON:APIについてざっくり入門
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
MQ入門
MQ入門MQ入門
MQ入門
 
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
 
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajpKafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
 

Viewers also liked

Viewers also liked (8)

대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
 
Global platform
Global platformGlobal platform
Global platform
 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
 
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 

Similar to 대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론

MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
문기 박
 

Similar to 대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론 (20)

서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)
 
프로젝트에서 Sw아키텍트의 역할 20140717
프로젝트에서 Sw아키텍트의 역할 20140717프로젝트에서 Sw아키텍트의 역할 20140717
프로젝트에서 Sw아키텍트의 역할 20140717
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Cisco sddc solution 소개
Cisco sddc solution 소개Cisco sddc solution 소개
Cisco sddc solution 소개
 
Service-Oriented Architecture in a Nutshell
Service-Oriented Architecture in a NutshellService-Oriented Architecture in a Nutshell
Service-Oriented Architecture in a Nutshell
 
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-박문기@메가존클라우드-20230320.pptx
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-박문기@메가존클라우드-20230320.pptx__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-박문기@메가존클라우드-20230320.pptx
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-박문기@메가존클라우드-20230320.pptx
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
 
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
 
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
 
Aws migration case_study_v1.0.1
Aws migration case_study_v1.0.1Aws migration case_study_v1.0.1
Aws migration case_study_v1.0.1
 
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
 
데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdf데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdf
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)
 
[OpenInfra Days Korea 2018] (Track 2) - OpenStack 기반의 IaaS, PaaS 통합 Orchestra...
[OpenInfra Days Korea 2018] (Track 2) - OpenStack 기반의 IaaS, PaaS 통합 Orchestra...[OpenInfra Days Korea 2018] (Track 2) - OpenStack 기반의 IaaS, PaaS 통합 Orchestra...
[OpenInfra Days Korea 2018] (Track 2) - OpenStack 기반의 IaaS, PaaS 통합 Orchestra...
 

More from Terry Cho

Service operation
Service operationService operation
Service operation
Terry Cho
 

More from Terry Cho (19)

Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
 
Kubernetes #4 volume & stateful set
Kubernetes #4   volume & stateful setKubernetes #4   volume & stateful set
Kubernetes #4 volume & stateful set
 
Kubernetes #3 security
Kubernetes #3   securityKubernetes #3   security
Kubernetes #3 security
 
Kubernetes #2 monitoring
Kubernetes #2   monitoring Kubernetes #2   monitoring
Kubernetes #2 monitoring
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기
 
5. 솔루션 카달로그
5. 솔루션 카달로그5. 솔루션 카달로그
5. 솔루션 카달로그
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
 
R 기본-데이타형 소개
R 기본-데이타형 소개R 기본-데이타형 소개
R 기본-데이타형 소개
 
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
 
Redis data modeling examples
Redis data modeling examplesRedis data modeling examples
Redis data modeling examples
 
빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의
 
Service operation
Service operationService operation
Service operation
 

Recently uploaded

Recently uploaded (8)

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 

대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론

  • 1. 대용량 분산 아키텍쳐 #1.아키텍쳐 설계 프로세스 조대협 http://bcho.tistory.com
  • 2. 소개 조대협 • 벤처 개발자 • BEA 웹로직 기술 지원 엔지니어 • 오라클 장애 진단, 성능 튜닝 • NHN 잠깐 • 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0) • 오라클 아키텍트 (대용량 분산 시스템) • MS APAC 클라우드 수석 아키텍트 • 프리렌서(좋은 말로 사장님) • 지금은 어느 회사의 Chief(Cheap?) 아키텍트 블로그 : http://bcho.tistory.com 이메일 : bw.cho@samsung.com 페이스북 ServerSideArchitectGroup https://www.facebook.com/groups/serverside/
  • 3. 소프트웨어 아키텍쳐 • 아키텍쳐의 정의 – 수많은 아키텍쳐에 대한 정의가 있음 ※ http://www.sei.cmu.edu/architecture/start/glossary/community.cfm – 오늘 설명할 아키텍쳐의 정의는 – 아키텍쳐는 비지니스 요구 사항을 기술로 해석해놓은 것 – 개발의 방향을 알려주는 지도 – 되도록이면 간결하고 정확하게 – 정답은 없음. 팀의 수준에 맞게, 이해할 수 있는 수준으로, 그러나 모든 내 용을 담아야 함 “아키텍쳐는 비지니스 요구 사항을 만족하는 시스템을 구축하기 위해 서 전체 시스템에 대한 구조를 정의한 문서로, 시스템을 구성하는 컴 포넌트와, 그 컴포넌트간의 관계, 그리고, 컴포넌트가 다루는 정보(데 이타)를 정의”
  • 4. 아키텍쳐 설계 프로세스 • 아키텍쳐 설계 방법론 – Zachman Framework, Federal Enterprise Archtiecture – 오늘 설명하는 프로세스는 TOGAF 를 축소한 것 (The Open Group Architecture Framework)
  • 5. 아키텍쳐 설계 프로세스 • 아키텍쳐 설계 프로세스
  • 6. 아키텍트의 종류와 역할 • 아키텍트의 종류 – EA (Enterprise Architect) : 비지니스와 기술 사이. 전략 수립 – AA (Application Architect) : 애플리케이션 구조 설계, 표준 설정 – TA (Technical Architect) : 하드웨어 인프라 설계 – SA (Solution Architect) : 특정 소프트웨어 솔루션 구성 설계 – DA (Data Architect) : 데이타 아키텍쳐 설계
  • 7. 아키텍트란? • Translator (비지니스  기술) • Director (개발의 방향을 정의, 지도/청사진을 만드는 사람) 비지니스 팀의 역량 기술 아키텍트
  • 8. 레퍼런스 아키텍쳐 • Common Architecture : 업무 도메인 종속성이 없음 – SOA,REST 등 • Industry Architecture : 특정 업무 도메인 종속정 – MES,PLM 등 • Enterprise Architectrue : 특정 회사의 아키텍쳐 • 레퍼런스 아키텍쳐 – 아키텍쳐 설계에 참고할 수 있는 샘플(레퍼런스) 아키텍쳐
  • 10. 비지니스 아키텍쳐 정의 • 비지니스 아키텍쳐 – 서비스에 대한 소개 – 시장 현황과 차별화 전략 – 비지니스 로드맵과 일정 – 시스템에 대한 간략한 전체 구조 – 투자 및 수익 정보 (비용 정보) – 사용자에 대한 도메인 모델 – 주요 기능에 대한 흐름 ※ MRD (Market Research Description)과 PRD (Product Research Description)의 요약
  • 11. 비지니스 아키텍쳐의 정의 • 1. 서비스 모델 정의 • 1~2장 정도의 사업 계획서와 같은 형태로 작성
  • 12. 비지니스 아키텍쳐의 정의 • 2. 시장 현황 분석 – 시장 크기, 경쟁사 분석 – 경쟁 제품 분석을 통해서, 당사 서비스에 대한 기준 수립 소셜 소프트웨어 벤더의 Gartner Magic quadrant chart 블로그 서비스에 대한 기능 비교 http://blog-services- review.toptenreviews.com/
  • 13. 비지니스 아키텍쳐의 정의 • 3. 비지니스 전략 – 차별화 전략 (금액, 시장 정책 차별화 등) 예) 모바일 디바이스 관리 시스템에 대해서, 손쉬운 기능을 중심으로 중 소 기업을 목표로 서비스를 제공, 클라우드 서비스를 기반으로 하여, 비 용을 절감
  • 14. 비지니스 아키텍쳐의 정의 • 4. 주요 기능 정의 – 핵심 기능 10~20개 정도를 간략하게 정의 • 기본 블로그 기능 제공 • Google,FaceBook 등 SNS 계정을 이용한 로그인 • MS-WORD 연동을 통해 블로그에 글 올리기 – 아래는 DROPBOX와 같은 개인 스토리지 서비스에 대한 기능 개요 예 ① 사용자가 파일을 업로드 한다. ② 사용자가 파일을 다운로드 받는다. ③ 사용자 기기와 클라우드상의 파일을 동기화 한다. ④ 사용자가 클라우드에 저장된 동영상을 사용자 기기의 포맷에 맞춰 동기화한 다 ⑤ 사용자가 이미지 파일에 대해서 썸 네일 목록을 본다. ⑥ 사용자가 저장한 파일은 변경되더라도 5회 이전까지 되돌림이 가능하다 :
  • 15. 비지니스 아키텍쳐의 정의 • 5. 전체 아키텍쳐 정의 – 서비스를 제공하기 위한 시스템 컴포넌트 구성요소를 정의 – 외부 연계 시스템을 명시 스토리지 서비스 실시간 동영상 변환 동영상 스트리밍 동영상 변환/스트리밍 서버 Amazon S3 Azure 스토리지 다양한 디바이스 REST API • 파일 업로드 • 파일 다운로드 • 파일 동기화 파일 저장 파일 동기화 SNS 서비스 계정 계정 관리/연동 계정 인증 동영상 스트리밍 아마존 클라우드 구글 푸쉬 푸쉬 프록시 푸쉬 연동 파일 동기화 요청 애플 푸쉬
  • 16. 비지니스 아키텍쳐의 정의 • 6. 도메인 모델링 – DB의 ERD (Entity Relationship Diagram)과 같은 개념으로, 주요 사용자 와 서비스 개념에 대한 관계를 정의
  • 17. 비지니스 아키텍쳐의 정의 • 7. 비지니스 로드맵 – 출시 일정 – 시장 공략 계획
  • 19. 시스템 아키텍쳐의 구성 • Architecture Principals • 애플리케이션 아키텍쳐 • 테크니컬(인프라) 아키텍쳐 • 솔루션 아키텍쳐 • 데이타 아키텍쳐 Architecture Principals 비지니스 요구 사항 레퍼런스 아키텍쳐 디자인 패턴 + 애플리케이션 아키텍쳐 테크니컬(인프라) 아키텍쳐 솔루션아키텍쳐 데이타아키텍쳐
  • 20. Architecture Principals • 아키텍쳐 설계의 원칙 • 비용, 비기능적인 설계 원칙 • 디자인 의사 결정이 필요할때 의사 결정의 기준이 됨 • 7~15개 정도가 적절 개인 스토리지 서비스 Architecture Principals • 퍼블릭 클라우드 (아마존,MS)에 종속성이 없으며, 기업내(On-Prem) 배포가 가능해야 한다. • 미국 정부 수준의 보안 수준을 충족해야 한다. • 글로벌 서비스를 충족해야 한다 • 모바일,PC등 멀티 디바이스를 지원해야 한다. • 사용자 인터페이스가 사용하기 쉬워야 한다. :
  • 21. 애플리케이션 아키텍쳐 • 소프트웨어 (애플리케이션)에 대한 아키텍쳐 정의 • 구성 요소 : 컴포넌트, 컴포넌트간 관계, 호출 순서, 통신 인터페이스 – 정적인 아키텍쳐 (Static Architecture) – 동적인 아키텍쳐 (Dynamic Architecture) – 인터페이스 정의서 (Interface Definition Spec)
  • 22. 애플리케이션 아키텍쳐 • Static Architecture / 계층 모델 정의 – 애플리케이션을 구성하는 컴포넌트들을 정의 – 계층(Layer)별로 정의 하여 상세화 (보통 3~4단계가 적절) ※ 간단해 보이지만 매우 중요함. (향후 시스템의 구조, 팀 구조에 영향)
  • 23. 애플리케이션 아키텍쳐 • Static Architecture / 컴포넌트간의 관계 정의 – 계층모델에서 정의된 컴포넌트간의 상호 연계성을 정의
  • 24. 애플리케이션 아키텍쳐 • Static Architecture / 컴포넌트간의 관계 정의 예) OLAP 기반의 분석 시스템 아키텍쳐
  • 25. 애플리케이션 아키텍쳐 • Detail Architecture – 상세한 아키텍쳐에 대한 흐름에 대해서는 별도로 정의
  • 26. 애플리케이션 아키텍쳐 • Dynamic Architecture – 주요 기능 시나리오 별로, 컴포넌트간의 수행 흐름을 정의
  • 27. 애플리케이션 아키텍쳐 • 인터페이스 정의 – 컴포넌트간 통신을 위한 인터페이스에 대한 정의 • 프로토콜 – FTP,REST/JSON,Protocol Buffer • 메세지 포맷 • 메세지 Exchange 패턴 (aka. Message Exchange Pattern – MEP) – API – ETL Batch – 동기/비동기 RabbitMQ의 비동기 호출 패턴
  • 28. 테크니컬 아키텍쳐 • 하드웨어 아키텍쳐 – 서버 아키텍쳐 – 네트워크 구성 – 스토리지 구성 – 랙 디자인 구성 – 글로벌 디플로이 구조 • 솔루션 아키텍쳐 – 데이타베이스, 미들웨어, 웹서버등의 구성 아키텍쳐 ※ 클러스터링 등
  • 29. 테크니컬 아키텍쳐 • 하드웨어 아키텍쳐 / 서버 아키텍쳐 – CPU, 내장 디스크, 메모리 구성, 네트워크 인터페이스 구성등 – 서버 타입 정의 (웹서버, 데이타 베이스 서버등)
  • 30. 테크니컬 아키텍쳐 • 하드웨어 아키텍쳐 / 네트워크 아키텍쳐 – 망 종류 – 스토리지 네트워크, 관리 네트워크, 서비스 네트워크 등 – 외부 네트워크와 연결하기 위한 라우터 – 백본이 되는 L2, 로드밸런싱을 위한 L4,L7 – 보안을 위한 IPS, 내부 IP를 이용하기 위한 NAT – LAN 구성, 방화벽 구성 – Subnet 구성 등
  • 31. 테크니컬 아키텍쳐 • 하드웨어 아키텍쳐 / 스토리지 아키텍쳐 – 스토리지 타입 정의 (DAS,NFS,SAN 등) – 스토리지 컨트롤러, 물리 디스크 (SAS,SATA,RPM 등) – 스토리지 연결 네트워크 – RAID 구성등을 정의
  • 32. 테크니컬 아키텍쳐 • 하드웨어 아키텍쳐 / 랙 디자인 아키텍쳐 (물리 서버 배치) – 랙에 서버 배치 구조 – 케이블링 정의 – KVM,UPS 등 부가 장비 배치 – 사용 전력, 발영량이 고려되어야 함
  • 33. 테크니컬 아키텍쳐 • 솔루션 아키텍쳐 – 데이타 베이스, 미들웨어등의 구성과 배포 구조 정의 ※ 특히 클러스터링,로드 밸런싱, HA 구조 등에 대한 정의 하드웨어 L4 Tomcat Tomcat Tomcat Tomcat Tomcat Tomcat HAProxy HAProxy Infinispan (Shared Session) Tomcat 클러스터 배포 구조
  • 34. 테크니컬 아키텍쳐 • 데이타 아키텍쳐 – 시스템에 저장되는 데이타에 대한 아키텍쳐 정의 • 데이타 구조 • 저장 장소 및 솔루션 • 보안 처리 아키텍쳐 (암호화등) • 데이타 생명 주기 관리 (생성, 백업, 폐기까지의 정책)
  • 35. 테크니컬 아키텍쳐 • 데이타 아키텍쳐 / 데이타 구조 – Conceptual Modeling – Logical Modeling – Implementation Modeling
  • 36. 테크니컬 아키텍쳐 • 데이타 아키텍쳐 / 배포 구조 – 데이타 저장소 • 정의된 데이타 모델에 대한 솔루션별 저장소 아키텍쳐 정의
  • 37. 테크니컬 아키텍쳐 • 글로벌 ROLL OUT 아키텍쳐 – 데이타 센타간 시스템 배포 구조 및 연동 구조, 데이타 복제 방식등을 정 의 인덱스서버 파일 서비스 리포팅 서버 파일 서비스 파일 서비스
  • 38. 3. 아키텍쳐 의사 결정 프로세스
  • 39. 아키텍쳐 의사 결정 프로세스 • Architecture Decision (aka. AD) – 아키텍쳐적인 의사 결정이 필요한 경우 – 요인 : 비용, 기술 선택, 조직의 보유 능력, 회사 전략 등 – 최고 의사 결정 조직이 있어야 함. (CTO, Chief 아키텍트 등)
  • 40. 아키텍쳐 의사 결정 프로세스 • AD 템플릿 – 각 옵션에 대한 설명과 장단점을 1장에 정의