복원력 수명 주기 프레임워크: 복원력 개선에 대한 지속적 접근 방식 - AWS 권장 가이드

복원력 수명 주기 프레임워크: 복원력 개선에 대한 지속적 접근 방식

Amazon Web Services(기여자)

2023년 10월(문서 기록)

오늘날 현대 조직은 특히 고객의 기대치가 상시 가동 상시 가용 기반 사고방식으로 전환됨에 따라 지속적으로 증가하는 복원력 관련 문제에 직면하고 있습니다. 원격 팀과 복잡한 분산 애플리케이션의 경우 빈번한 릴리스의 필요성이 높아지고 있습니다. 따라서 조직과 애플리케이션은 그 어느 때보다 복원력이 뛰어나야 합니다.

AWS는 복원력을 인프라, 종속 서비스, 잘못된 구성 및 일시적인 네트워크 문제와 관련된 중단에 저항하거나 복구하는 애플리케이션의 기능으로 정의합니다. (AWS Well-Architected Framework 신뢰성 원칙 설명서의 복원력과 신뢰성의 구성 요소를 참조하세요.) 그러나 원하는 수준의 복원력을 달성하려면 절충이 필요하곤 합니다. 그래서 운영 복잡성, 엔지니어링 복잡성 및 비용을 적절하게 평가하고 조정해야 합니다.

고객 및 내부 팀과 수년간 협력해 온 경험을 바탕으로 AWS는 복원력 학습과 모범 사례를 캡처하는 복원력 수명 주기 프레임워크를 개발했습니다. 이 프레임워크는 다음 다이어그램에 설명된 5가지 주요 단계를 간략하게 설명합니다. 각 단계에서 전략, 서비스 및 메커니즘을 사용하여 복원력 태세를 개선할 수 있습니다.

복원력 수명 주기 프레임워크

이러한 단계는 이 안내서의 다음 섹션에서 다룹니다.

용어 및 정의

각 단계의 복원력 개념은 개별 구성 요소부터 전체 시스템에 이르기까지 다양한 수준에서 적용됩니다. 이러한 개념을 구현하려면 여러 용어를 명확하게 정의해야 합니다.

  • 구성 요소는 기능을 수행하는 요소이며 소프트웨어 및 기술 리소스로 구성됩니다. 구성 요소의 예로, 코드 구성, 네트워킹 또는 서버, 데이터 저장소와 같은 인프라, 다중 인증(MFA) 디바이스와 같은 외부 종속성이 있습니다.

  • 애플리케이션은 고객 대면 웹 스토어프론트 또는 기계 학습 모델을 개선하는 백엔드 프로세스와 같이 비즈니스 가치를 제공하는 구성 요소의 모음입니다. 애플리케이션은 단일 AWS 계정의 구성 요소 하위 세트로 구성되거나 여러 AWS 계정 및 리전에 분포된 여러 구성 요소의 모음일 수 있습니다. 

  • 시스템은 지정된 비즈니스 기능을 관리하는 데 필요한 애플리케이션, 사람 및 프로세스의 모음입니다. 여기에는 함수를 실행하는 데 필요한 애플리케이션, 지속적 통합 및 지속적 전송(CI/CD), 관찰성, 구성 관리, 인시던트 대응 및 재해 복구와 같은 운영 프로세스, 이러한 작업을 관리하는 운영자가 포함됩니다. 

  • 중단은 애플리케이션이 비즈니스 기능을 제대로 제공하지 못하게 하는 이벤트입니다.

  • 장애는 중단이 완화되지 않는 경우 애플리케이션에 미치는 영향입니다. 일련의 중단이 발생하는 경우 애플리케이션 장애가 발생할 수 있습니다.

지속적 복원력

복원력 수명 주기는 지속적인 프로세스입니다. 동일한 조직 내에서도 애플리케이션 팀은 애플리케이션의 요구 사항에 따라 각 단계 내에서 다양한 수준의 완전성을 발휘할 수 있습니다. 그러나 각 단계가 완료에 가까워질수록 애플리케이션이 더 높은 수준의 복원력을 갖추게 됩니다.

복원력 수명 주기를 조직이 운영할 수 있는 표준 프로세스로 간주해야 합니다. AWS는 애플리케이션을 개발하고 운영하는 동안 운영 프로세스 전반에 걸쳐 계획, 테스트 및 학습의 통합을 목표로 소프트웨어 개발 수명 주기(SDLC)와 유사하게 복원력 수명 주기를 의도적으로 모델링했습니다. 많은 애자일 개발 프로세스와 마찬가지로 개발 프로세스를 반복할 때마다 복원력 수명 주기를 반복할 수 있습니다.   수명 주기의 각 단계 내에서 시간이 지남에 따라 점진적으로 사례를 강화하는 것이 좋습니다.