클라우드 지출 효율성 최대화

완료됨

여러분이 솔루션 아키텍트로 일하고 있는 조직인 Lamna Healthcare에서 워크로드를 클라우드로 전환했습니다. 최근 Lamna의 예상보다 더 많은 리소스 및 워크플로 요금이 청구되었습니다. 여러분은 이와 같은 비용 증가가 효율적인 성장에 따른 자연스러운 결과인지 아니면 조직의 클라우드 리소스 효율성을 높여서 비용을 줄일 수 있는지 확인해 달라는 요청을 받았습니다.

클라우드를 사용하면 비용이 달라지는 이유

퍼블릭 클라우드와 온-프레미스 인프라의 차이점 중 하나는 사용하는 서비스를 지불하는 방식입니다.

온-프레미스 데이터 센터에서 하드웨어 조달은 긴 프로세스입니다. 물리적 하드웨어는 최대 용량에 맞춰 크기가 조정되며, 리소스를 사용하는 사업부는 컴퓨터 성능 및 스토리지 공간 같은 몇몇 비용을 간과할 수 있습니다. 물리적 인프라를 구매하면 투자 비용이 장기 자산에 묶여서 리소스를 민첩하게 활용할 수 없습니다.

클라우드로 전환하면 급증하는 물리적 인프라 유지 관리 비용을 종량제 비용 모델로 바꿀 수 있습니다. 더 이상 투자 비용을 물리적 자산에 묶어둘 필요가 없으며, 리소스 요구 사항이 바뀌면 그에 따라 리소스를 추가, 이동 또는 제거하면 됩니다.

워크로드는 서비스마다 다르고 서비스 내에서도 달라지며, 수요는 예측 불가능하고 성장 패턴은 시간에 따라 변합니다. 클라우드에서 사용한 만큼만 지불하므로 리소스가 변경되면 그에 따라 비용 구조도 바뀝니다.

클라우드 인프라는 변동하는 리소스 사용 시나리오를 처리할 수 있습니다. 장기간 비활성화된 리소스는 사용하지 않는 경우 종료하면 비용이 전혀 발생하지 않습니다. 다음번 조달 주기를 기다리는 대신 수요 증가에 따라 성공적인 서비스에 맞춰 자동으로 리소스 할당을 늘릴 수 있습니다. 추가 리소스를 동적으로 추가하고 제거하여 예측 가능/불가능한 수요 급증에 대응할 수 있습니다.

다음 일러스트레이션은 온-프레미스 인프라가 이와 같은 모든 변동 시나리오를 처리할 수 없는 이유를 보여 줍니다.

온-프레미스 인프라를 사용하는 경우의 단점을 보여 주는 일러스트레이션입니다.

효율적인 아키텍처에서는 수요에 맞춰 리소스가 프로비저닝됩니다. 대부분의 시간 동안 가상 머신의 사용률이 10% 미만이라면 컴퓨팅 및 비용 측면 모두에서 리소스를 낭비하고 있는 것입니다. 반대로 사용률이 90%인 가상 머신은 가용 리소스를 대부분 사용하고 있는 것이므로 비용을 효율적으로 사용하고 있는 것입니다.

시스템 사용률이 100%이면 성능 문제가 발생할 위험이 있습니다. 효율성 최대화가 시스템 성능에 악영향을 주지 않도록 하는 것이 중요합니다. 수요가 일정한 경우는 거의 없으므로 가능하다면 수요에 맞게 리소스를 조정하여 효율을 높이는 것이 중요합니다.

IaaS 비용 최적화

가상 머신과 같은 IaaS(Infrastructure as a Service) 리소스를 솔루션의 일부로 사용할 경우 VM과 관련된 비용이 지출에서 가장 큰 부분을 차지하는 경우가 많습니다. 일반적으로는 컴퓨팅 비용이 가장 큰 지출이고 그다음은 스토리지 비용입니다. 종량제 리소스를 최적화하면 월별 청구 비용에 큰 영향을 미칠 수 있습니다.

컴퓨팅 및 스토리지 비용을 절감하는 몇 가지 모범 사례를 살펴보겠습니다.

컴퓨팅

가상 머신의 비용을 절감할 수 있는 몇 가지 옵션이 있습니다.

  • 가상 머신 인스턴스 크기를 더 작게 선택합니다.
  • 가상 머신이 실행되는 시간을 줄입니다.
  • 컴퓨팅 비용 할인을 이용합니다.

적절한 크기의 가상 머신

가상 머신을 적절한 크기로 조정하는 것은 가상 머신 크기를 리소스 수요의 각 요구 사항과 일치시키는 프로세스입니다. VM이 25% 유휴 상태인 경우 VM 크기를 줄이면 비용이 즉시 절감됩니다. 가상 머신 비용은 인스턴스 패밀리 내에서 선형적이며, 크기가 한 단계 커질 때마다 비용이 두 배로 늘어납니다. 반대로 VM의 인스턴스 크기를 한 단계 줄이면 비용이 절반으로 감소합니다.

다음 일러스트레이션은 동일한 시리즈 내에서 크기를 한 단계 낮춰서 비용을 50% 절감하는 경우를 보여 줍니다.

사용률이 낮은 가상 머신을 축소하여 비용을 절감하는 경우를 보여 주는 일러스트레이션입니다.

Azure Advisor는 사용률이 낮은 가상 머신을 파악합니다. Azure Advisor는 14일 동안 가상 머신 사용량을 모니터링하여 사용률이 낮은 가상 머신을 파악합니다. 4일 이상 CPU 사용률이 5% 이하이고 네트워크 사용량이 7MB 이하인 가상 머신은 사용률이 낮은 가상 머신으로 간주됩니다.

가상 머신의 종료 예약 구현

주기적으로만 사용하는 VM 워크로드를 지속적으로 실행하고 있다면 비용을 낭비하고 있는 것입니다. 사용하지 않을 때는 이와 같은 VM을 종료하여 VM이 할당 취소된 동안 컴퓨팅 비용을 절감할 수 있습니다. 예를 들어 개발 환경은 업무 외 시간에 VM을 종료하기에 좋습니다. 일반적으로 개발은 업무 시간 동안에만 이루어지기 때문입니다.

VM을 할당 취소하는 여러 가지 옵션이 있습니다. 예를 들면 다음과 같습니다.

  • Azure Automation을 사용하여 VM 실행 시간을 워크로드에 필요한 시간으로 제한할 수 있습니다.
  • 가상 머신에서 자동 종료 기능을 사용하여 일회성 자동 종료를 예약할 수 있습니다.
  • Azure Portal에서 수동으로 VM을 중지할 수 있습니다.

VM을 중지하려면 항상 Azure 컨트롤을 사용해야 합니다. VM 내에서 OS를 종료할 경우 Azure 리소스의 할당이 취소되지 않으므로 비용이 계속 누적됩니다.

컴퓨팅 비용 할인 적용

Azure 하이브리드 혜택은 Windows Server 및 SQL Server 인스턴스의 비용을 최적화하는 또 다른 방법을 제공합니다. Software Assurance를 통해 Windows Server 또는 SQL Server를 실행하는 온-프레미스 컴퓨터의 라이선스를 VM 컴퓨팅 비용 할인에 사용할 수 있습니다. 그러면 사용하도록 설정된 인스턴스의 Windows Server 및 SQL Server 비용을 줄이거나 없앨 수 있습니다.

일부 가상 머신은 항상 가동해야 합니다. 프로덕션 워크로드의 웹 애플리케이션 서버 팜이 있거나 가상 네트워크에서 다양한 서버를 지원하는 도메인 컨트롤러가 있을 수 있습니다. 이와 같은 가상 머신이 내년 또는 그 이후까지 계속 실행될 것이 확실하다면 예약 인스턴스를 구매하여 비용을 더욱 절감할 수 있습니다.

Azure RI(Azure Reserved Virtual Machine Instances)를 사용하면 1년 또는 3년 약정으로 컴퓨팅 용량을 구매할 수 있어 종량제 컴퓨팅 리소스 대비 최대 72%에 달하는 엄청난 절감 효과를 볼 수 있습니다.

다음 일러스트레이션은 Azure 하이브리드 혜택과 온-프레미스 라이선스를 결합하는 경우와 Azure Reserved Virtual Machine Instances 및 Azure 하이브리드 혜택 모두와 온-프레미스 라이선스를 결합하는 경우에 절감되는 비용을 보여 줍니다.

Software Assurance가 포함된 온-프레미스 라이선스가 있는 경우 Azure 제품에서 절감되는 비용을 보여 주는 일러스트레이션입니다.

VM 디스크 스토리지의 비용 최적화

안정성과 성능이 뛰어난 디스크가 필요 없는 워크로드의 경우 저렴한 표준 스토리지를 사용해도 됩니다. 예를 들어 프로덕션 워크로드와 똑같을 필요가 없는 개발 및 테스트 환경에는 표준 스토리지를 사용하도록 선택할 수 있습니다.

VM에 연결되지 않은 디스크에도 스토리지 비용이 발생하므로 사용자 환경에 분리된 디스크가 남아 있지 않은지 확인해야 합니다. VM은 제거했지만 연결된 디스크는 제거하지 않은 경우 분리된 디스크를 파악하고 환경에서 제거하여 스토리지 비용을 줄일 수 있습니다.

환경에 남아 있는 분리된 스냅샷이 없는지도 확인해야 합니다. 스냅샷은 디스크 자체보다 저렴하지만 불필요한 리소스 비용은 없애는 것이 좋습니다.

PaaS 비용 최적화

PaaS(Platform as a Service) 서비스는 일반적으로 IaaS 서비스보다 우선하여 비용이 최적화되지만 PaaS 서비스에서도 낭비 요인을 파악하여 최적화함으로써 최소 비용을 달성할 수 있습니다. Azure SQL Database 및 Azure Blob 스토리지 비용을 절감하는 방법을 살펴보겠습니다.

Azure SQL Database 비용 최적화

Azure SQL 데이터베이스를 만들 때는 서버를 선택하고 성능 계층을 결정해야 합니다. 각 계층은 DTU(데이터베이스 트랜잭션 단위) 또는 vCore(가상 코어)로 성능 수준을 제공합니다.

데이터베이스 부하가 일정한 경우 성능 요구에 적합한 계층 크기를 선택하면 간단하게 최적화할 수 있습니다. 그러나 데이터베이스 작업량이 예기치 않게 급증한다면 어떻게 됩니까? 예측할 수 없는 워크로드를 처리할 때는 탄력적 풀이 비용 절감에 도움이 됩니다.

SQL Database 탄력적 풀은 사용량 수요가 다양하고 예측하기 어려운 여러 데이터베이스를 관리하고 스케일링할 수 있는 간단하고 비용 효율적인 솔루션입니다. 탄력적 풀의 데이터베이스는 단일 Azure SQL Database 서버에 있으며, 설정된 가격으로 설정된 수의 리소스를 공유합니다. 풀은 특정 사용 패턴을 보이는 다수의 데이터베이스에 적합합니다. 특정 데이터베이스에서 이 패턴은 평균 사용률이 낮고 사용률 급증 빈도가 비교적 낮은 특징을 보입니다.

풀에 더 많은 데이터베이스를 추가할수록 비용이 더 많이 절감됩니다. 다음 일러스트레이션은 세 가지 유형의 Elastic Database 풀의 기능을 보여 줍니다.

  • ‘기본’은 데이터베이스당 5eDTU까지 자동 스케일링됩니다.
  • ‘표준’은 데이터베이스당 100eDTU까지 자동 스케일링됩니다.
  • ‘프리미엄’은 데이터베이스당 1,000eDTU까지 자동 스케일링됩니다.

다양한 유형의 Elastic Database 풀의 자동 스케일링 기능을 보여 주는 일러스트레이션입니다.

탄력적 풀은 비용을 여러 데이터베이스에 분산하여 Azure SQL Database 비용을 크게 절감할 수 있는 좋은 방법입니다.

Blob 스토리지 비용 최적화

Blob 스토리지는 데이터를 저장하는 비용 효율적인 방법이지만, 데이터의 양이 많아지면 데이터 저장 방식을 최적화하여 비용을 줄일 수 있습니다.

Azure Storage는 Blob 개체 스토리지용으로 다음과 같은 세 가지 계층을 제공합니다.

  • 핫 액세스 계층: 스토리지 비용은 가장 높지만 액세스 비용은 가장 낮습니다. 이 계층은 자주 액세스하는 데이터를 저장하는 데 최적화되어 있습니다.

  • 쿨 액세스 계층: 핫 스토리지에 비해 스토리지 비용이 낮고 액세스 비용이 높습니다. 이 계층은 드물게 액세스하고 최소 30일 동안 저장되는 데이터를 저장하는 데 최적화되어 있습니다.

  • 보관 액세스 계층: 핫 및 쿨 스토리지에 비해 스토리지 비용이 가장 낮고 데이터 검색 비용이 가장 높습니다. 이 계층은 유연한 대기 시간 요구 사항(예: 몇 시간의 검색 대기 시간)에 따라 거의 액세스하지 않고 최소 180일 동안 저장되는 데이터를 저장하는 데 최적화되어 있습니다.

사용 가격 책정 모델

PaaS 서비스로 전환하면 종량제 모델을 진정한 사용 가격 책정 모델로 한 단계 더 업그레이드할 수 있습니다. Azure Functions와 같은 서비스에서는 ‘사용 플랜’을 사용할 수 있습니다.

사용 플랜을 사용하는 경우 Azure Functions 호스트의 인스턴스는 들어오는 이벤트의 수에 따라 동적으로 추가되고 제거됩니다. 이 서버리스 계획은 자동으로 크기를 조정하며, 함수를 실행하는 경우에만 컴퓨팅 리소스에 대한 요금이 청구됩니다. 소비 계획에서는 구성 가능한 기간 후에 함수 실행 시간이 초과됩니다. 요금은 실행 횟수, 실행 시간, 사용된 메모리 양을 기준으로 청구됩니다. 함수 앱 내의 모든 함수에 대한 청구가 집계됩니다.

소비 가격 책정 모델을 사용하는 서비스로 전환하면 새로운 비용 절감 방법을 아키텍처에 적용할 수 있습니다.

지식 점검

1.

귀사는 모든 구매 주문의 PDF 복사본을 저장합니다. 초기 업로드 후에는 이러한 파일에 드물게 액세스하며, 검색과 중요하게 관련된 시간이 없습니다. 장기 스토리지 비용을 줄이려면 다음 중 어떤 스토리지 계층이 가장 좋은 선택입니까?

2.

다음 중 탄력적 풀에 적합한 데이터베이스는 무엇입니까?