롯데ON 이 야간·휴일 관제를 사람 대신 자동 전화 발신으로 돌린 과정이다. 24시간 모니터링 요원이 약 100여 개 통보 기준에 따라 Dev·Infra·DB·Sec 담당자에게 슬랙과 전화로 알리던 일을, Amazon Connect 의 Outbound Call 로 대체했다. 이슈 대응 프로세스 10단계 중 5단계 자동화가 목표였다.
핵심 포인트- 자동화를 결정한 근거는 연간 운영 통계다 — 각 영역이 이슈를 해결해오며 야간·주말 발생이 줄어든 것을 보고 판단했다
- Amazon Connect 를 고객센터가 아니라 Outbound Call 워크플로우 용도로 뒤집어 썼다
- 기존 운영 자원 변경을 최소화하려고 RESTful API 형태로 붙였고, DB 없이 Confluence 페이지를 전화번호부로 삼았다
- Connect Flow 는 처음 복잡하게 짜서 기능을 확인한 뒤 Lambda 까지 걷어내고 최종 4개 블록으로 줄였다
- 코드의 80%를 IntelliJ IDEA 와 GitHub Copilot 바이브코딩으로 작성했다
상세 정리- 기존 환경: WhaTap·Datadog·Grafana 로 모니터링하고 Slack 으로 실시간 알림을 받는 관제를 운영 중이었다
- 기존 한계: 주중 업무시간엔 담당자가 직접 보지만 야간·휴일은 대응이 늦어 모니터링 요원을 24시간 붙여야 했다
- 판단 근거: You build it, you run it 원칙으로 각 영역이 이슈를 줄여오면서 야간·주말 발생이 감소했고, 통계상 자동화 여지가 생겼다
- 전제 조건: Slack 알림은 이미 잘 돌고 있었으므로 자동 전화 발신만 되면 요원 역할을 대체할 수 있다고 봤다
- 도구 선택: Amazon Connect 가 Lex 자연어 처리, Polly TTS, 상담원 배정·대기 안내를 제공하고 Outbound 워크플로우도 지원해 이를 활용했다
- 설계 산출물: AS-IS 와 TO-BE 워크플로우를 그려 이벤트 발생과 담당자 인지 과정을 자동화 범위로 못 박았다
- 역할 분담: 모니터링과 통보는 WhaTap·Datadog·Amazon Connect 가, 원인 분석과 조치 판단은 자체 개발한 Agentic AI 인 SentryOn 이 맡는다
- 전화번호 관리: 핵심 기능에 집중하려고 DB 도입을 배제하고 Confluence 페이지에 업무별 번호 목록을 뒀다
- Connect Flow 블록: 로깅 동작 설정으로 CloudWatch 에 진행 단계를 남기고, 음성은 한국어 서연으로 지정했다
- 가변 멘트: 재생 프롬프트를 고정 문구가 아니라 Connect API 호출 시 파라미터로 넘겨받게 했다
- 수신 확인: 고객 입력 가져오기 블록으로 수신자가 10초 안에 키패드를 누르면 성공 처리하고, 안 누르면 반복 실행한다
- 단순화: 개발을 진행하며 Lambda 함수를 제거해 최종 4개 블록 구성으로 정리했다
- 연계 테스트: WhaTap 과 Datadog 에 SLI 를 설정하고 이벤트 발생 시 WebHook 을 호출하도록 붙였다
- 부가 기능: 전화와 동시에 Slack 알림 전송, 업무시간 발신 차단, 발신 현황의 Confluence 자동 기록, 동일 이벤트 반복 발신 억제로 피로도 관리, Slack command 로 일정 시간 발신 제어
왜 읽나야간·휴일 관제를 사람으로 메우고 있는 팀에게, 기존 모니터링을 그대로 두고 전화 발신 계층만 얹어 자동화하는 경로를 보여준다.