SUS03-BP01 비동기식 및 예약된 작업을 위한 소프트웨어 및 아키텍처 최적화
배포된 리소스의 일관되고 높은 사용률을 유지할 수 있도록 대기열 기반과 같은 효율적인 소프트웨어 및 아키텍처 패턴을 사용합니다.
일반적인 안티 패턴:
-
클라우드 워크로드의 리소스를 과다하게 프로비저닝하여 예상치 못한 수요 급증이 발생합니다.
-
아키텍처가 메시징 구성 요소에 의한 비동기식 메시지의 발신자와 수신자를 분리하지 않습니다.
이 모범 사례 확립의 이점:
-
효율적인 소프트웨어 및 아키텍처 패턴이 워크로드의 사용되지 않는 리소스를 최소화하고 전체적인 효율성을 개선합니다.
-
비동기식 메시지 수신과 관계없이 처리를 확장할 수 있습니다.
-
메시징 구성 요소를 통해 가용성 요구 사항이 완화되어 더 적은 리소스로 이를 충족할 수 있습니다.
이 모범 사례를 따르지 않을 경우 노출되는 위험 수준: 보통
구현 가이드
이벤트 기반 아키텍처
워크로드 구성 요소의 요구 사항을 이해하고 리소스의 전체 사용률을 높이는 아키텍처 패턴을 도입합니다. 더 이상 필요하지 않은 구성 요소를 폐기합니다.
구현 단계
-
워크로드에 대한 수요를 분석하여 이에 대한 대응 방법을 결정합니다.
-
동기식 응답이 필요하지 않은 요청이나 작업의 경우 대기열 기반 아키텍처 및 오토 스케일링 작업자를 사용하여 사용률을 극대화합니다. 대기열 기반 아키텍처를 고려해야 하는 몇 가지 예는 다음과 같습니다.
Queuing mechanism Description AWS Batch 작업은 컴퓨팅 환경에서 실행되도록 예약될 때까지 작업 대기열로 제출됩니다.
Amazon SQS와 스팟 인스턴스를 페어링하여 내결함성이 있고 효율적인 아키텍처를 구축합니다.
-
언제든 처리할 수 있는 요청이나 작업의 경우 더 높은 효율을 위해 예약 메커니즘을 사용하여 작업을 일괄 처리합니다. AWS의 예약 메커니즘의 예는 다음과 같습니다.
Scheduling mechanism Description Amazon EventBridge
의 기능을 통해 대규모로 예약된 작업을 생성, 실행 및 관리할 수 있습니다. AWS Glue의 크롤러와 작업에 대한 시간 기반 일정을 정의합니다.
Amazon ECS는 예약된 작업 생성을 지원합니다. 예약된 작업은 Amazon EventBridge 규칙을 사용하여 예약에 따라 또는 EventBridge 이벤트에 대한 응답으로 작업을 실행합니다.
Amazon EC2 및 Amazon Relational Database Service 인스턴스의 시작 및 종료 예약을 구성합니다.
-
아키텍처에서 폴링과 웹후크 메커니즘을 사용하는 경우 이를 이벤트로 바꿉니다. 이벤트 기반 아키텍처를 사용하여 고효율 워크로드를 구축합니다.
-
AWS의 서버리스
를 활용하여 과다하게 프로비저닝된 인프라를 제거합니다. -
입력 대기 중인 유휴 리소스를 방지하기 위해 아키텍처의 개별 구성 요소의 적절한 크기를 지정합니다.
리소스
관련 문서:
관련 동영상: