NHN 재팬 토스트 클라우드의 레디스 캐시 서비스 EasyCache가 복잡한 프로비저닝 절차를 관리하기 위해 워크플로 엔진 Camunda를 도입한 경험을 공유한다. 인스턴스·보안그룹·볼륨·네트워크·DNS 등 여러 인프라 서비스를 조합해 레디스를 프로비저닝하는 과정에서 마주친 세 가지 고민을 축으로 이야기를 전개한다.
핵심 포인트- 개발 초기 고민은 ①여러 일과 조건 분기의 효과적 관리 ②실패 시 생성된 리소스의 롤백 처리 ③외부 비동기 API 연동과 결과 확인 세 가지였다.
- **Camunda**는 BPMN 2.0 기반 프로세스 엔진과 모델러, 웹 애플리케이션으로 구성되며, EasyCache는 스프링 기반 태스크 매니저에서 임베디드 엔진 방식으로 사용했다.
- 태스크를 트랜잭션 단위로 한 가지 일만 하도록 설계해 재활용성을 높이고, 에러 시 **컴펜세이션 이벤트**가 완료 역순으로 실행되어 리소스를 순차 삭제하도록 했다.
- 외부 비동기 API는 메시지·타이머 이벤트와 타임아웃으로 결과를 확인하고, 프로세스 정의 파일 자체가 시각화된 문서가 되어 별도 문서화가 필요 없는 점을 장점으로 꼽는다.
왜 읽나장시간·다단계 비즈니스 트랜잭션과 실패 롤백을 코드가 아닌 BPMN 다이어그램으로 풀어내는 워크플로 엔진의 실전 활용법을 구체적 이벤트 단위로 배울 수 있다.