잘 만든 아키텍처란 무엇인가?
원문: AWS Cloud Practitioner Essentials — Module 10: The Cloud Journey
출처: AWS E-Learning / Compiled by Kenneth Leung (2020)
한 줄 요약: AWS Well-Architected Framework는 클라우드 아키텍처를 5가지 기둥(운영 우수성, 보안, 안정성, 성능 효율성, 비용 최적화)으로 평가하는 도구이며, 클라우드 컴퓨팅은 6가지 핵심 이점을 제공한다.
로드 밸런서, 인스턴스, 데이터베이스 — 이러면 된 건가?
로드 밸런서 뒤에 EC2 인스턴스를 두고, 뒤쪽에 RDS 데이터베이스를 연결한 3계층 아키텍처가 있다고 하자. 언뜻 보면 문제없어 보인다. 하지만 이 구성이 하나의 가용 영역(Availability Zone, AZ)에만 존재한다면? 그 AZ에 장애가 나는 순간 서비스 전체가 멈춘다.
같은 아키텍처를 두 개의 AZ에 걸쳐 복제하면 어떨까. 한쪽 AZ에 문제가 생겨도 다른 쪽에서 서비스가 계속 돌아간다. 이처럼 아키텍처의 결함을 발견하고 개선하는 기준이 필요한데, 이것이 바로 AWS Well-Architected Framework다.
좋은 아키텍처의 다섯 가지 기둥 — Well-Architected Framework
AWS Well-Architected Framework는 클라우드에서 안정적이고, 안전하고, 효율적이며, 비용 효과적인 시스템을 설계·운영하기 위한 가이드다. 아키텍처를 모범 사례와 설계 원칙에 비추어 일관되게 평가하고, 개선이 필요한 부분을 찾아준다.
이 프레임워크는 5개의 기둥(Pillar)으로 구성된다.
| 기둥 | 핵심 질문 | 설명 |
|---|---|---|
| Operational Excellence (운영 우수성) | 시스템을 잘 운영하고 지속적으로 개선하고 있는가? | 시스템을 실행·모니터링하여 비즈니스 가치를 전달하고, 프로세스와 절차를 지속적으로 개선하는 능력 |
| Security (보안) | 정보, 시스템, 자산을 보호하고 있는가? | 리스크 평가와 완화 전략을 통해 정보·시스템·자산을 보호하면서 비즈니스 가치를 전달하는 능력 |
| Reliability (안정성) | 장애에서 복구하고 수요에 대응할 수 있는가? | 인프라·서비스 장애로부터 복구하고, 수요에 맞게 자원을 동적으로 확보하며, 설정 오류나 네트워크 이슈를 완화하는 능력 |
| Performance Efficiency (성능 효율성) | 컴퓨팅 자원을 효율적으로 사용하고 있는가? | 시스템 요구사항에 맞게 컴퓨팅 자원을 효율적으로 사용하고, 수요 변화와 기술 발전에 맞춰 그 효율성을 유지하는 능력 |
| Cost Optimization (비용 최적화) | 최저 비용으로 비즈니스 가치를 전달하고 있는가? | 가장 낮은 가격으로 시스템을 운영하여 비즈니스 가치를 전달하는 능력 |
각 기둥의 설계 원칙
운영 우수성은 “운영을 코드로 수행하라(operations as code)”를 강조한다. 문서를 자동으로 주석 달고, 장애를 미리 예상하며, 작고 되돌릴 수 있는 변경을 자주 하는 것이 핵심이다.
보안은 세 가지 모범 사례를 따른다. 보안 베스트 프랙티스를 가능한 한 자동화하고, 모든 계층에 보안을 적용하며, 전송 중인 데이터와 저장된 데이터 모두를 보호하는 것이다.
안정성은 복구 절차를 테스트하고, 수평 확장(scaling horizontally)으로 전체 시스템 가용성을 높이며, 장애 발생 시 자동으로 복구하는 것을 포함한다.
성능 효율성은 더 자주 실험하고, 서버리스 아키텍처를 활용하며, 몇 분 만에 글로벌로 확장할 수 있는 시스템을 설계하는 것이다.
비용 최적화는 소비 모델을 채택하고, 지출을 분석·귀속시키며, 관리형 서비스를 활용하여 소유 비용을 줄이는 것이다.
직접 점검할 수 있다 — AWS Well-Architected Tool
과거에는 솔루션 아키텍트의 도움을 받아야 이 프레임워크를 적용할 수 있었다. 하지만 AWS는 고객 피드백을 반영하여 셀프 서비스 도구인 AWS Well-Architected Tool을 출시했다. AWS Management Console에서 접근할 수 있으며, 워크로드를 생성하고 자신의 AWS 계정에 대해 평가를 실행할 수 있다. 5가지 기둥 각각에 대한 질문에 답하면, 개선이 필요한 영역과 권장 사항을 확인할 수 있다.
클라우드를 쓰면 뭐가 좋은데? — 6가지 이점
클라우드 컴퓨팅이 온프레미스나 하이브리드 환경보다 나은 점을 여섯 가지로 정리할 수 있다.
| 이점 | 설명 |
|---|---|
| 선투자 비용을 변동 비용으로 전환 | 데이터센터와 서버를 먼저 사는 대신, 쓴 만큼만 비용을 지불한다. 물리적 공간, 하드웨어, 인력, 운영 비용이 모두 사라진다. |
| 규모의 경제 | 수십만 고객의 사용량이 모이면 AWS는 더 낮은 단가를 달성할 수 있고, 이것이 낮은 종량제 요금으로 돌아온다. |
| 용량 추측 불필요 | “내년에 서버가 몇 대 필요할까?”를 맞힐 필요가 없다. 지금 필요한 만큼만 프로비저닝하고, 수요에 따라 늘리거나 줄이면 된다. |
| 속도와 민첩성 향상 | 테스트 환경을 빠르게 만들고 실험한 뒤, 안 되면 삭제하면 된다. 전통적인 데이터센터에서는 불가능한 유연함이다. |
| 데이터센터 관리에서 해방 | 데이터센터 회사가 아니라면, 인프라 관리 대신 핵심 제품과 고객에 집중할 수 있다. |
| 몇 분 만에 글로벌 진출 | AWS의 전 세계 인프라 덕분에, 해외에 데이터센터를 직접 운영하지 않아도 다른 리전에 아키텍처를 복제하면 된다. |
핵심 정리 — 이것만 기억하자
| 질문 | 답 |
|---|---|
| Well-Architected Framework란? | 클라우드 아키텍처를 모범 사례에 비추어 평가하고 개선점을 찾는 프레임워크 |
| 5가지 기둥은? | Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization |
| Well-Architected Tool이란? | AWS Console에서 셀프 서비스로 아키텍처를 점검할 수 있는 도구 |
| 클라우드의 6가지 이점은? | 변동 비용 전환, 규모의 경제, 용량 추측 불필요, 속도·민첩성, 데이터센터 해방, 글로벌 진출 |
마무리
좋은 아키텍처란 결국 “운영할 수 있고, 안전하고, 안정적이며, 효율적이고, 비용을 통제할 수 있는 것”이다. 이 다섯 가지 기둥은 클라우드 아키텍처에만 해당하는 이야기가 아니다. 어떤 시스템이든, 어떤 조직이든, 잘 설계되었다는 것은 하나의 측면만 뛰어난 것이 아니라 여러 기준을 균형 있게 충족한다는 뜻이다. 완벽한 아키텍처는 없지만, 더 나은 아키텍처를 향해 지속적으로 점검하고 개선하는 것 — 그것이 Well-Architected의 핵심이다.