본문으로 건너뛰기

성능 효율성

성능 효율성(Performance Efficiency) 기둥은 “컴퓨팅 리소스를 요구사항에 맞게 효율적으로 사용하고, 수요와 기술 변화에 따라 그 효율을 계속 유지하는 능력"을 다룹니다. 단순히 “빠른 것"이 아니라 “필요한 만큼의 성능을 가장 효율적인 방법으로 얻는 것"이 핵심입니다.

적절한 리소스 유형 선택

AWS는 워크로드 특성에 맞춰 고를 수 있는 다양한 컴퓨팅, 스토리지, 데이터베이스 옵션을 제공합니다. “범용으로 충분히 빠른 것"보다 “이 워크로드에 최적화된 것"을 고르는 습관이 중요합니다.

  • 컴퓨팅: CPU 집약적 워크로드는 Compute Optimized 인스턴스(C 시리즈), 메모리 집약적 워크로드는 Memory Optimized(R 시리즈), 머신러닝 추론에는 GPU/Inferentia 인스턴스
  • 스토리지: 빈번한 임의 접근에는 SSD 기반 EBS gp3, 순차적 대용량 처리에는 처리량 최적화 HDD(st1)
  • 데이터베이스: 관계형 데이터에는 RDS/Aurora, 키-값 패턴에 빠른 응답이 필요하면 DynamoDB, 그래프 관계 탐색에는 Neptune

서버리스로 운영 부담과 유휴 비용 동시에 줄이기

서버 프로비저닝과 용량 계획 자체를 없애는 것이 가장 확실한 성능/효율 개선 방법인 경우가 많습니다.

  • Lambda: 요청 단위로 자동 확장되며, 트래픽이 없으면 비용도 발생하지 않음
  • Aurora Serverless: 데이터베이스 용량을 트래픽에 따라 자동으로 조절
  • Fargate: 컨테이너를 실행하되 기반 EC2 인스턴스를 직접 관리하지 않음

서버리스는 트래픽이 불규칙하거나 예측하기 어려운 워크로드에서 특히 효율적입니다. 항상 일정한 고부하가 걸리는 워크로드라면 오히려 예약된 EC2/컨테이너가 더 비용 효율적일 수 있습니다.

글로벌 인프라 활용

사용자가 전 세계에 분산되어 있다면, 데이터를 사용자와 가깝게 두는 것이 성능에 가장 큰 영향을 줍니다.

  • CloudFront: 정적/동적 콘텐츠를 엣지 로케이션에 캐싱해 사용자에게 가장 가까운 위치에서 응답
  • 글로벌 엑셀러레이터: AWS의 글로벌 네트워크를 거쳐 사용자를 가장 가까운 엔드포인트로 라우팅, TCP/UDP 트래픽의 지연시간 개선
  • Route 53 지연시간 기반 라우팅: 사용자의 위치에 따라 가장 빠른 응답을 줄 수 있는 리전으로 트래픽 분산

실험과 모니터링을 통한 지속적 개선

성능 효율성은 한 번 설계로 끝나지 않습니다. 새로운 인스턴스 유형이나 서비스가 계속 출시되므로, 정기적으로 다음을 점검해야 합니다.

  • CloudWatch 메트릭으로 실제 리소스 사용률을 관찰하고 과대/과소 프로비저닝 여부 확인
  • 새로운 인스턴스 패밀리나 프로세서(Graviton 등)로 마이그레이션 시 성능/비용 개선 여부를 작은 단위로 실험
  • 로드 테스트로 변경 사항이 실제 성능에 미치는 영향을 배포 전에 검증
SAA 연결: 성능과 비용은 자주 같은 결정에서 함께 고려해야 하는 trade-off입니다. 구체적인 아키텍처 패턴은 SAA: 성능/비용 아키텍처에서 다룹니다.