본문 바로가기

Infrastructure/Cloud Computing

[Well-Architected] Cost Optimization Pillar

Cost Optimization Pillar

이번 장에서는 Well-Architected Framework의 비용 최적화 원칙(Cost Optimization Pillar)에 대해서 알아본다.


비용 최적화 원칙

  • “비용 최적화 원칙”은 가장 낮은 가격으로 비즈니스 성과를 달성하는 능력에 대한 모든 것이며 중점 영역은 아래와 같다.
    • 클라우드 재무 관리: 비용 및 사용량을 최적화하여 비즈니스 가치와 재정 안정성 실현
    • 지출 인식을 통해 비용이 지출되고 있는 곳을 제어 및 이해
    • 예약 인스턴스 및 스팟 등의 비용 효율적인 리소스 유형 선택
    • 수요 관리 및 Auto Scaling, 캐싱 또는 대기열과 같은 리소스 제공
    • 시간이 지나면서 새로운 서비스 또는 기능을 이용해 최적화

설계 원칙

기존 환경에서의 비용 최적화 원칙

  • 대개 다른 사람에게 귀속될 수 없는 중앙 집중식 비용만 있는 경우가 많아서 아무도 비용을 검토하도록 장려되지 않았다.
  • 이메일 전송 및 데이터베이스용 서버를 유지 관리할 개인을 고용해야 하고 자본 지출(CapEx)를 중심으로 선행되는 모든 비용을 지불해야 한다.
  • 리소스 또한 비용이 많이 들어 기업에 높은 비용을 발생시키기 때문에 공급업체로부터 더 적은 리소스를 구입해야 한다.
  • 데이터 센터 관리를 위해 “UHL”에서 비용과 시간을 고려해야 한다.

클라우드 환경에서의 비용 최적화 원칙

  • 클라우드에서는 비용 최적화에 기존 환경의 제약 조건이 없다. 팀 간 적극적인 협력으로 워크로드를 최적화할 수 있는 조직의 역량을 개선한다.
  • 사용한 컴퓨팅 리소스에 대해서만 지불하며, 정교한 예측을 사용하지 않고 비즈니스 요구 사항에 따라 사용량을 늘리거나 줄인다.
  • 클라우드 컴퓨팅을 사용하면, 자체 환경과 비교하여 클라우드에 더 저렴한 가변 비용을 실현할 수 있다.
  • AWS가 더 큰 규모의 경제를 실현할 수 있기 때문에 서버를 랙에 설치하고 쌓아올리고, 서버에 전원을 공급하는 등의 과중한 업무를 AWS에서 처리하므로 IT 인프라에 신경 쓸 필요 없이 고객과 핵심 비즈니스에만 집중할 수 있다.
  • 클라우드에서는 더욱 쉽게 시스템 사용량과 비용을 정확히 파악할 수 있어 개별 워크로드 소유자에게 IT 비용을 투명하게 귀속시킬 수 있다.
  • 클라우드에서 관리형 서비스는 이메일 전송이나 데이터베이스 관리 같은 작업을 위해 서버를 유지 관리하는 운영상의 부담을 없애 준다.

비용 효율적인 리소스

비용 최적화

  • 시스템에 적절한 인스턴스 및 리소스를 사용하는 것이 비용 절약의 핵심이다. 예를 들어, 보고 프로세스가 소규모의 서버에서 실행되는 데는 5시간이 걸리지만 값이 두 배인 대규모 서버에서는 1시간이면 충분하다.
  • 두 작업 모두 동일한 결과를 제공하지만 소규모 서버는 시간이 지남에 따라 더 많은 비용이 발생한다.
  • “Well-Architected” 시스템은 중요하고 긍정적인 경제적 영향을 가져다줄 수 있는 가장 비용 효율적인 리소스를 사용한다.
  • 비용을 절감하기 위해 관리형 서비스를 사용할 수도 있다. 예를 들어, 이메일 전송을 위해 서버를 유지하는 것보다 메시지 별로 요금이 부과되는 서비스를 사용할 수 있다.

요금 모델

  • AWS는 고객의 요구에 가장 적합한 방식으로 EC2 인스턴스를 확보할 수 있도록 유연하고 비용 효율적인 다양한 요금 옵션을 제공한다.
  • 온디맨드 인스턴스를 사용하면 장기 계약 없이 시간 단위로 지불할 수 있다.
  • “Savings Plans” 및 “예약 인스턴스”를 사용하면 지출 수준 또는 사용량에 전념할 수 있으며 온디맨드 요금 대비 최대 72%까지 비용을 절감할 수 있다.
  • “스팟 인스턴스”를 사용하면 미사용 EC2 용량을 상당히 할인된 요금으로 소비할 수 있다.
  • “스팟 인스턴스”는 고성능 컴퓨팅 및 빅데이터를 사용하는 경우와 같이, 개별 서버가 동적으로 이동할 수 있는 서버 플릿 사용을 시스템에 허용할 수 있는 경우에 적합하다.
  • 최대 6시간까지 중단되지 않는 스팟 블록을 요청할 수도 있다.

관리형 서비스

  • “Amazon RDS”, “Amazon Elastic MapReduce(Amazon EMR)” 및 “Amazon DynamoDB”와 같은 관리형 AWS 서비스를 활용할 수 있어, 항목별로 관리 비용을 낮출 수 있다.
  • 네트워크 트래픽과 관련된 비용을 잠재적으로 줄이려면 “Amazon CloudFront”와 같은 솔루션을 고려하면 좋다.
  • 자동화를 이용하려면 “AWS CloudFormation”과 같은 템플릿 기반 서비스를 통해 환경 생성 비용을 절감할 수 있다. 이를 통해 템플릿에서 요청 시 환경을 만들 수 있어, 예를 들어 필요한 경우에만 테스트 환경을 가져올 수 있다.

공급 및 수요 리소스 관리

비용 최적화

  • 클라우드로 이전하면 필요한 만큼만 지불하면 된다.
  • 필요한 시점에 워크로드 수요에 맞춰 리소스를 공급할 수 있어, 비용이 많이 드는 오버 프로비저닝으로 낭비할 필요가 없다.
  • 또한 스로틀, 버퍼 또는 대기열을 사용하여 수요를 수정하여 수요를 원활하게 하고 적은 리소스로 제공할 수 있다.
  • 핵심 사항은 아래와 같다.
    • 수요에 맞게 리소스 프로비저닝
    • 필요에 따라 리소스를 추가하거나 제거할 수 있는 “Auto Scaling”
    • 수요 정체를 방지하기 위한 버퍼링 또는 대기열 요청
    • 리소스의 활용도를 훨씬 더 높이는 데 도움이 되는 모니터링 도구 및 정기적인 벤치마킹
  • 온디맨트 컴퓨팅, “Auto Scaling” 및 기타 자동화된 배포 메커니즘의 유연성은 더 높은 수준의 최적화를 용이하게 하므로, 필요한 리소스만 프로비저닝하고 수평으로 확장할 수 있다.

수요 및 공급 리소스 관리

  • “비용 최적화 모범 사례”의 예는 적절한 양의 리소스로 수요와 공급을 관리하도록 보장하는 것이다.
  • 목표를 달성할 수 있는 방법은 다양하고 많으며, 대기열 또는 버퍼를 이용해 수요를 관리하고, 수요 기반 또는 시간 기반과 같은 “Auto Scaling”을 통해 적절한 양의 리소스를 제공하는 것이 포함된다.

지출 인식

비용 최적화

  • “지출 관리”는 매우 중요하며, 지출을 투명하게 분배할 수 있다면 시스템 및 제품의 투자 수익을 파악할 수 있다.
  • 워크로드 또는 환경에 따라 청구서를 항목화할 수 있으며 여러 계정의 태그를 사용하여 이 작업을 수행할 수 있다.
  • 아직 준비가 되지 않았다면, 기본 제공 비용 탐색기예산 정책 도구를 통해 가시성을 넓힐 수 있다.

비용 최적화: 시간에 따른 최적화

  • AWS는 새로운 서비스와 기능을 출시하므로 최적의 비용 효율성을 계속 유지하도록 기존 아키텍처 결정을 재평가하는 것이 좋다.
  • 요구 사항은 계속 변하므로 리소스 및 전체 서비스 또는 더 이상 필요하지 않은 시스템을 적극적으로 폐기해야 리소스 연결이 끊어지는 것을 방지할 수 있다.
  • AWS의 새로운 블로그와 같은 도구를 사용하여 새 릴리즈를 검토하면, 사용률을 적극적으로 모니터링하고 시스템의 수명 주기 동안 지속적으로 최적화할 수 있다.

AWS Cost Explorer

  • “지출 인식”에서 비용 최적화 모범 사례의 예는 “AWS Cost Explorer”를 사용하여 AWS 비용을 분류하고 추적하는 것이다.
  • “AWS Cost Explorer”를 사용하면 시간 경과에 따라 AWS 리소스에 지출하는 금액의 패턴을 보고, 추가 질의가 필요한 영역을 식별하며, 비용을 파악하는 데 사용할 수 있는 추세를 알아볼 수 있다.
  • 예를 들어, “AWS Cost Explorer”를 사용하여 어떤 서비스를 가장 많이 사용하고, 어떤 가용 영역에 가장 많은 트래픽이 있으며, 어떤 연결 계정이 AWS를 가장 많이 사용하는지 등을 살펴볼 수 있다.

AWS 블로그

  • AWS 블로그를 사용하여 워크로드에 구현할 수 있는 새로운 서비스 및 기능을 식별할 수 있다.
  • 예를 들어, “Amazon RDS”는 새로운 데이터베이스 엔진을 제공하므로 고가의 독점 엔진에서 관리형 데이터베이스 엔진으로 마이그레이션하여 비용과 운영 부담을 줄일 수 있다.
  • 간략하게, “Oracle”, “MSSQL”에서 “Amazon RDS”로 변경하여 비용을 절감할 수 있다는 의미이다.

핵심 사항

  • “비용 최적화 원칙”의 핵심 사항은 아래와 같다.
    • 불필요한 비용 또는 최적화되지 않은 리소스를 회피하거나 제거한다.
    • 전체 워크로드 효율성을 측정한다.
    • 초과 지출 없이 수요에 맞춰 리소스를 추가하거나 제거한다.
    • “Savings Plans” 및 “선결제한 용량”을 사용하여 비용을 절감한다.
    • “Amazon CloudWatch” 경보 및 AWS 예산과 같은 모니터링 및 알림 서비스를 사용하여 예산 금액을 초과하거나 초과할 것으로 예상되면 경고가 표시된다.
    • AWS 웹 사이트의 AWS 블로그 및 새 소식 섹션을 통해 새롭게 시작된 기능 및 서비스에 대해 학습한다.

참고 자료