이전 검증

동작, 보안, 성능, 관찰 가능성 및 롤백 게이트가 통과한 후에만 트래픽을 이동합니다.

컷오버 전에 다음 검증 단계를 수행합니다.

  1. 캡처된 이벤트를 재생하고 예상 출력, 오류, 상태 코드, 헤더, 본문 스키마, 객체 메타데이터, 다운스트림 쓰기, 부작용, 로그 및 알람 동작을 비교합니다.
  2. p95/p99 기간, 최대 기간, 메모리 헤드룸, 콜드 스타트 감지 경로, 피크 동시성, 백로그 또는 대기열 수명, 재시도 스톰, 다운스트림 속도 제한 및 용량 증상을 포함하는 로드 및 실패 테스트를 실행합니다.
  3. 잘못된 형식의 페이로드, 중복 이벤트, 독 메시지, 다운스트림 사용 불가, 권한 거부, 암호 교체, 네트워크 오류, 시간 초과 동작, 루프 방지 및 롤백 조건을 테스트합니다.

OCI Functions로 전환

동작, 보안, 성능, 관찰 가능성 및 롤백 게이트가 통과한 후에만 트래픽을 이동합니다.

OCI 함수로 컷오버하려면 다음 단계를 수행합니다.

  1. 기능, 성능, 보안 및 운영 검증 게이트가 통과했는지 확인합니다.
  2. 컷오버 소유자, 롤백 소유자, 성공 기준, 롤백 트리거 및 예상 복구 시간을 기록합니다.
  3. 컷오버 기간 동안 관련 없는 애플리케이션 변경사항을 동결합니다.
  4. 가능한 경우 워크로드의 제한적이고 관찰 가능한 부분을 OCI Functions로 라우팅합니다.
  5. 비즈니스 결과, 오류, 시간 초과, 대기 시간, 스로틀, 백로그 및 다운스트림 장애를 모니터링합니다.
  6. 합의된 관찰 기간이 경과한 후에만 트래픽을 늘립니다.
  7. 필요한 성공 기준이 실패할 경우 컷오버를 정지하고 롤백 계획을 실행합니다.
  8. 애플리케이션 및 운영 소유자가 생산 결과를 수락한 후에만 다음 마이그레이션 웨이브를 시작합니다.

백분율 기반 경로 지정을 사용할 수 없는 경우 트리거, 버킷, 대기열, 영역 또는 다른 제어 작업 로드 경계별로 초기 노출을 제한합니다.

이전 후 검증

마이그레이션된 워크로드가 아키텍처, 동작, 성능, 보안 및 운영 요구 사항을 충족하는지 확인합니다.

마이그레이션 후 검증하려면 다음 단계를 수행합니다.

  1. 작업 로드 역할, 소스 인벤토리, 대상 아키텍처, 대안, 위험 등급, 서비스 제한 및 대상 호출 동작이 문서화되어 있습니다.
  2. 트리거, 종속성, 보안, 네트워킹 및 운영 인벤토리는 검토자가 대상 결정을 재현할 수 있을 만큼 충분히 완성됩니다.
  3. 캡처된 이벤트는 예상되는 상태 코드, 헤더, 본문 스키마, 객체 메타데이터, 다운스트림 쓰기, 부작용, 로그 및 오류 동작을 생성합니다.
  4. 각 트리거에는 페이로드 형식, 재시도, 실패, 주문, 일괄 처리 동작, idempotency, 중복 전달, Dead-letter 또는 Failure 라우팅, 해당되는 경우 독 메시지에 대한 테스트가 있습니다.
  5. p95/p99 기간, 최대 기간, 메모리 헤드룸, 콜드 스타트 감지 경로, 피크 동시성, 백로그 또는 대기열 수명, 시간 초과 수, 스로틀 또는 429 동작 및 다운스트림 속도 제한은 워크로드 요구 사항을 충족합니다.
  6. 동시성 제어는 다운스트림 시스템을 보호하고 재시도 스톰 또는 무제한 백로그 증가를 방지합니다.
  7. 허용된 서비스 호출은 성공하고 거부된 경로는 안전하게 실패합니다. 소스 코드, 이미지, 로그, 환경 덤프, CI 출력, 스택 추적 또는 오류 메시지에 암호가 없습니다.
  8. 필수 개인 및 외부 종속성은 승인된 네트워크 경로를 통해 연결할 수 있습니다. 트래픽이 이동하기 전에 로그, 측정항목, 알람, 대시보드, 추적, 런북, 롤백 트리거, 소유자, 단계, 예상 복구 시간 및 최종 승인이 완료됩니다.

일반적인 마이그레이션 문제 및 완화 정보

이러한 일반적인 마이그레이션 설계, 통합 및 운영 실패를 피하십시오.
  • 모든 람다 함수 만들기: 대상을 선택하기 전에 역할, 트리거, 종속성, 런타임 동작, 트래픽 프로파일 및 운영 요구사항별로 각 함수를 분류합니다.
  • OCI Functions를 너무 일찍 선택: 코드 리팩토링 전에 페이로드, 시간 초과, 메모리, 종속성, 호출, 동시성, 네트워킹 및 통합 적합성을 검증할 수 있습니다.
  • 이벤트 페이로드가 동일하다고 가정: OCI 처리기 어댑터를 구축하고, 프로덕션 트리거를 연결하기 전에 캡처된 소스 이벤트를 재생할 수 있습니다.
  • 레이어 및 네이티브 종속성 무시: OCI 함수 이미지 또는 공유 기본 이미지로 종속성을 패키지화한 다음 이미지 크기, 시작, 네이티브 라이브러리 및 종속성 버전을 테스트합니다.
  • IAM 번역이 너무 광범위합니다: 관찰된 런타임 작업을 최소 권한의 OCI 정책에 매핑하고, 테스트 거부된 경로를 테스트합니다.
  • 대기열 또는 스트림 의미가 다름: 명시적 멱등성, 재시도, 부분 실패, 실패 대상, 주문 및 역압력 처리를 설계합니다.
  • 객체 이벤트로 인해 루프가 발생함: 별도의 입력 및 출력 접두어 또는 필터를 사용하고 생성, 업데이트, 삭제, 재시도, 복제 및 루프 방지 동작을 검증합니다.
  • 작업 연기됨: 프로덕션 트래픽이 이동하기 전에 로그, 측정항목, 알람, 대시보드, 런북, 실패 테스트 및 롤백 검사를 사용으로 설정합니다.