넷플릭스, Temporal로 배포 안정성 퀀텀 점프!

by DD
5개월 전
조회수 12

SpinnakerCloud Operation 실패율 증가 문제를 해결하기 위해 Temporal을 도입함

Temporal Workflow를 활용하여 배포 실패율 4%에서 0.0001%로 대폭 감소시킴

OrcaClouddriver 간 결합도를 낮추고, Cloud Operation의 유지보수성을 향상시킴

Temporal, 워크플로우 기반의 안정적 실행 보장

Temporal은 Durable Execution 플랫폼으로, 워크플로우(Workflow)액티비티(Activity)를 통해 애플리케이션의 안정성을 확보한다. 구체적으로, 워크플로우는 비즈니스 로직을 정의하고, 액티비티는 외부 API 호출과 같은 비결정적 작업을 수행한다. 따라서, 장애 발생 시 자동 재시도를 통해 시스템의 가용성을 높인다.

Spinnaker Cloud Operation의 문제점과 Temporal 도입 효과

기존 SpinnakerCloud Operation은 자체적인 내부 오케스트레이션 시스템을 사용하며, OrcaClouddriver 간의 강한 결합으로 인해 복잡성이 증가했다. Temporal 도입 후, 배포 실패율 4%에서 0.0001%로 감소했으며, OrcaClouddriver 간의 의존성을 줄여 유지보수성을 향상시켰다. 결과적으로, 개발자 생산성이 크게 향상되었다.

Temporal 활용 시 고려사항: Child Workflow, 인자, 실패 처리

Netflix는 Temporal 활용 과정에서 몇 가지 교훈을 얻었다. 불필요한 Child Workflow 사용을 지양하고, 직렬화 가능한 단일 인자 객체를 활용하여 결정성 제약을 준수해야 한다. 또한, 비즈니스 실패워크플로우 실패를 분리하여, 보다 세밀한 오류 처리를 구현하는 것이 중요하다.

How Temporal Powers Reliable Cloud Operations at Netflix