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 Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...AWSKRUG - AWS한국사용자모임
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 Amazon Web Services Korea
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해중선 곽
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 YoungSu Son
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Web Services Korea
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용흥배 최
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교Woo Yeong Choi
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Web Services Korea
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...Amazon Web Services Korea
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureYoonsung Jung
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?VMware Tanzu Korea
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...Amazon Web Services Korea
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)Tom Kocjan
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignRyan Riley
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축Sungmin Kim
 

What's hot (20)

서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB Day
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
 

Viewers also liked

Global platform
Global platformGlobal platform
Global platformTerry Cho
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA Terry Cho
 
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론Alex Hahn
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)Amazon Web Services Korea
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 

Viewers also liked (7)

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 사례를 중심으로 (윤석찬)
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 

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

서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)Terry Cho
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)Kee Hoon Lee
 
프로젝트에서 Sw아키텍트의 역할 20140717
프로젝트에서 Sw아키텍트의 역할 20140717프로젝트에서 Sw아키텍트의 역할 20140717
프로젝트에서 Sw아키텍트의 역할 20140717Young On Kim
 
Cisco sddc solution 소개
Cisco sddc solution 소개Cisco sddc solution 소개
Cisco sddc solution 소개Woo Hyung Choi
 
Service-Oriented Architecture in a Nutshell
Service-Oriented Architecture in a NutshellService-Oriented Architecture in a Nutshell
Service-Oriented Architecture in a NutshellSamsung Electronics
 
__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 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개Gruter
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개I Goo Lee
 
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안Suji Lee
 
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...Amazon Web Services Korea
 
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.1NDSCorporation
 
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것NAVER Engineering
 
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_sSeong-Bok Lee
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdfHeeJung Chae
 
데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdf데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdfYunjeong Susan Hong
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획InGuen Hwang
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)SeongIkKim2
 
[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...OpenStack Korea Community
 
정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptxSeong-Bok Lee
 

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
 
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...
 
정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx
 

More from Terry Cho

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

대용량 분산 아키텍쳐 설계 #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장에 정의