이전 검증
동작, 보안, 성능, 관찰 가능성 및 롤백 게이트가 통과한 후에만 트래픽을 이동합니다.
컷오버 전에 다음 검증 단계를 수행합니다.
- 캡처된 이벤트를 재생하고 예상 출력, 오류, 상태 코드, 헤더, 본문 스키마, 객체 메타데이터, 다운스트림 쓰기, 부작용, 로그 및 알람 동작을 비교합니다.
- p95/p99 기간, 최대 기간, 메모리 헤드룸, 콜드 스타트 감지 경로, 피크 동시성, 백로그 또는 대기열 수명, 재시도 스톰, 다운스트림 속도 제한 및 용량 증상을 포함하는 로드 및 실패 테스트를 실행합니다.
- 잘못된 형식의 페이로드, 중복 이벤트, 독 메시지, 다운스트림 사용 불가, 권한 거부, 암호 교체, 네트워크 오류, 시간 초과 동작, 루프 방지 및 롤백 조건을 테스트합니다.
OCI Functions로 전환
동작, 보안, 성능, 관찰 가능성 및 롤백 게이트가 통과한 후에만 트래픽을 이동합니다.
OCI 함수로 컷오버하려면 다음 단계를 수행합니다.
- 기능, 성능, 보안 및 운영 검증 게이트가 통과했는지 확인합니다.
- 컷오버 소유자, 롤백 소유자, 성공 기준, 롤백 트리거 및 예상 복구 시간을 기록합니다.
- 컷오버 기간 동안 관련 없는 애플리케이션 변경사항을 동결합니다.
- 가능한 경우 워크로드의 제한적이고 관찰 가능한 부분을 OCI Functions로 라우팅합니다.
- 비즈니스 결과, 오류, 시간 초과, 대기 시간, 스로틀, 백로그 및 다운스트림 장애를 모니터링합니다.
- 합의된 관찰 기간이 경과한 후에만 트래픽을 늘립니다.
- 필요한 성공 기준이 실패할 경우 컷오버를 정지하고 롤백 계획을 실행합니다.
- 애플리케이션 및 운영 소유자가 생산 결과를 수락한 후에만 다음 마이그레이션 웨이브를 시작합니다.
백분율 기반 경로 지정을 사용할 수 없는 경우 트리거, 버킷, 대기열, 영역 또는 다른 제어 작업 로드 경계별로 초기 노출을 제한합니다.
이전 후 검증
마이그레이션된 워크로드가 아키텍처, 동작, 성능, 보안 및 운영 요구 사항을 충족하는지 확인합니다.
마이그레이션 후 검증하려면 다음 단계를 수행합니다.
- 작업 로드 역할, 소스 인벤토리, 대상 아키텍처, 대안, 위험 등급, 서비스 제한 및 대상 호출 동작이 문서화되어 있습니다.
- 트리거, 종속성, 보안, 네트워킹 및 운영 인벤토리는 검토자가 대상 결정을 재현할 수 있을 만큼 충분히 완성됩니다.
- 캡처된 이벤트는 예상되는 상태 코드, 헤더, 본문 스키마, 객체 메타데이터, 다운스트림 쓰기, 부작용, 로그 및 오류 동작을 생성합니다.
- 각 트리거에는 페이로드 형식, 재시도, 실패, 주문, 일괄 처리 동작, idempotency, 중복 전달, Dead-letter 또는 Failure 라우팅, 해당되는 경우 독 메시지에 대한 테스트가 있습니다.
- p95/p99 기간, 최대 기간, 메모리 헤드룸, 콜드 스타트 감지 경로, 피크 동시성, 백로그 또는 대기열 수명, 시간 초과 수, 스로틀 또는 429 동작 및 다운스트림 속도 제한은 워크로드 요구 사항을 충족합니다.
- 동시성 제어는 다운스트림 시스템을 보호하고 재시도 스톰 또는 무제한 백로그 증가를 방지합니다.
- 허용된 서비스 호출은 성공하고 거부된 경로는 안전하게 실패합니다. 소스 코드, 이미지, 로그, 환경 덤프, CI 출력, 스택 추적 또는 오류 메시지에 암호가 없습니다.
- 필수 개인 및 외부 종속성은 승인된 네트워크 경로를 통해 연결할 수 있습니다. 트래픽이 이동하기 전에 로그, 측정항목, 알람, 대시보드, 추적, 런북, 롤백 트리거, 소유자, 단계, 예상 복구 시간 및 최종 승인이 완료됩니다.
일반적인 마이그레이션 문제 및 완화 정보
이러한 일반적인 마이그레이션 설계, 통합 및 운영 실패를 피하십시오.
- 모든 람다 함수 만들기: 대상을 선택하기 전에 역할, 트리거, 종속성, 런타임 동작, 트래픽 프로파일 및 운영 요구사항별로 각 함수를 분류합니다.
- OCI Functions를 너무 일찍 선택: 코드 리팩토링 전에 페이로드, 시간 초과, 메모리, 종속성, 호출, 동시성, 네트워킹 및 통합 적합성을 검증할 수 있습니다.
- 이벤트 페이로드가 동일하다고 가정: OCI 처리기 어댑터를 구축하고, 프로덕션 트리거를 연결하기 전에 캡처된 소스 이벤트를 재생할 수 있습니다.
- 레이어 및 네이티브 종속성 무시: OCI 함수 이미지 또는 공유 기본 이미지로 종속성을 패키지화한 다음 이미지 크기, 시작, 네이티브 라이브러리 및 종속성 버전을 테스트합니다.
- IAM 번역이 너무 광범위합니다: 관찰된 런타임 작업을 최소 권한의 OCI 정책에 매핑하고, 테스트 거부된 경로를 테스트합니다.
- 대기열 또는 스트림 의미가 다름: 명시적 멱등성, 재시도, 부분 실패, 실패 대상, 주문 및 역압력 처리를 설계합니다.
- 객체 이벤트로 인해 루프가 발생함: 별도의 입력 및 출력 접두어 또는 필터를 사용하고 생성, 업데이트, 삭제, 재시도, 복제 및 루프 방지 동작을 검증합니다.
- 작업 연기됨: 프로덕션 트래픽이 이동하기 전에 로그, 측정항목, 알람, 대시보드, 런북, 실패 테스트 및 롤백 검사를 사용으로 설정합니다.