피드로 돌아가기
Dev.toInfrastructure
원문 읽기
정밀한 Scale 추정 기반의 Architecture Decision 프로세스
HLD Fundamentas #7: Back-of-the-Envelope Calculations
AI 요약
Context
트래픽 규모와 데이터 양에 대한 사전 정량 분석 없이 진행하는 아키텍처 설계의 맹점 분석. 무분별한 구성 요소 도입보다 시스템의 Scale을 먼저 파악하여 최적의 Trade-off를 결정하는 정량적 접근법의 필요성 제시.
Technical Solution
- Users → Traffic → Storage → Cache → Servers 순의 정량적 추정 Flow 수립을 통한 설계 근거 마련
- Average RPS 대비 3배의 Peak Traffic 가정을 통한 시스템 가용성 확보 및 서버 수 산정
- 데이터 타입별(Profile, Post, Image) 크기 차이를 분석하여 Distributed Storage 도입의 기술적 필연성 도출
- 전체 데이터의 20%를 Hot Data로 정의하는 80/20 법칙 적용을 통한 최적의 Cache Memory 사이즈 산출
- 정확한 수치보다 Order of Magnitude(자릿수) 수준의 근사치 계산을 통한 빠른 의사결정 속도 확보
Impact
- DAU 2억 명 기준 Peak RPS 70,000 처리 위해 최소 10대의 Application Server 프로비저닝 산출
- 일일 이미지 업로드 5천만 건 기준 일일 25TB, 연간 9.5PB의 Storage 확장 규모 예측
Key Takeaway
시스템 설계의 핵심은 다이어그램 작성이 아닌 규모(Scale)의 이해이며, 정량적 추정을 통해 인프라 비용과 성능 사이의 최적점을 찾는 것이 Senior Engineering의 핵심 역량임.
실천 포인트
- 설계 시작 전 DAU 및 유저 행동 패턴 기반의 Traffic 추정치 산출 여부 확인 - 평균치가 아닌 Peak RPS를 기준으로 한 Resource Capacity Planning 수행 - Storage 성장 속도를 연 단위로 계산하여 분산 저장소 도입 시점 검토 - Cache Hit Rate와 Hot Data 비율을 설정하여 메모리 요구 사양 정의