비용 효율성 사고방식으로 설계
투자에 대한 최고의 수익을 얻기 위해 필요한 것에만 지출하세요. |
---|
모든 아키텍처 결정에는 직간접적인 재정적 영향이 있습니다. 빌드 옵션과 구매 옵션, 기술 선택, 청구 모델 및 라이선스, 교육, 운영 등과 관련된 비용을 파악하세요.
일련의 요구사항이 주어지면 비용과 관련하여 워크로드의 교차 절감 문제를 효과적으로 해결할 수 있도록 최적화하고 절충안을 결정합니다.
예제 시나리오
Contoso Manufacturing(CM)은 WMS(사용자 지정 빌드 웨어하우스 관리 시스템)를 실행하여 남아메리카 전역의 4개 웨어하우스를 관리하고 솔루션을 업데이트하고 클라우드로 이동할 때라고 결정했습니다. 현재 솔루션을 리프트 앤 시프트 방식으로 전환하거나 최신 클라우드 도구로 그린 필드 구축을 고려하고 있습니다. CM의 고위 경영진은 비용 관리를 원하며 워크로드 팀의 리더에게 비용 효율성을 유지하는 것을 목표로 마이그레이션에 어떻게 접근할 것인지 질문했습니다.
WMS 솔루션은 IIS에서 실행되는 .NET 애플리케이션이며 데이터베이스에 SQL Server를 사용합니다.
워크로드 디자인의 총 비용 측정
ROI(투자 수익률)에 미치는 영향을 고려하여 기술 및 자동화 선택에 의해 발생하는 총 비용을 측정합니다. 디자인은 모든 기능 및 비기능 요구 사항에 대해 허용 가능한 경계 내에서 작동해야 합니다. 또한 디자인은 예측된 진화를 수용하기 위해 유연해야 합니다. 취득, 교육 및 변경 관리 비용을 고려합니다.
ROI를 고려한 균형 잡힌 접근 방식을 구현하면 비용을 증가시킬 수 있는 과도한 엔지니어링을 방지할 수 있습니다.
Contoso의 과제
- 워크로드 엔지니어링 팀은 이미 클라우드 네이티브 개발을 수행 중인 다른 CM 팀과 함께 이 워크로드를 클라우드로 전환하게 되어 매우 기쁘게 생각합니다.
- 이들은 애플리케이션의 기술 부채를 인식하고 상당량의 애플리케이션 코드를 다시 작성하고 많은 구성 요소에 대해 새로운 클라우드 네이티브 솔루션으로 전환하여 이를 해결할 것으로 예상하고 있습니다.
- 엔지니어링 팀은 이 기회를 통해 시스템을 마이크로 서비스로 완전히 재설계하고 팀을 위한 새롭고 흥미로운 기술인 AKS에서 호스팅하기를 희망합니다.
접근 방식 및 결과 적용
- 워크로드 팀은 클라우드 마이그레이션의 일환으로 대규모 리팩토링을 수행하고자 하는 의지는 분명하지만, 워크로드의 ROI를 유지해야 한다는 것을 알고 있습니다. 워크로드의 ROI를 유지하려면 새로운 엔지니어링 팀에 대한 광범위한 교육이 필요하지 않은 솔루션을 사용해야 하며, 마이그레이션의 일부로 워크로드를 크게 재작성할 수 없게 될 것입니다.
- 워크로드 팀은 시스템 설계에 실용적인 접근 방식을 취하여 비용 효율을 유지하고 예상 매개변수 내에서 작동하며 과도하게 설계되지 않도록 합니다. ROI를 유지하고 마이그레이션을 효율적으로 수행하기 위해 Azure App Service와 같은 클라우드의 동종 솔루션을 사용하는 것이 가장 좋은 방법이라고 결정했습니다.
- 마이그레이션하는 동안 Azure에서 플랫폼을 더욱 발전시킬 수 있도록 일부 기술적인 문제를 선택적으로 해결하고, 선택 프로세스의 일부로 ROI를 고려합니다.
디자인 구체화
전체 비용을 절감할 수 있거나 추가 투자가 필요하지 않거나 기능에 큰 영향을 미치지 않는 서비스의 우선 순위를 정하여 디자인을 미세 조정합니다. 우선 순위는 높은 ROI를 가져다주는 비즈니스 모델과 기술 선택을 고려해야 합니다.
리소스 유연성이나 동적 확장을 가능하게 하거나 기존 투자를 정당화할 수 있는 더 저렴한 옵션을 탐색할 수 있습니다. 우선 순위 지정 매개변수에는 중요한 워크로드, 런타임 및 운영에 필요한 비용과 팀이 보다 효율적으로 작업하는 데 도움이 될 수 있는 기타 비용이 고려될 수 있습니다.
Contoso의 과제
- 기존 워크로드는 HCI(하이퍼 컨버지드) 어플라이언스에서 호스팅되며 팀의 비용 센터에서 컴퓨팅, 네트워크 및 스토리지 비용을 청구합니다.
- 워크로드는 Windows 가상 머신에 사전 프로덕션 및 프로덕션 환경을 배포했습니다.
- 자체 호스팅 실행기를 사용하는 GitHub Actions는 GitHub Actions 작업을 실행하는 데 사용됩니다.
접근 방식 및 결과 적용
- 팀은 여러 클라우드 네이티브 옵션을 평가한 후 웹 구성 요소를 Azure App Service로 이동하면 상당한 변경 없이 Windows IIS 애플리케이션 호환성을 제공하고 상당한 학습이 필요하지 않다고 결정했습니다.
- 팀은 자체 호스팅 실행기에서 GitHub Actions를 계속 사용하기로 결정하지만 사용하지 않을 때 노드를 0으로 확장할 수 있는 기능을 사용하여 가상 머신 확장 집합으로 마이그레이션합니다.
비용 보호책을 지원하도록 아키텍처 디자인
플랫폼 솔루션, 정책, 인프라 및 애플리케이션 디자인 패턴 또는 자동화를 통해 비용 보호책을 구현하여 클라우드 환경 비용이 예산 내에서 유지되도록 합니다.
거버넌스 정책 또는 기본 제공 애플리케이션 디자인 패턴을 통한 시행으로 우발적이거나 승인되지 않은 요금을 방지할 수 있습니다.
Contoso의 과제
- 기존 시스템에는 비용 가드레일이 없었지만 거의 변경되지 않았기 때문에 가드레일을 구축할 동기가 거의 없었습니다.
- HCI 환경의 소유자는 이 워크로드에 적용되는 리소스 제한을 설정하여 워크로드가 과도한 컴퓨팅 및 스토리지 리소스를 소비하지 않도록 효과적으로 차단합니다.
- 팀은 클라우드로 이전하면 예상치 못한 비용이 발생할 수 있다는 점을 우려하고 있으며, 이러한 위험을 최소화할 수 있는 방법을 잘 알지 못합니다.
접근 방식 및 결과 적용
- 팀은 Microsoft Cost Management 솔루션에 대해 스스로 배웁니다.
- 팀은 Azure App Service 요금제에 대해 확장 제한을 설정할 계획입니다.
- 팀은 특정 고가의 가상 머신 SKU에 대해 거부 정책을 설정하여 해당 SKU의 배포를 허용하지 않을 계획입니다.
- 팀은 스토리지 비용을 관리하는 데 도움이 되는 자동화를 구현할 계획입니다. 특정 데이터 유형은 마지막 액세스 날짜와 같은 기준에 따라 자동으로 핫 스토리지에서 콜드 스토리지 또는 아카이브 스토리지로 이동합니다. HCI 환경에서는 이러한 유형의 자동화를 사용할 수 없습니다.