overview
TL;DR⚑
- Well-Architected Framework는 클라우드 환경에서 보안, 효율성, 복원력, 성능, 비용 최적화를 위한 권장 사항을 제공함.
- 5가지 핵심 필러와 AI/ML 관점 등 다양한 환경에 적용 가능함.
- 변화 대응, 문서화, 간결한 설계, 아키텍처 분리, 무상태 설계 등 핵심 원칙을 제시함.
Well-Architected Framework란⚑
- 아키텍트, 개발자, 관리자가 클라우드 워크로드를 최적화할 수 있도록 가이드함.
- Google의 전문가 팀이 검증 및 지속적으로 업데이트함.
- 클라우드 네이티브, 온프레미스 마이그레이션, 하이브리드, 멀티 클라우드 환경 모두에 적용 가능함.
5가지 핵심 필러(Pillars)⚑
- operational-excelence: 효율적 배포, 운영, 모니터링, 관리 실현함.
- 보안: 데이터 및 워크로드 보안, 규제 준수 강화함.
- 신뢰성: 복원력 및 고가용성 확보함.
- 비용 최적화: 투자 대비 비즈니스 가치 극대화함.
- 성능 최적화: 리소스 설계 및 조율로 최적 성능 달성함.
핵심 설계 원칙⚑
-
변화를 고려한 설계
- 시스템은 정적이지 않음. 사용자 요구, 팀 목표, 시스템 자체가 지속적으로 변화함.
- 작은 변경을 자주 배포하고 빠르게 피드백 받는 프로세스를 마련해야 함.
- DORA의 소프트웨어 배포 지표 를 통해 변경 속도, 안정성 등을 모니터링할 수 있음.
-
아키텍처 문서화
- 클라우드로 이전하거나 애플리케이션을 구축할 때 문서화 부족은 큰 장애 요소가 됨.
- 명확하고 유지 가능한 문서가 중요하며, 공통 언어와 협업의 기반이 됨.
- 설계 변경 이력을 통해 성과 측정, 방향 정렬, 중복 방지가 가능함.
- DORA 연구에 따르면, 문서 품질이 높을수록 조직의 성과와 수익성도 높음.
-
간결한 설계 및 매니지드 서비스 활용
- 복잡한 설계는 이해와 운영이 어려움.
- 가능한 경우 완전관리형 서비스(fully managed services)를 사용해 운영 복잡도 감소.
- MVP(최소 기능 제품)에서 시작하고 과도한 설계는 피하며, 점진적 개선을 권장함.
-
아키텍처 분리
- 독립적 서비스로 분리해 유연성, 보안, 신뢰성, 성능, 비용 제어 용이함.
-
Stateless 아키텍처
- 무상태(stateless) 아키텍처는 신뢰성과 확장성을 향상시킴.
- 상태 있는 앱은 종종 복잡한 복구 메커니즘이 필요함.
- 무상태 앱은 공유 저장소 또는 캐시를 사용해 빠르게 확장 가능하며, 재시작에 강하고 다운타임이 적음.