운영 자동화를 이야기하면 항상 같은 반응이 나옵니다. "우리 시스템은 너무 복잡해서 자동화가 어렵다." 그러나 자동화가 어려운 것이 아니라, 수작업이 쌓인 시간이 너무 길어 어디서 시작해야 할지 모르는 경우가 대부분입니다.
수작업이 남아있는 이유
수작업 운영은 어느 날 갑자기 생기지 않습니다. 처음에는 빠른 해결책으로 수작업이 시작됩니다. 자동화를 구현할 시간이 없을 때, 한 번만 하면 되는 일이라 생각할 때, 스크립트를 만들기엔 너무 작은 작업일 때.
그 수작업이 반복됩니다. 반복되지만 자동화 우선순위는 계속 밀립니다. "더 중요한 것들이 있다"는 이유로. 그렇게 수작업은 조직의 운영 방식으로 굳어집니다.
수작업이 쌓는 리스크
수작업 운영이 가져오는 리스크는 눈에 잘 띄지 않습니다. 개별 수작업은 문제없이 수행됩니다. 리스크는 시간이 지나면서 누적됩니다.
일관성 문제. 같은 작업이라도 담당자에 따라, 혹은 같은 담당자라도 상황에 따라 다르게 수행됩니다. 환경 간 설정이 조금씩 달라지기 시작합니다. 개발 환경과 운영 환경이 다른 이유를 아무도 모릅니다.
지식 집중. 수작업을 반복한 담당자에게 지식이 집중됩니다. 그 담당자가 자리를 비우거나 퇴사하면 운영이 불안정해집니다. 인수인계를 받아도 문서화되지 않은 암묵지는 전달하기 어렵습니다.
실수 확률의 증가. 사람은 반복 작업에서 실수합니다. 특히 압박이 있는 상황—장애 대응, 야간 작업—에서 수작업 실수는 빈번합니다. 그 실수가 이미 불안정한 상황을 악화시킵니다.
감사 취약성. 수작업으로 이루어진 변경은 기록이 없습니다. "언제 누가 이 설정을 바꿨나요?"라는 감사 질문에 답할 수 없습니다.
자동화의 진짜 목적
자동화는 사람을 대체하기 위한 것이 아닙니다. 자동화의 목적은 반복 가능성, 일관성, 추적 가능성입니다.
자동화된 작업은 매번 같은 방식으로 수행됩니다. 누가 실행하든 결과가 동일합니다. 실행 이력이 기록됩니다. 실수가 줄어들고, 실수가 발생해도 어디서 무엇이 잘못됐는지 파악하기 쉽습니다.
어디서 시작할까
모든 수작업을 한 번에 자동화할 필요가 없습니다. 다음 기준으로 우선순위를 정합니다.
빈도. 자주 반복되는 작업일수록 자동화 효과가 큽니다.
리스크. 실수했을 때 영향이 큰 작업을 먼저 자동화합니다. 배포, 데이터베이스 변경, 설정 변경이 대표적입니다.
일관성 요구. 환경 간, 담당자 간 일관성이 중요한 작업은 자동화 대상입니다.
자동화를 시작하기 전에 수작업의 정확한 절차를 먼저 문서화합니다. 문서화가 되어 있어야 자동화할 수 있고, 문서화 과정에서 불필요한 단계나 개선 여지도 발견할 수 있습니다.
수작업 운영의 리스크는 평소에 잘 보이지 않습니다. 담당자가 잘 처리하고 있기 때문입니다. 그 리스크가 드러나는 것은 장애가 났을 때, 담당자가 없을 때, 감사를 받을 때입니다. 그때는 이미 늦습니다.