사용자 가이드
워크플로 생성 및 실행
AisOpsFlow 워크플로의 구조, 트리거 방식, 실행 관점을 이해합니다.
워크플로란
워크플로는 AisOpsFlow에 다음을 알려주는 YAML 정의입니다.
- 무엇이 자동화를 시작하는지
- 어떤 단계가 실행되는지
- 어디에 승인이 필요한지
- 알림을 어디로 보내는지
워크플로 구조
최소한 아래 항목이 포함됩니다.
idnametriggerssteps
실행 조건, 타임아웃, 재시도 같은 선택 속성으로 동작을 더 구체화할 수 있습니다.
자주 쓰는 트리거
Webhook
다른 시스템이 자동화를 시작해야 할 때 사용합니다.
예시:
- 모니터링 알림
- 배포 이벤트
- 인시던트 훅
Cron
반복 점검과 예약된 절차에 사용합니다.
예시:
- 주기적 검증
- 예약 정리 작업
- 리포트 생성
자주 쓰는 단계
http
런북의 일부로 HTTP 엔드포인트를 호출합니다.
notify
하나 이상의 대상으로 메시지를 보냅니다.
approval
워크플로가 계속 진행되기 전에 사람의 결정을 요구합니다.
condition
분기 조건을 평가해 이후 단계를 건너뛰거나 활성화합니다.
실행 동작
중요한 내장 동작은 다음과 같습니다.
- 타임아웃 제어
- 재시도와 백오프
- 멱등성과 중복 제거
- 실행 이력
이 기능들은 AisOpsFlow가 단순 메시징이 아니라 운영 작업을 위한 시스템이기 때문에 중요합니다.
좋은 작성 습관
- 워크플로 이름은 구체적이고 읽기 쉽게
- 위험한 작업은 명시적으로 표현
- 파괴적 단계 앞에는 승인 배치
- 알림 대상은 넓게 뿌리지 말고 의도적으로 지정
- 재시도는 반복 실행이 안전한 경우에만 사용
전형적인 작성 순서
- 트리거를 정의합니다.
- 적은 수의 단계부터 넣습니다.
- 어떤 단계에 승인이 필요한지 결정합니다.
- 정상 경로를 시험합니다.
- 재시도와 실패 동작을 확인합니다.
워크플로를 나눠야 할 때
아래 중 하나면 분리하는 편이 낫습니다.
- 하나 이상의 운영 목적을 동시에 다룸
- 승인 의미가 사용 사례마다 다름
- 트리거 출처가 근본적으로 다름
- 부작용을 빠르게 예측하기 어려워짐