이 완성도 모델은 기본 비용 인식에서 고급 최적화 마스터로의 여정을 진행합니다.
투명성 및 책임과 같은 기본 사례부터는 체계적인 분석, 사용자 중심 인사이트, 프로덕션 학습 및 궁극적으로 고급 효율성 기술을 비롯한 정교한 기능을 점진적으로 구축할 것입니다. 진행은 단순히 비용 놀라움에 대응하는 것에서 비즈니스 목표에 부합하는 재무 결과를 사전에 형성하는 것으로 접근 방식을 변환하도록 설계되었습니다.
모델은 각각 기본 목표와 핵심 전략 집합이 있는 5개의 고유한 완성도 수준으로 구성됩니다. 아래 탭 보기를 사용하여 각 수준을 탐색합니다. 진행하면서 강조 표시된 장단 사항 및 관련 위험도 검토해야 합니다.
수명 주기 내내 워크로드 비용을 관리하기 위한 팀 책임 및 기본 프로세스를 설정합니다.
완성도 모델의 수준 1은 워크로드 팀이 예산을 이해하고 워크로드 수명 주기 동안 비용을 관리하는 프로세스 및 도구를 설정하는 데 도움이 됩니다. 비용 모델 빌드와 같은 더 성숙한 프로세스를 설정하기 전에 예산에 문제를 일으키지 않고 워크로드를 시작하기 위한 기본 비용 관리 모범 사례에 집중해야 합니다.
다음 권장 사항은 워크로드를 효율적으로 빌드하는 동안 비용을 현명하게 관리하는 데 도움이 될 수 있습니다.
주요 전략
✓ 모든 팀 구성원, 관리자 및 의사 결정자와 재무 목표, 예산 세부 정보 및 워크로드 지출 공유
워크로드에 할당된 예산, 비용 분석 및 재무 목표에 대한 자세한 정보를 이해 관계자에게 제공합니다. 인프라 비용, 소프트웨어 라이선스 및 운영 비용과 같은 다양한 비용에 대한 자세한 인사이트를 공유합니다. 이 관행은 종종 생각하지 않지만 중요합니다. 워크로드 팀과 리더십 팀 간의 신뢰를 구축하는 데 도움이 되며 워크로드 팀이 비용 관리에 대해 미리 생각하고 있음을 보여줍니다. 또한 이러한 협업은 리더십 팀에 대한 헌신으로 인해 워크로드 팀이 비용 관리에서 부지런히 유지되도록 동기를 부여하는 데 도움이 됩니다.
공동 작업 도구를 사용하여 팀 구성원이 비용 최적화 아이디어와 인사이트를 공유하도록 장려합니다. 팀이 아이디어와 인사이트를 공동 작업할 수 있는 메커니즘을 제공합니다. 이 접근 방식을 통해 팀 구성원은 워크로드 팀의 모든 분야에 걸쳐 제안을 제공할 수 있습니다. 비용 최적화에 대한 공동 작업 문화를 조성하는 경우 워크로드 비용 관리가 모든 팀 구성원에게 똑같이 의존한다는 사고방식을 강화합니다.
비용 최적화 사고방식에 동기를 부여하려면 재정적 책임을 입증하고 비용 최적화에 기여하는 개인과 팀을 인정하는 것이 좋습니다. 성능 평가, 인센티브 또는 기타 인식 프로그램을 사용할 수 있습니다.
✓ 송장 및 요금제 데이터를 포함하여 모든 원본에서 자세한 비용 데이터를 수집합니다.
송장 데이터는 실제 청구 금액을 나타내며 요금제 데이터는 청구 플랜에 따라 예측됩니다. 워크로드 비용에 대한 자세한 그림을 보려면 서비스 공급자가 제공하는 사용 가능한 모든 도구와 방법을 살펴보세요. 월별 청구서는 관련자에게 지출에 대한 충분한 세부 정보를 제공하지 않을 수 있습니다. 데이터를 컴파일하여 불분명한 혐의를 조사하고 모호한 용어를 설명하는 시간을 절약합니다. 사용량 현황 데이터를 수집한 후 해당 데이터를 통합 시스템으로 중앙 집중화합니다.
다양한 보기에 대한 필터가 있는 청구 대시보드를 활용합니다. 이해관계자와 워크로드 팀 구성원은 필터를 사용하여 그들에게 가장 관련 있는 정보를 쉽게 볼 수 있습니다.
✓ 비용 요인 결정
다양한 워크로드 구성 요소가 전체 비용에 미치는 영향을 식별하려면 채택한 도구를 사용하여 청구 데이터를 수집합니다. 데이터 전송 또는 트랜잭션과 같은 프로세스와 관련된 비용 및 전체 비용에 미치는 영향을 특별히 주의하세요. 이러한 비용은 배포 전에 초기 리소스 비용 예측 중에 간과되는 경우가 많습니다.
또한 클라우드 리소스와 직접 관련되지 않은 요소가 예산에 어떤 영향을 줄 수 있는지도 이해해야 합니다. 이러한 요인에는 팀 구성원에 대한 교육 및 클라우드 공급자가 관리하지 않는 소프트웨어 라이선스가 포함될 수 있습니다.
✓ 빌드 또는 구매 여부를 결정합니다.
워크로드 팀이 내려야 하는 첫 번째 결정 중 하나는 기성 솔루션을 사용할지 아니면 사내에서 솔루션을 빌드해야 하는지 여부입니다. 일반적으로 Well-Architected Framework는 단순하게 유지하는 것을 선호합니다. 기성 솔루션을 사용하는 것은 그 철학을 따릅니다. 잘 지원되는 솔루션은 개발자가 애플리케이션의 핵심 기능에 집중할 수 있도록 운영 부담을 줄이고 개발에 필요한 시간을 줄입니다.
절상: 솔루션을 빌드할지 아니면 구매할지 결정할 때 비용을 고려합니다. 사내에서 솔루션을 구축하는 것은 일반적으로 개발 시간과 개발을 완료하는 데 필요한 모든 리소스에 대한 선행 투자를 의미합니다. 그러나 지원 계약 또는 라이선스를 유지할 필요가 없으므로 되풀이 비용이 줄어듭니다.
팀에 적합한 결정을 내릴 수 있도록 다음 사항을 평가합니다.
-
원하는 제어 수준: 솔루션의 기능에 대해 얼마나 많은 제어가 필요한지 결정합니다.
-
필요한 사용자 지정 양: 진화하는 워크로드에 적합한 사용자 지정 수준을 결정합니다.
-
예상 출시 시간: 워크로드를 시장에 출시하기 위한 이해 관계자의 기대와 해당 타임라인을 가장 잘 충족할 수 있는 방법을 이해합니다.
-
필요한 기술 전문 지식: 솔루션을 빌드하고 운영하기 위해 유지해야 하는 전문 지식을 결정합니다.
-
예상되는 운영 부담: 운영 팀이 솔루션을 지원하는 데 필요한 시간과 노력을 예측합니다.
이러한 평가는 각 옵션의 총 비용을 이해하여 서로 비교할 수 있도록 도와줍니다. 총 비용은 유일한 결정 요인이 아닐 수 있습니다. 그러나 옵션에 상당한 차이가 있는 경우 워크로드 개발 속도를 높이기 위해 저렴한 옵션을 선택합니다.
✓ 팀의 기술에 투자
팀에 지식이 부족한 영역에서 업스킬링에 투자합니다. 강력한 클라우드 기술은 장기적인 의사 결정을 용이하게 하고 일상적인 생산성을 최적화합니다. 클라우드 공급자 또는 다른 파트너가 제공하는 교육 또는 인증을 고려합니다. 워크로드 팀과 다른 의사 결정자의 생산성을 향상하면 비용이 많이 드는 실수를 최소화하여 시간과 비용을 절약할 수 있습니다.
체계적인 비용 분석 및 보고를 만들어 지출 패턴을 이해합니다.
초기 배포 후에는 비용 관리를 간과하면서 새로운 기능을 개발하고 판매를 촉진하는 데 집중하는 것이 일반적입니다. 수준 2에서는 지출이 증가할 것으로 예상되므로 구조화된 접근 방식을 취해야 합니다. 도구 및 기술의 비용을 평가하고, 기준을 작성하고, 주요 비용 동인을 식별합니다.
비용 관리는 압도적으로 보일 수 있지만 초기 단계에서 체계적인 비용 분석은 재무 제어를 유지하고 성장을 지원하기 위해 필요합니다.
주요 전략
✓ 기준 비용 모델 개발
비용 모델은 워크로드의 전체 비용을 예측한 것입니다. 비용은 플랫폼 서비스, 데이터 스토리지, 사용자 및 시스템 흐름 및 작업과 같은 요인에 따라 세분화됩니다. 최소한 체계적인 비용 분석을 수행하고 기본 비용 모델을 만들어야 합니다. 이 연습은 리소스 할당 및 최적화에 대한 정보에 입각한 결정을 내리는 데 도움이 됩니다.
모든 Azure 리소스의 인벤토리를 만들고 각 리소스의 어떤 측면으로 인해 비용이 더 많이 드는지 지정합니다.
비용 제약 조건 내의 확장성 및 안정성과 같은 목표와 일치하는 기술 선택 사항과 해당 항목에 대해 질문합니다. 각 리소스에 대해 비용을 확인하고 비용이 너무 높거나 너무 낮은지 확인합니다. 잠재적인 성장을 염두에 두고 예상 부하에 대해 측정합니다.
흐름 비용을 확인하고 중요 흐름과 중요하지 않은 흐름을 구분합니다. 감사 목적으로 백그라운드 작업과 같은 중요하지 않은 흐름보다 전자 상거래 애플리케이션의 사용자 환경과 같은 중요한 흐름의 우선 순위를 지정합니다.
데이터 스토리지 및 데이터 액세스 패턴의 비용을 계산합니다.
✓ 빌드 비용 보고서
재무 가시성을 위한 기본 비용 보고서를 작성하고 비용 패턴을 분석합니다. 또한 특정 지출 금액을 초과하는 경우에 대한 비용 경고를 설정합니다.
Microsoft Cost Management를 사용하여 서비스에 대한 지출을 분석, 모니터링 및 제어하는 것이 좋습니다. 해당 옵션을 사용할 수 없는 경우 사용량을 추적하고 월별 보고서를 생성하는 시스템을 빌드합니다.
✓ 책임 설정
책임은 비용 관리에서 타협할 수 없는 요소입니다. 초기 단계에서 팀 구성원을 할당하여 매월 예산 및 비용 보고서를 검토하고 예기치 않은 급증을 팀에 알릴 수 있습니다. 책임 있는 사람은 워크로드 지출을 평가하고 그에 따라 팀을 안내해야 합니다.
처음에는 책임감이 유연할 수 있습니다. 스타트업이 성숙함에 따라 더 엄격한 통제를 시행합니다.
✓ 최적화 기회 평가
비용 모델은 주요 비용 동인을 잘 이해해야 하며 비용 보고서는 증거를 제공해야 합니다. 해당 드라이버를 평가하고 최적화할 기회를 탐색합니다. 다음 전략을 고려합니다.
워크로드에서 사용하는 각 Azure 리소스에 대한 청구 모델을 평가합니다. 각 계획에서 번들로 묶는 모든 기능이 필요한지 여부를 결정합니다. 예를 들어 Azure Front Door를 사용하는 프라이빗 엔드포인트와 같은 특정 기능이 필요한 경우 프리미엄 플랜이 필요할 수 있습니다. 그렇지 않으면 비용을 절감하기 위해 더 낮은 플랜을 선택하는 것이 좋습니다.
소비 기반 청구와 약정 기반 청구 중에서 선택합니다. 발생한 비용을 이해할 수 있도록 소비 기반 청구부터 시작하는 것이 좋습니다. 부하가 일관된 경우 이후 단계에서 일관된 부하를 위해 Azure에서 제공하는 할인을 살펴볼 수 있습니다.
코딩 사례를 평가합니다. 코드 계측을 사용하여 실행하는 데 비용이 많이 드는 프로세스를 식별하고 불필요한 비용이 발생할 수 있는 성능 문제에 대한 인사이트를 제공합니다. 프로세스 기간 및 실패율과 같은 메트릭을 수집하여 향후 최적화를 위한 데이터 기반 결정을 내립니다.
✓ 초기 크기 조정 전략 결정
스케일 아웃은 스케일 업에 비해 더 비용 효율적이고 구현하기 쉽기 때문에 선호됩니다. 스케일 업에는 가동 중지 시간 및 더 높은 비용이 포함됩니다.
성능 테스트 및 메트릭을 고려하고 평가에 따라 스케일 아웃 또는 스케일 업합니다.
사용자 피드백 및 운영 신호를 통합하여 비용 최적화 전략을 구체화합니다.
워크로드 개발 및 운영의 초기 단계에서는 내부 개발 피드백 루프를 사용하여 워크로드를 최적화할 수 있습니다. 이 완성도 수준에서는 내부 및 외부 사용자뿐만 아니라 다른 이해 관계자를 모두 포함하도록 피드백 루프를 확장하는 것이 중요합니다. 워크로드에 대한 비용 최적화를 구체화할 때 다른 핵심 요소, 특히 성능 효율성 및 안정성 핵심 요소와의 장편을 고려해야 합니다.
비용 최적화 핵심 요소의 수준 3은 성능 및 안정성 목표를 충족하는 동시에 내부 및 외부 피드백을 전략에 통합하여 프로덕션을 위한 워크로드를 준비하는 데 중점을 둡니다.
주요 전략
✓ 영향력 있는 흐름에 투자하고 다른 흐름을 미세 조정합니다.
애플리케이션 흐름에 할당된 우선 순위를 고려합니다. 중요하지 않은 흐름의 비용을 단순화하고 줄이는 방법을 찾는 동안 중요한 흐름에 대한 개발 노력의 우선 순위를 지정합니다. 중요하지 않은 흐름에는 덜 엄격한 안정성 요구 사항이 있을 수 있습니다. 따라서 디자인을 간소화할 수 있습니다.
각 흐름에 대해 불필요한 요소를 제거하고, 적절한 성능 계층을 선택하고, 가변 수요에 대한 크기 조정 설정을 조정하고, 성능 및 예산 요구 사항에 맞게 구성을 미세 조정합니다. 흐름을 모니터링하여 유휴 컴퓨팅 인스턴스, 사용되지 않는 데이터 및 낮은 네트워크 대역폭과 같은 비효율성을 식별합니다. 네이티브 로깅 및 분석 도구를 사용하여 추세에 대한 이러한 메트릭을 집계하고 분석할 수 있습니다.
✓ 경고를 사용하여 비용 보호책 적용
지출 임계값 및 관련 경고를 만들어 비용 보호책을 적용합니다. 이 방법을 사용하면 워크로드가 예산 내에서 유지됩니다. 경고의 예는 다음과 같습니다.
예산 경고를 사용하면 지출 임계값을 설정하고, 비용을 모니터링하고, 알림을 수신하여 비용을 제어하고 정보를 유지할 수 있습니다.
비용 변칙 경고는 예기치 않은 비용 변동을 알립니다. 비효율성 또는 비정상적인 지출 패턴을 조사하고 해결할 수 있습니다.
약정 기반 계획 사용량 경고는 사용량이 원하는 임계값 아래로 떨어질 때 관련자에게 알려 약정 기반 리소스의 사용을 모니터링하고 최적화하는 데 도움이 됩니다.
✓ 리소스 사용량을 최적화하는 전략 개발
비프로덕션 및 프로덕션 환경을 빌드할 때 의도치 않게 과도하게 프로비전된 리소스를 배포할 수 있습니다. 시간이 지남에 따라 PoC(개념 증명) 또는 더 이상 필요하지 않은 테스트를 위해 배포된 리소스를 누적할 수 있습니다. 최적화된 클라우드 환경을 유지 관리하는 지속적인 개선을 위해서는 사용되지 않는 리소스와 사용되지 않는 리소스를 식별하는 전략을 개발하는 것이 필수적입니다. 다음 권장 사항을 살펴 보십시오.
각 환경에 올바른 리소스 종류 및 SKU를 사용합니다. 클라우드 플랫폼에서 제공하는 인프라 옵션을 연구하고 각 사용 사례에 적합한 리소스 종류 및 SKU를 선택합니다.
PoC 및 개발/테스트 환경을 대상으로 하는 특정 리소스 종류 및 SKU가 있는 경우가 많습니다. 이러한 리소스 종류 및 SKU는 표준 또는 고성능 리소스보다 훨씬 저렴하지만 프로덕션 워크로드에는 사용할 수 없습니다.
사용자에 대한 리소스 종류, SKU, 지역 및 배포 권한을 제한하는 정책을 구성하고 적용합니다. 자동화된 정책은 환경 변경을 관리하는 데 도움이 될 수 있습니다. 이 프로세스는 무단 배포의 위험을 줄입니다.
인프라를 모든 환경 변경에 대한 코드로 사용하여 표준화합니다. 이 방법은 환경 변경 정책을 적용하고 운영 사례를 간소화하여 사용자 오류의 위험을 줄이는 데 도움이 됩니다.
CPU, 메모리 및 스토리지와 같은 사용 메트릭을 모니터링하여 리소스가 과소 사용되고 규모를 축소할 수 있는지 확인하는 데 도움이 됩니다.
안전하게 종료하거나 삭제할 수 있는 사용되지 않는 리소스에 대한 비프로덕션 및 프로덕션 환경을 검토합니다.
클라우드 플랫폼이 제공하는 도구를 활용하여 리소스 최적화를 식별합니다. 예를 들어 Azure Advisor는 잠재적인 비효율성을 식별하고 이를 해결하기 위한 단계를 제안하는 비용 최적화 권장 사항을 제공합니다.
상충관계: 리소스를 조정할 때 성능과 안정성 목표를 고려하십시오. 이해 관계자와 협의하여 성능, 안정성, 비용을 균형 있게 맞추기 위한 타협안을 찾거나, 예산 제약으로 인해 워크로드 향상이 어려울 때 해결책을 모색합니다.
✓ 라이선스 및 기타 정적 비용 최적화
클라우드 리소스를 배포할 때 라이선스 및 기타 고정 월별 비용을 구매하는 전략적 접근 방식을 취합니다. 이러한 비용에는 서버 및 데이터베이스 라이선스, 소프트웨어 라이선스 및 사전 예약이 포함됩니다. 다음 비용 절감 전략을 고려합니다.
클라우드로 마이그레이션하는 시스템 또는 클라우드의 새 배포에 기존 라이선스를 적용하기 위한 연구 옵션( 예: Azure 하이브리드 혜택). 클라우드 리소스 또는 소프트웨어 라이선스에서 가능한 비용 절감을 활용하기 위해 조직에서 유지 관리하는 볼륨 라이선스 또는 기업 계약을 조사합니다.
Visual Studio의 개발/테스트 라이선스와 같은 해당 시스템에는 비프로덕션 및 개발/테스트 라이선스를 사용합니다.
실용적일 때 클라우드 리소스 용량을 미리 구매하세요. 용량을 예약하면 월별 사용 비용을 크게 줄이고 보다 일관된 비용을 유지할 수 있습니다.
위험: 예약을 구매할 때 사용 사례에 가장 비용 효율적인 모델을 선택해야 합니다. 예를 들어 리소스를 야간 또는 계절에 따라 축소할 수 있는 경우 크기를 지능적으로 조정하는 것이 더 비용 효율적일 수 있습니다. 또한 기준 테스트 및 용량 계획을 통해 미리 예약할 올바른 SKU를 식별합니다.
✓ 자동 크기 조정 정책 구체화
초기 크기 조정 정책은 내부 개발 피드백 루프를 기반으로 할 수 있습니다. 이러한 정책은 개발 요구 사항에 맞게 크기 조정에 중점을 두고 있습니다. 워크로드가 발전함에 따라 내부 및 외부 사용자 피드백을 통합하여 성능이 허용 가능한 범위 내에 유지되도록 합니다.
크기 조정 임계값을 조정하고 임시 부하 급증을 완화하기 위해 쿨다운 기간을 도입합니다. 지속적으로 시스템을 모니터링하고 미세 조정하여 비용을 최적화하고 요구 사항을 충족합니다. 앞으로 이동하는 데 사용할 배율 단위를 정의합니다. 이러한 단위는 워크로드 디자인, 사용 사례, 구성 요소, 흐름 및 비즈니스 요구 사항과 같은 요인에 따라 달라집니다.
예를 들어 중요 업무용 워크로드의 경우 규모 단위는 전체 배포 스탬프일 수 있습니다. 또는 중요하지 않은 흐름이 있는 간단한 워크로드의 경우 크기 조정 단위는 워크로드에 할당된 특정 SKU의 컴퓨팅 인스턴스 수를 기반으로 할 수 있습니다. 워크로드가 용량 낭비 없이 예상되는 부하 증가를 처리할 수 있도록 하는 크기 단위를 선택합니다. 예측된 크기 조정 요구 사항을 포함하도록 비용 모델을 업데이트합니다.
✓ 데이터 자산 최적화
데이터는 클라우드 비용의 주요 동인입니다. 적절한 데이터 관리는 비용을 일관되고 예산 내에서 유지하는 데 도움이 될 수 있습니다. 다음 전략을 사용하여 데이터 자산을 관리합니다.
데이터를 분류하고 레이블을 지정하여 적절한 컨트롤을 적용하고 다양한 데이터 형식 및 저장소에 대한 적절한 수준의 안정성과 성능을 결정합니다.
필수 데이터만 캡처하고, 콜드 스토리지용으로 데이터를 압축하고, 적절한 보존 정책을 사용하여 불필요한 데이터를 삭제합니다. 중복 데이터를 제거하고 효율적인 데이터 스토리지 사례를 사용자에게 교육하기 위해 데이터를 중복 제거합니다.
증분 백업을 사용하고, 압축을 사용하도록 설정하고, 이전 백업을 콜드 스토리지로 이동하여 백업을 최적화합니다.
동기 또는 비동기 등 적절한 복제 모델을 적용하여 복제를 최적화하여 요구 사항에 따라 복제를 최적화합니다. 특정 요구 사항에 맞게 복제 빈도를 조정합니다. 요구 사항 및 구성을 지속적으로 평가합니다.
내부 및 외부 피드백을 통합하여 스토리지 액세스 패턴을 검토하고 데이터 수명 주기 관리 전략을 조정합니다.
도구를 사용하여 쿼리를 최적화합니다.
절충: 백업 및 복제 정책을 복구 목표와 비교합니다. 이전 백업을 콜드 스토리지로 덜 자주 복제하거나 오프로드하면 복구 시간에 영향을 줄 수 있으므로 이러한 최적화를 구현하는 데 유의해야 합니다.
✓ 코드 최적화, 소프트웨어 개발 사례 및 기능 개발 전략
비효율적인 코드는 시스템 성능을 저하시킬 수 있습니다. 이러한 비효율성으로 인해 리소스 사용량에 대한 비용이 높아질 수 있습니다. 코드를 최적화하면 효율성을 높이고 리소스를 확장할 필요 없이 워크로드가 더 많은 부하를 처리할 수 있습니다. 다음 전략을 사용하여 코드를 최적화합니다.
프로파일링 도구를 사용하여 런타임 데이터를 분석하고 성능을 측정합니다.
비즈니스 논리 및 사용자 환경에 미치는 영향을 평가합니다.
언어별 성능 권장 사항을 검토합니다.
불필요한 함수 호출을 제거하고, 로깅을 최소화하고, 루프 및 조건을 구체화합니다.
데이터 처리를 줄이고, 네트워크 요청 및 메모리 할당을 최소화하고, 교차 절단 구현을 평가합니다.
다음 방법을 사용하여 네트워크 경로를 최적화합니다.
불필요한 전송을 분석하고 제거하여 구성 요소 간 및 지리적으로 먼 지역 간 데이터 전송을 최소화합니다. 필요한 데이터 필드만 전송되고 전체 개체 또는 데이터 구조가 전송되지 않는지 확인합니다. 이 방법은 데이터 전송의 크기와 빈도를 줄입니다.
필수 정보만 전송하여 중복 데이터를 전송하지 않습니다.
반복된 요청을 줄이고 가능하면 일괄 처리하도록 코드를 리팩터링합니다.
개발 사례를 간소화하면 빌드 속도가 향상됩니다. 이 접근 방식을 통해 워크로드 팀은 귀중한 시간을 절약하고 프로덕션에 향상된 기능을 효율적으로 제공할 수 있습니다. 다음 전략을 사용하여 개발 사례를 간소화합니다.
구성을 최적화하고, 불필요한 단계 및 프로세스를 제거하고, 작업을 병렬 처리하고, 캐싱을 사용하고, 중복 컴파일을 방지하기 위해 증분 빌드를 사용하도록 설정하여 빌드 시간을 단축합니다.
프로덕션 모의 작업을 사용하여 테스트를 최적화합니다. 프로덕션 모의 작업을 통해 개발자는 프로덕션 환경에서 재현하기에 실용적이지 않은 시뮬레이션된 시나리오에 대한 테스트에 집중할 수 있습니다.
명확한 목표 및 메트릭을 정의하고, 모니터링 도구를 사용하여 주요 성과 지표를 추적하고, 실행 가능한 인사이트의 우선 순위를 지정하여 개발 계획 사례를 최적화합니다.
GitHub Copilot와 같은 AI 코딩 지원 도구를 사용하여 실제 개발 시간을 줄입니다.
기능 개발 전략을 평가하여 중요한 기능의 우선 순위를 지정합니다. 내부 및 외부 사용자 및 이해 관계자의 피드백을 통합하여 사용자 만족도를 가장 높이고 참여를 높이는 기능을 식별합니다. 일부 시나리오에서는 비용을 최적화하기 위해 기능을 특별히 설계할 수 있습니다. 이러한 기능을 기능 우선 순위와 비교하여 상대적 가치를 평가합니다.
드라이브는 프로덕션의 운영 데이터를 사용하여 비용 최적화를 대상으로 합니다.
완성도 모델의 수준 4 단계에서는 프로덕션에 배포하고 워크로드를 충분한 시간 동안 운영하여 일반적으로 실행되는 방법에 대한 유용한 정보를 수집했다고 가정합니다. 이 수준에서 이러한 프로덕션 인사이트를 환경에 적용합니다.
프로덕션 환경의 변경 내용은 워크로드의 다른 측면에 직접적인 영향을 줍니다. 예를 들어 비용 절감 구체화는 하나 이상의 다른 Well-Architected Framework 핵심 요소에 영향을 줄 수 있습니다. 이러한 이유로 성숙한 변경 관리 관행이 중요합니다. 워크로드를 비용 절감하는 경우 변경 내용을 철저히 검토 및 테스트하고 롤백 계획을 개발하여 성능, 보안 및 안정성 영향을 완화합니다.
주요 전략
✓ 프로덕션 학습을 기반으로 비용 모델 구체화
일반적인 사용 패턴을 이해할 수 있을 만큼 오랫동안 프로덕션 환경에서 워크로드를 배포하고 운영한 후 비용 모델을 다시 검토하여 미래를 계획합니다. 비용 모델은 향후 비용을 예측하고, 자금을 할당하고, 편차에 맞게 조정해야 합니다. 시나리오 분석에서 비용 모델은 다양한 비즈니스 변경의 재정적 영향을 평가하고 고객 동작의 비용 영향을 예상합니다. 리소스 최적화를 위해 가장 경제적인 옵션을 선택할 수 있도록 미사용 클라우드 리소스를 식별하고, 크기 조정 비용을 예측하고, 클라우드 공급자의 청구 모델을 비교합니다.
이 연습의 일환으로 실행 비용이 이전에 개발된 비용 모델과 얼마나 일치하는지 확인하고 불일치의 원인을 조사합니다. 예기치 않은 비용을 찾는 것은 일반적이며 그에 대한 비난을 할당하는 것은 일반적으로 비생산적입니다. 대신 예기치 않은 비용을 발생시키는 구성 요소의 값을 평가합니다. 관련자와 협력하여 비용 모델과 더 잘 맞도록 워크로드 디자인을 조정할지 또는 비용 모델을 수정해야 하는지 여부를 결정합니다.
트레이드오프: 특히 새로운 기술을 채택할 때 가변 비용을 정확하게 예측하는 것은 어려운 일임을 명심하세요. 예산을 계획할 때 타협안을 찾아야 할 수도 있습니다. 이해 관계자가 가변 비용 예측 및 이러한 비용을 제어하기 위한 전략을 결정하는 방법을 이해해야 합니다.
위험: 비용 절감 조치는 안정성, 보안, 성능 및 운영 우수성에 부정적인 영향을 줄 수 있습니다. 계획된 모든 비용 절감 조치의 영향을 신중하게 분석하고 변경이 잠재적 영향의 가치가 있는지 확인합니다.
✓ 비용 대비 데이터 사용량 최적화
프로덕션 인사이트를 사용하여 데이터 전략을 구체화합니다. 특히 다음 요인에 대한 최적화 기회를 찾습니다.
- 관리 용이성을 고려하여 스토리지 솔루션을 최적화합니다. 현재 배포된 스토리지 솔루션이 사용 사례에 가장 적합한지 여부와 다른 기술로 전환하면 운영 부담 또는 사용 비용을 줄일 수 있는지 여부를 평가합니다. 예를 들어 워크로드를 쉽게 마이그레이션하기 위해 처음에 가상 머신에 SQL Server를 배포했거나 워크로드 팀에게 가장 친숙한 기술이었기 때문일 수 있습니다. PaaS(Platform-as-a-Service) 솔루션으로 전환하면 다양한 요인에 따라 운영 오버헤드를 크게 줄이고 비용을 절감할 수 있습니다.
✓ 리소스 밀도 증가
실용적이면 워크로드 간에 공유 서비스를 통합하여 비용을 최적화합니다. 예를 들어 단일 서버 또는 PaaS 인스턴스에서 여러 웹앱을 호스트할 수 있습니다. 여러 워크로드가 데이터베이스, 네트워킹, 보안 및 기타 서비스를 공유할 수 있습니다. 비용 혜택 분석을 수행하여 팀이 수행할 수 있을 만큼 리소스 통합이 중요한지 여부를 확인합니다. 통합 후보를 식별한 후에는 구현을 신중하게 계획하고 적절한 변경 관리 사례를 따릅니다. 이해 관계자가 위험을 이해하도록 합니다.
위험: 리소스를 통합하면 워크로드의 안정성이 떨어지고 보안이 떨어집니다. 중요 업무용 워크로드 및 중요 비즈니스용 워크로드는 통합보다 안정성과 보안을 선호해야 합니다.
위험: 제대로 실행되지 않은 통합은 향후 비효율성으로 이어질 수 있습니다. 통합 계획을 철저히 검토하여 마이그레이션을 수행하기 전에 나중에 영향을 줄 수 있는 병목 현상이 발생하지 않도록 합니다. 마이그레이션 후에는 통합 리소스에 대한 모니터링에 각별한 주의를 기울여 예상대로 수행되는지 확인합니다.
✓ 애플리케이션 기능 평가 및 최적화
프로덕션에서 기능 사용 패턴을 모니터링하여 비용 모델과의 맞춤을 평가합니다. 기능을 유지 관리, 리팩터링 또는 제거할지 여부를 결정합니다. 경우에 따라 기능 수익 창출은 전략적 비즈니스 결정일 수 있습니다. 이 기능은 현재 투자를 정당화하지 않을 수 있지만 여전히 고객에게 가치를 제공 할 수 있습니다. 이러한 기능을 유료 추가 기능 또는 구독으로 제공하면 투자 비용을 상쇄하는 데 도움이 될 수 있습니다.
✓ 수요를 규제하여 크기 조정 비용 최소화
리소스 크기 조정 비용을 최적화하는 데 도움이 되는 전략은 용량을 추가하는 대신 수요를 규제하는 것입니다. 이 방법은 다른 리소스에 대한 수요를 오프로드하거나 우선 순위 큐, 버퍼링, 부하 분산 및 캐싱과 같은 다양한 전략을 통해 수요를 줄이는 것을 포함할 수 있습니다. 이러한 전략을 고려할 때 Well-Architected Framework의 다른 핵심 요소에 미치는 영향을 평가합니다. 크기 조정 한도를 제한하고 예산을 설정하여 공급을 제어하면 정의된 임계값 내에서 비용을 유지하는 데 도움이 됩니다. 사용량을 추적하고 비용 관리 플랫폼 및 예산 경고를 사용하여 지출을 효과적으로 모니터링하고 제어할 수 있습니다.
절충: 작업을 다른 리소스로 오프로드하면 확장 비용을 줄일 수 있지만 운영 및 유지 관리 문제를 초래할 수 있습니다. 철저한 비용 혜택 분석을 수행하여 선택한 오프로드 방법이 효율적이고 실현 가능한지 확인합니다. 절감액과 잠재적인 복잡성의 균형을 맞추십시오.
✓ 소유권을 통해 비용 책임 적용
DRI(직접 책임 있는 개인)를 임명하면 워크로드 팀이 워크로드 비용의 소유권을 얻는 데 도움이 됩니다. DRI는 사용량을 모니터링하고, 비용 절감 전략을 구현하고, 지출이 예산 및 비즈니스 목표에 부합하도록 하여 비용을 관리하고 최적화할 책임이 있습니다. DRI는 클라우드 리소스 할당과 관련된 결정을 내리고, 잠재적 비용 절감 영역을 식별하며, 불필요한 비용을 방지하기 위해 클라우드 서비스를 효율적으로 사용할 수 있도록 합니다.
DRI는 예상보다 높은 워크로드 비용에 대한 방어의 최전선 역할을 합니다. DRI는 이러한 높은 비용의 원인을 파악하고 워크로드 팀과 사전에 협력하여 비용 긴급 상태가 되기 전에 예상 범위로 줄일 수 있습니다.
지속적인 혁신을 통해 비용 최적화를 경쟁 우위로 변환합니다.
완성도 모델의 수준 5에는 이미 많은 비용 최적화 메커니즘과 프로세스가 있어야 합니다. 수준 5는 일관되고 예측 가능한 워크로드 예산을 유지하고, 매우 정확한 예측을 생성하고, 고급 구체화를 적용하여 ROI(투자 수익률)를 극대화하는 데 중점을 둡니다. 이러한 목표를 달성하려면 다음 권장 사항을 고려하세요.
주요 전략
✓ 소프트웨어 개발 프로세스에 지출 가드레일 적용
게이트를 통과하기 위해 충족해야 하는 비용 관련 기준을 설정하여 릴리스 게이트를 사용하여 지출 가드레일 역할을 합니다. 예를 들어 지출 한도를 설정하여 릴리스가 워크로드 예산에 예기치 않은 비용을 추가하지 않도록 할 수 있습니다. 이러한 게이트를 연속 통합 및 지속적인 업데이트 파이프라인에 통합하여 각 배포에 포함되도록 합니다.
✓ 지식 구축에 투자
기술 교육 프로그램을 개발하여 워크로드 팀이 비용 최적화 이니셔티브의 소유권을 맡을 수 있도록 지원합니다. 회의, 웨비나 및 기타 관련 이벤트에 참여하여 업계 사고 리더로부터 배우도록 팀 구성원을 격려합니다. 사내 교육을 제공하여 크로스 스킬링을 지원하고 실습 학습 환경을 위한 샌드박스 환경을 만듭니다. 크기 조정 전략 최적화와 같은 비용 최적화 이니셔티브에 따라 교육을 조정합니다. 고도로 숙련된 팀은 효율성을 향상시키고 향후 프로젝트에 대한 제3자에 대한 의존도를 줄일 수 있습니다.
비용 모델에 예정된 회계 기간(예: 다음 분기)에 대한 계획된 교육이 포함되어 있는지 확인합니다.
✓ 고가용성 및 재해 복구 비용 최적화
실제 DR(재해 복구) 훈련을 실행하거나 실제 DR 인시던트가 발생한 후 비용 최적화를 위한 기회를 찾을 수 있습니다. 비록 복구 목표를 충족시키면서 특정 구성 요소에 대해서는 저렴한 DR 전략으로도 충분할 수 있음을 발견할 수 있습니다. 예를 들어, 중요하지 않은 흐름에는 핫 스페어 설계가 필요하지 않을 수 있습니다. 이 시나리오에서는 대신 배포-온-복구 접근 방식을 구현하는 것이 좋습니다.
지속적인 개선 사례의 일환으로 정기적으로 복구 대상을 다시 검토하여 안정성 및 비용 요구 사항에 모두 적합한지 확인합니다.
✓ 워크로드 디자인 구체화
오랜 기간 동안 프로덕션 환경에서 워크로드를 관찰한 후에는 일부 작업을 리팩터링하지 않고도 가치 있는 최적화의 한계에 있다고 판단할 수 있습니다. 리팩터링 작업은 노동 집약적이고 비용이 많이 들 수 있습니다. 그러나 리팩터링이 장기적인 비용 절감을 초래하는 경우 가치 있는 투자가 될 수 있습니다. 또한 보다 효율적인 기술 및 관리 사례를 채택하여 워크로드의 수명 주기를 연장할 수 있습니다. 다음 전략을 고려합니다.
비슷한 흐름을 결합합니다. 유사한 흐름을 공유 리소스 또는 리소스 집합에 통합하여 중복성 또는 사용되지 않은 리소스 사용량을 줄입니다. 예를 들어 단일 컴퓨팅 인스턴스에서 여러 웹앱을 호스트하거나 단일 논리 서버에서 여러 데이터베이스를 호스트할 수 있습니다.
서로 다른 흐름을 구분합니다. 전용 리소스에 계산 요구 사항이 다른 작업을 할당하면 효율성이 향상되고 비용이 절감됩니다. 이 방법은 간섭을 최소화하고 각 작업의 우선 순위에 따라 리소스 할당을 최적화하여 확장성, 내결함성 및 적응성을 향상시킵니다.
효율성을 높이기 위해 워크로드를 다시 아키텍처화합니다. 전체 워크로드 아키텍처를 검토하여 효율성을 개선할 기회를 찾습니다. 운영 부담을 덜어주고 자동 크기 조정을 통해 쉽게 크기 조정될 수 있는 서버리스 또는 관리형 서비스를 사용하여 마이크로 서비스 디자인을 선호하고 탐색합니다. 아키텍처의 최종 목표는 배포 작업에 필요한 경우에만 비프로덕션 환경을 자동으로 배포하는 것입니다. 그런 다음 이러한 환경을 제거하여 불필요한 사용 비용을 최소화할 수 있습니다.
사용 패턴에 따라 리소스 크기를 지속적으로 모니터링하고 조정하여 비용을 최적화합니다.
✓ 팀의 운영 진화
스크럼, 칸반 및 폭포와 같은 효율적인 개발 방법론을 연구하고 채택합니다. 팀의 효율성을 정기적으로 재평가하여 선택한 방법론이 가장 적합한지 확인합니다. 단위 비용이라고 하는 각 직원의 작업 비용을 결정하고 이러한 비용을 낮출 기회를 찾습니다. 가장 비싼 작업을 검토하고 ROI를 평가합니다.
특정 작업을 다른 팀으로 오프로드할 수 있는지 여부를 평가합니다. 예를 들어 중앙 집중식 클라우드 팀은 다른 사업부 또는 워크로드에 대한 운영 작업을 관리할 수 있지만 중앙 집중식 보안 팀은 모니터링 및 테스트를 처리할 수 있습니다. 작업을 오프로드할 때 핸드오프를 신중하게 계획하고, 관련된 모든 팀 간에 명확한 의사 소통을 보장하고, 설정된 변경 관리 프로세스를 따릅니다.