스케일링, 고가용성 및 트래픽 관리

앱이 Code Engine에 배치되면 이 앱에 액세스할 수 있으며 테스트 및 프로덕션에도 사용할 수 있습니다. Code Engine은 컨테이너화된 워크로드를 위한 서버리스 플랫폼을 제공하므로 대부분의 런타임 세부사항은 Code Engine에서 자동으로 관리됩니다. 그러나 사용자가 많은 세부사항을 제어할 수 있습니다.

앱 스케일링

Cloud Foundry에 대해 작업할 때 성능 메트릭 또는 날짜 및 시간에 따라 앱 인스턴스를 자동으로 추가하고 제거할 수 있도록 하는 자동 스케일링 기능을 설정하고 사용했을 수 있습니다. 반대로, Code Engine은 기본적으로 애플리케이션을 자동으로 스케일링합니다. Code Engine은 앱을 최대 10개의 런타임 인스턴스(기본값)로 스케일링 업하고 0(사용하지 않을 때 앱이 리소스를 사용하지 않음)으로 스케일링 다운합니다.

이러한 설정은 Code Engine의 한계 및 할당량 내에서 편집할 수 있습니다. 최대 스케일 0은 앱을 가능한 최대로 스케일링하며, 최소 스케일 1은 최소 하나의 애플리케이션 인스턴스를 실행 상태로 유지합니다. 동시성 및 요청 제한시간을 조정하여 오토스케일러를 필요에 맞게 튜닝할 수 있습니다. 자세한 정보는 애플리케이션 스케일링 구성을 참조하십시오.

고가용성

고가용성 및 재해 복구의 측면에서 Cloud Foundry와 Code Engine은 유사합니다.

  • 동시 요청을 처리하기 위한 우수 사례를 따르십시오.
  • 최소 2개 또는 3개의 앱 인스턴스가 작동되어 실행 중이어야 합니다.
  • 다중 구역 지역(MZR)의 사용 가능한 구역에서 앱 인스턴스를 실행하십시오.
  • 글로벌 레벨의 고가용성을 위해 다중 MZR에 배치된 애플리케이션 인스턴스 앞에 글로벌 로드 밸런서 (GLB)를 사용하십시오.

트래픽 관리 및 롤링 업데이트

Cloud Foundry 에서 새 버전을 배포할 때 앱을 계속 사용하려면 롤링 업데이트 또는 다운타임 없는 배포를 위한 특수 CLI 명령 옵션을 사용합니다. Code Engine을 사용하면 롤링 업데이트가 자동으로 수행됩니다. 새 앱 개정이 준비되면 이전 앱에서 새 개정으로 트래픽이 이동됩니다.

청록색 배포를 수행하고 이전 앱에서 새 개정판으로 트래픽을 점진적으로 이동하려면 Cloud Foundry 에서 약간의 수동 개입이 필요했습니다. Code Engine을 사용하는 경우 기본 Kubernetes 및 Knative 계층에 빌드된 기능을 사용할 수 있습니다. 블로그 게시물( IBM Cloud Code Engine 및 Knative를 사용한 청록색 배포 )에서는 트래픽이 리비전 간에 분할되도록 구성되도록 앱을 업데이트하는 Knative CLI 명령이 어떻게 사용되는지 보여 줍니다. bluegreen 라는 앱과 rev-oldrev-new 라는 두 개의 수정본이 있다고 가정하면 다음 명령은 트래픽을 80/20으로 분할합니다.

kn service update bluegreen --traffic rev-old=80 --traffic rev-new=20

지정된 백분율을 조정하여 일부 트래픽이 있는 새 코드 버전을 테스트할 수 있으며 코드가 준비되면 프로덕션에서 개정을 실행할 수 있습니다.

다음 단계

  1. 마이그레이션을 시작하는 중입니까? 시작하기를 확인하십시오.
  2. Cloud Foundry 용어를 Code Engine과 비교하십시오.
  3. 로컬 빌드 튜토리얼로 Code Engine을 사용해 보십시오.
  4. 애플리케이션에서 서비스 바인딩을 사용합니까? 서비스 바인딩 마이그레이션을 확인하십시오.
  5. 스케일링, 고가용성 및 트래픽 관리(현재 페이지)
  6. Cloud Foundry 명령에 해당하는 Code Engine 명령을 찾으십시오.
  7. 아직 궁금하신 사항이 있으십니까? Cloud Foundry 애플리케이션을 Code Engine으로 마이그레이션 FAQ를 사용해 보십시오.

기타 정보