운영 관점: 상태 및 가용성 - AWS Cloud Adoption Framework의 개요

운영 관점: 상태 및 가용성

운영 관점은 비즈니스 이해 관계자와 합의한 수준에서 클라우드 서비스가 제공되도록 보장하는 데 중점을 둡니다. 운영을 자동화하고 최적화하면 워크로드의 안정성을 개선하면서 효과적으로 확장할 수 있습니다. 이 관점은 다음 그림에 표시된 9가지 기능으로 구성됩니다. 일반적인 이해 관계자로는 인프라 및 운영 리더, 사이트 안정성 엔지니어, 정보 기술 서비스 관리자가 있습니다.

AWS CAF 운영 관점 기능을 보여 주는 다이어그램입니다.

AWS CAF 운영 관점 기능

  • 관측성 - 인프라 및 애플리케이션 데이터에서 실행 가능한 인사이트를 확보합니다. 클라우드 속도와 규모로 운영하는 중에 문제가 발생할 경우 이상적으로는 고객 경험을 방해하기 전에 문제를 감지하고, 신속하게 대응하며, 가능한 빠르게 해결할 수 있어야 합니다. 워크로드의 내부 상황과 상태를 이해하는 데 필요한 원격 분석(로그, 지표, 추적)을 개발합니다. 애플리케이션 엔드포인트를 모니터링하고, 최종 사용자에게 미치는 영향을 평가하며, 측정값이 임계값을 초과할 경우 알림을 생성합니다.

    가상 모니터링을 사용하여 일정에 따라 실행되는 구성 가능한 스크립트인 카나리아를 생성하여 엔드포인트와 API를 모니터링할 수 있습니다. 추적을 구현하여 요청이 애플리케이션을 통과하는 전체 과정을 추적하고 병목 현상 또는 성능 문제를 식별합니다. 지표와 로그를 사용하여 리소스, 서버, 데이터베이스, 네트워크에 대한 인사이트를 얻을 수 있습니다. 시계열 데이터의 실시간 분석을 설정하여 성능에 영향을 미치는 원인을 파악합니다. 데이터를 단일 대시보드로 중앙 집중화하여 워크로드 및 성능에 대한 중요 정보를 통합하여 보여 줍니다.

  • 이벤트 관리(AIOps) - 이벤트를 감지하고, 잠재적 영향을 평가하고, 적절한 제어 조치를 결정합니다. 노이즈를 필터링하고, 우선 순위 이벤트에 집중하고, 임박한 리소스 소진을 예측하고, 알림 및 인시던트를 자동으로 생성하고, 가능한 원인 및 해결 조치를 식별할 수 있다면 인시던트 감지 및 응답 시간을 개선하는 데 도움이 됩니다. 이벤트 스토어 패턴을 설정하고 기계 학습(AIOps)을 활용하여 이벤트 상관 관계, 이상 탐지 및 인과 관계 결정을 자동화합니다. 인시던트 관리 시스템 및 프로세스를 비롯한 클라우드 서비스 및 서드 파티 도구와 통합합니다. 이벤트 대응을 자동화하면 수동 프로세스에서 발생하는 오류를 줄일 수 있으며 일관된 방식으로 즉시 대응할 수 있습니다.

  • 인시던트 및 문제 관리 - 서비스 운영을 신속하게 복원하고 부정적인 비즈니스 영향을 최소화합니다. 클라우드를 채택하면 서비스 문제 및 애플리케이션 상태 문제에 대한 대응 프로세스를 고도로 자동화하여 서비스 가동 시간을 크게 늘릴 수 있습니다. 보다 분산된 운영 모델로 전환함에 따라 관련 팀, 도구, 프로세스 간의 상호 작용을 간소화하면 중요하거나 복잡한 인시던트를 보다 빠르게 해결할 수 있습니다. 에스컬레이션을 트리거하는 요소와 에스컬레이션 절차를 포함한 에스컬레이션 경로를 런북에 정의합니다.

    인시던트 대응 GameDays를 연습하고 학습한 교훈을 런북에 통합합니다. 인시던트 패턴을 식별하여 문제 및 시정 조치를 결정합니다. 챗봇과 협업 도구를 활용하여 운영 팀, 도구, 워크플로를 연결합니다. 비난 없는 사후 분석을 활용하여 인시던트에 대한 기여 요인을 식별하고 해당 조치 계획을 수립합니다.

  • 변경 및 릴리스 관리 - 프로덕션 환경에 대한 위험을 최소화하면서 워크로드를 도입하고 수정합니다. 기존 릴리스 관리는 배포 속도가 느리고 롤백하기 어려운 복잡한 프로세스입니다. 클라우드 채택은 CI/CD 기술을 활용하여 릴리스 및 롤백을 신속하게 관리할 수 있는 기회를 제공합니다. 클라우드의 민첩성에 부합하는 자동화된 승인 워크플로를 허용하는 변경 프로세스를 수립합니다. 배포 관리 시스템을 사용하여 변경을 추적하고 구현합니다. 되돌릴 수 있는 소규모 변경 작업을 자주 수행하면 변경의 범위가 감소합니다. 모든 수명 주기 단계에서 변경 사항을 테스트하고 결과를 검증하여 배포 실패의 영향과 위험을 최소화합니다. 원하는 결과를 달성할 수 없는 경우에는 알려진 정상 상태로 롤백하는 과정을 자동화하면 수동 프로세스에서 발생하는 오류를 줄이고 복구 시간을 최소화할 수 있습니다.

  • 성능 및 용량 관리 - 워크로드 성능을 모니터링하고 용량이 현재와 미래의 요구를 충족하는지 확인합니다. 클라우드의 용량은 사실상 무제한이지만 서비스 할당량, 용량 예약 및 리소스 제약에 따라 워크로드의 실제 용량이 제한됩니다. 이러한 용량 제약을 이해하고 효과적으로 관리해야 합니다. 주요 이해 관계자를 파악하고 목적, 범위, 목표, 지표에 합의합니다. 성과 데이터를 수집하여 처리하고 목표에 대한 성과를 주기적으로 검토 및 보고합니다. 새로운 기술을 주기적으로 평가하여 성능을 개선하고 목표와 지표를 적절히 변경하는 것이 좋습니다. 워크로드의 사용률을 모니터링하고, 향후 비교를 위한 기준을 만들고, 필요에 따라 용량을 확장하기 위한 임계값을 식별합니다. 시간 경과에 따른 수요를 분석하여 용량이 계절적 추세와 변동하는 운영 조건과 일치하는지 확인합니다.

  • 구성 관리 - 모든 클라우드 워크로드, 관계 및 시간 경과에 따른 구성 변경에 대한 정확하고 완전한 기록을 유지합니다. 효과적으로 관리하지 않는 한 클라우드 리소스 프로비저닝의 동적인 가상 특성으로 인해 구성 편차가 발생할 수 있습니다. 비즈니스 속성을 클라우드 사용에 겹쳐서 표시(오버레이)하는 태그 지정 스키마를 정의하여 적용하고 태그를 활용하여 기술, 비즈니스, 보안 차원에 따라 리소스를 구성합니다. 필수 태그를 지정하고 정책을 통해 규정 준수를 적용합니다. 리소스 프로비저닝 및 수명 주기 관리를 위해 코드형 인프라(IaC) 및 구성 관리 도구를 활용합니다. 구성 기준을 설정하고 버전 관리를 통해 기준을 유지 관리합니다.

  • 패치 관리 - 소프트웨어 업데이트를 체계적으로 배포하고 적용합니다. 소프트웨어 업데이트는 새로운 보안 취약성을 해결하고 버그를 수정하며 새로운 기능을 도입합니다. 패치 관리에 대한 체계적인 접근 방식을 통해 프로덕션 환경에 대한 위험을 최소화하면서 최신 업데이트를 활용할 수 있습니다. 지정된 유지 관리 기간 동안 중요 업데이트를 적용하고 중요 보안 업데이트를 최대한 빨리 적용합니다. 예정된 업데이트에 대한 세부 정보를 사용자에게 미리 알리고 다른 완화 컨트롤을 사용할 수 있을 경우 패치를 연기하도록 허용합니다. 프로덕션 단계로 넘어가기 전에 머신 이미지를 업데이트하고 패치를 테스트합니다. 패치 적용 중에 지속적인 가용성을 보장하려면 각 가용 영역(AZ)과 환경에 대해 별도의 유지 관리 기간을 고려하세요. 패치 규정 준수를 주기적으로 검토하고 규정 미준수 팀에게 필요한 업데이트를 적용하라고 알립니다.

  • 가용성 및 연속성 관리 - 비즈니스에 중요한 정보, 애플리케이션, 서비스의 가용성을 보장합니다. 클라우드 지원 백업 솔루션을 구축하려면 기존 기술 투자, 복구 목표 및 사용 가능한 리소스를 신중하게 고려해야 합니다. 재해 및 보안 이벤트가 발생한 이후에 시기적절하게 복구하면 시스템 가용성과 비즈니스 연속성을 유지하는 데 도움이 됩니다. 정의된 일정에 따라 데이터와 문서를 백업합니다.

    비즈니스 연속성 계획의 하위 집합으로 재해 복구 계획을 수립합니다. 각 워크로드에 대한 다양한 재해 시나리오의 위협, 위험, 영향, 비용을 파악하고 그에 따라 복구 시간 목표(RTO) 및 복구 시점 목표(RPO)를 지정합니다. 다중 AZ 또는 다중 리전 아키텍처를 활용하여 선택한 재해 복구 전략을 구현합니다. 카오스 엔지니어링을 활용하여 대조 실험을 통해 복원력과 성능을 개선하는 것을 고려합니다. 계획을 주기적으로 검토 및 테스트하고 학습한 교훈에 따라 접근 방식을 조정합니다.

  • 애플리케이션 관리 - 단일 창에서 애플리케이션 문제를 조사하고 해결합니다. 애플리케이션 데이터를 단일 관리 콘솔로 집계하면 운영 감독이 간소화되고 서로 다른 관리 도구 간에 컨텍스트를 전환할 필요가 줄어들어 애플리케이션 문제를 신속하게 해결할 수 있습니다.

    애플리케이션 포트폴리오 관리, CMDB와 같은 다른 운영 및 관리 시스템과 통합하고, 애플리케이션 구성 요소 및 리소스 검색을 자동화하고, 애플리케이션 데이터를 단일 관리 콘솔로 통합합니다. 소프트웨어 구성 요소와 인프라 리소스를 포함하고 개발, 스테이징, 프로덕션과 같은 다양한 환경을 설명합니다. 운영 문제를 보다 빠르고 일관되게 해결하려면 런북을 자동화할 것을 고려합니다.