카카오페이 배포 효율화 1년 회고: 자동화 도입과 팀 생산성 향상

카카오페이 배포 효율화 1년 회고: 자동화 도입과 팀 생산성 향상

요약: 카카오페이 SRE팀 RE파트의 배포 프로세스 개선 사례를 소개합니다. 기존의 수동 작업과 알림 부재 문제를 자동화하여 상시 배포 인원을 10명에서 3명으로 줄이고, 다양한 프로젝트를 성공적으로 수행했습니다. 그러나 그라운드 룰의 혼란, 배포 프로세스 개선 의지 약화, 데이터 수집 미흡 등의 어려움도 겪었습니다. 이 글에서는 배포 프로세스 개선의 긍정적인 변화와 함께 도전 과제들도 솔직하게 공유합니다.

💡 리뷰어 한줄평

katfun.joy 테크핀 환경 내에서의 배포 과정을 개선해 나가는 과정이 잘 드러나는 글입니다. 한 번 읽어 보시는 것을 추천드립니다. 😄

pita.pat 이번 회고를 통해서 배포 프로세스 자동화를 통한 배포인원의 감소와 배포 지원건의 정량적인 데이터를 확인할 수 있어서 좋았습니다! 자동화에 관심이 생긴 요즘, 한번 더 자동화의 효율성을 느낀 콘텐츠였다고 생각합니다.

1. 시작하며

안녕하세요. 카카오페이 SRE팀 RE파트 아리입니다. RE파트는 카카오페이의 대고객서비스 배포를 담당하는 조직입니다. 이전 글에서는 배포 프로세스를 보다 단순화하고 자동화하여 개선한 사례를 소개했습니다.

이전 글 요약
- 기존 배포 프로세스의 문제점
  - 수동 작업이 많아 실수가 발생할 수 있음
  - 상태 변경을 인지할 수 있는 알림이 없어 계속 확인해야 함 > 긴장 상태 유지
- 해결 방법
  - 커뮤니케이션과 수동 작업들을 자동화함
    - 배포 작업 할당을 자동화함
    - 슬랙봇을 통해 배포 작업을 할당/진행/완료 상태 변경 알림을 받음

많은 분들이 기존의 프로세스나 도구에서 불편함을 느끼더라도, 변경에 따른 변화와 그에 따라 발생할 수 있는 문제들이 걱정되어 선뜻 개선에 나서지 못하곤 합니다. 저희 역시 같은 고민 속에서 배포 프로세스 개선을 시작했고, 그 과정에서 많은 것을 경험할 수 있었습니다. 이번 글에서는 배포 프로세스를 개선하며 겪었던 긍정적인 변화와 함께, 아쉬웠던 점과 새롭게 마주한 문제들에 대해 솔직하게 공유하고자 합니다. 순탄한 과정은 아니었지만, 그 자체가 큰 성장의 기회가 되었습니다. 저희의 경험이 배포 프로세스 개선을 고민하는 분들에게 도움이 되길 바라며 글을 시작하겠습니다.

2. 좋아진 점

프로세스를 변경하면서 작업 방식 또한 크게 변화했습니다. 슬랙봇이 배포 담당자를 할당하기 때문에, 새로운 배포 요청에 지속적으로 주의를 기울일 필요가 없게 되었습니다. 다른 중요 업무에 집중할 여유가 생긴 셈입니다. 이처럼 여유 시간이 생긴 만큼 배포 개선을 위한 다양한 프로젝트를 진행했는데요, 어떤 긍정적인 영향이 있었는지 한 번 살펴보겠습니다.

상시 배포 인원 감소(10명 → 3명)

배포 프로세스의 준비 및 마무리 작업이 자동화되고, 배포만 집중할 수 있게 됨으로써 배포 지원에 소요되는 시간이 크게 줄었습니다. 그에 따라 1인 당 처리할 수 있는 배포 모듈의 개수가 늘어났고, 상시 배포 인원을 10명에서 3명으로 줄일 수 있었습니다.

프로젝트 영역 확장

새롭게 생긴 여유 시간에 배포 개선을 위한 다양한 프로젝트를 진행했습니다. 그 결과로 배포 모니터링 시스템을 개선하고 파이프라인을 구성하는 등 다양한 프로젝트를 성공적으로 마무리했습니다. 이외에도 Integration test 지원을 위한 Mocking Platform 구축, QA팀과의 협업을 통한 테스트 자동화 등 프로젝트의 영역을 확장할 수 있었습니다.

어시스턴트 채용으로 얻은 자유

진행하는 프로젝트가 다양해지고, 배포 프로세스가 단순화되면서 배포만 전담할 수 있는 어시스턴트를 채용하게 되었습니다.

카카오페이에서 어시스턴트 크루는 주로 단순/반복 운영업무를 담당하며, 조직에 따라 역할이 다를 수 있습니다.
RE파트의 어시스턴트 크루는 정규 업무 시간(10:00 ~ 19:00) 동안 배포를 담당합니다.

이로 인해 팀원들이 주요 업무에만 집중할 수 있게 되었고, 이는 팀의 생산성 향상에 큰 도움이 되었습니다. 또한 입사한 어시스턴트 크루는 1개월에서 6개월 사이의 기간을 근무하게 되는데요, 신규 어시스턴트 크루의 입사와 퇴사 과정 속에서 새롭고 신선한 시선을 통해 배포 프로세스를 지속적으로 개선할 수 있는 기회도 얻을 수 있었습니다.

자신만의 관점과 경험을 가진 어시스턴트 크루는 기존의 프로세스에서 간과할 수 있는 문제점을 발견하고, 새로운 아이디어를 제시함으로써 배포 프로세스를 지속적으로 개선할 수 있게 큰 도움이 되었습니다. 일례로, 어시스턴트 크루들이 처음 카카오페이의 운영 배포 프로세스를 경험할 때 헷갈리는 부분에 대해 질문을 자주 했는데, 이 덕분에 운영 배포 프로세스에 직관적이지 않고 경험에 의존하는 부분이 있다는 점을 인지하고 개선할 수 있었습니다.

월평균/최대 배포 지원 수 증가

SRE팀 RE파트는 카카오페이의 모든 서비스 배포를 담당하는 게 목표지만, 리소스 문제로 일부 서비스의 배포를 담당하지 못하는 경우가 있었습니다. 이 경우 각 서비스 조직 내부에 RE파트를 발령 내어 배포를 진행했는데요. 배포 프로세스의 개선으로 리소스에 여유가 생기게 되면서, 각 서비스 조직에서 담당했던 배포를 SRE팀 RE파트로 가져와 진행할 수 있게 되었습니다. 이는 서비스들의 배포 환경이 동일하게 구성됨으로써, 배포 환경에 따른 차이를 최소화하고 일관적으로 배포를 진행하게 되었다는 점에서 의의가 있습니다.

이에 따라 2022년 대비 2023년의 월평균 배포 지원 건이 약 1,000건에서 약 1,500건으로 50% 증가했고, 월 최대 배포 지원 건도 1,436건에서 1,830건으로 27.5% 증가했습니다.

3. 아쉬운 점

이처럼 배포 프로세스를 변경하면서 상시 배포 인원이 감소하고, 리소스면에서 여유가 생겼습니다. 덕분에 프로젝트 영역을 확장하고, 어시스턴트를 채용하고, 더욱 많은 수의 배포를 지원하는 등 조직에도 긍정적인 영향을 미쳤습니다. 그렇지만 배포 프로세스 변경이 좋은 것만 가져다주지는 않았습니다. 아래는 지난 일 년 동안 겪은 다양한 시행착오와 배운 점입니다.

흔들리는 그라운드 룰

어시스턴트 제도를 도입하면서 그라운드 룰을 세우긴 했지만, 실제 운영 과정에서 예상치 못한 상황들이 발생하면서 규칙을 계속 수정해야 했습니다. 이로 인해 어시스턴트 크루와 팀원들이 혼란을 겪는 경우가 있었습니다.

이번 경험을 통해, 그라운드 룰을 수립하고 운영하는 일이 쉽지 않다는 것을 알게 되었습니다. 하지만 이러한 어려움을 극복하고 안정적으로 어시스턴트 제도를 운영할 수 있도록, 계속해서 노력하고 보완해나가려고 합니다.

배포 프로세스 개선에 대한 의지가 약해짐

직접 배포를 진행하지 않게 되면서, 배포 프로세스 개선에 대한 의지가 약해지고 불편함에 둔감해지는 경향이 나타났습니다. 배포 프로세스 개선은 지속적으로 이루어져야 할 과제이고 문제를 인지했기 때문에, 아래와 같이 방법을 시도해 보았습니다.

  • 정기적인 배포 프로세스 리뷰 : 배포 프로세스의 문제점과 개선 사항을 발견하기 위해, 정기적으로 배포 프로세스 리뷰를 진행했습니다. 어시스턴트 크루와 팀원들이 함께 참여하는 회고를 통해, 배포 과정에서의 경험과 아이디어를 공유하고 개선 방안을 도출했습니다. 스프린트 단위로 2주 간격의 회고를 진행하여, 배포 프로세스에서 불편한 점을 논의하고 더 효율적으로 개선할 수 있는 방안을 모색했습니다.
  • 데이터 기반의 개선 필요성 공유 : 배포 프로세스의 개선 필요성을 객관적으로 입증하기 위해, 관련 데이터를 수집하고 분석했습니다. 배포 소요 시간, 실패율, 롤백 빈도 등의 지표를 추적하고, 이를 공유함으로써 정량적인 개선 필요성을 인지했습니다. 저희는 Jenkins, Spinnaker 등 카카오페이에서 배포에 사용하는 시스템에서 이벤트(스테이지 또는 상태 변경 등)가 발생할 때마다 데이터를 수집하고, 대시보드를 구성했는데요. 이를 통해 배포 프로세스 중 최적화가 가능한 부분을 찾고 개선할 수 있었습니다.

불편함을 덜 느끼게 되면서 개선 의지가 약해진 건 아쉽지만, 데이터 기반으로 객관적이고 정량적인 개선 필요성을 입증하게 된 건 좋은 점이라고도 할 수 있을 것 같습니다.

앞으로도 배포 프로세스 개선에 대한 의지를 높이기 위해, 다양한 방법을 시도하고 지속적으로 노력할 계획입니다.

개선 전의 데이터를 수집하지 않음

배포 프로세스 개선의 효과를 정확히 측정하기 위해서는 개선 전의 데이터 수집이 필수적입니다. 하지만 저희는 개선 전 데이터를 충분히 수집하지 못했고, 개선의 효과를 정량적으로 분석하는 데 어려움을 겪었습니다.

슬랙 봇 도입 이후 개발자들의 경험을 설문조사로 수집했지만, 정성적인 데이터만 얻을 수 있었습니다. 개선 전후의 배포 소요 시간, 배포 실패율 등의 정량적 지표를 비교할 수 있었다면 개선의 효과를 더욱 명확히 증명할 수 있었을 것이라는 아쉬움이 남습니다. 이번 경험을 교훈 삼아, 개선작업을 진행할 때는 사전에 충분한 데이터 수집 계획을 세우고, 정량적인 평가 지표를 설정하여 개선의 효과를 객관적으로 측정하려고 합니다.

4. 마치며

이번 글에서는 배포 프로세스 개선 이후 일 년 동안 겪은 변화에 대해 소개했습니다. 배포 프로세스 개선을 통해 상시 배포 인원을 줄이고, 프로젝트의 확장을 이루었으며, 어시스턴트 크루를 채용함으로써 팀 생산성 또한 향상할 수 있었습니다.

하지만 동시에 명확하지 않은 그라운드 룰로 인한 혼란과, 배포 프로세스 개선에 대한 의지의 약화, 데이터 수집 미흡 등의 문제점도 경험했습니다. 새롭게 맞이한 어려움 속에서, 저희는 문제의 원인을 파악하고 해결 방안을 모색하기 위해 노력했습니다. 정기적인 회고와 데이터 기반의 개선을 통해 해결책을 찾아갔고, 완벽하진 않았지만 한 걸음씩 나아갈 수 있었습니다.

저희의 경험이 업무 프로세스 개선을 고민하는 많은 분들에게 도움이 되었으면 좋겠습니다. 이러한 개선 과정은 쉽지 않지만, 함께 노력하며 성장해 나가는 과정 자체에도 큰 의미가 있다고 생각합니다. 끊임없이 변화하는 환경에서 완벽한 답을 찾기는 어렵지만, 개선을 위한 끊임없는 노력으로 우리는 성장할 수 있습니다. 지금 이 순간에도 최선을 다해 문제를 해결하기 위해 노력하는 모든 분들을 응원하겠습니다. 감사합니다!

ari.a
ari.a

카카오페이 SRE팀 RE파트 아리입니다. CI/CD (Continuous Integration/Continuous Delivery)에 관심이 많고, 자동화를 좋아합니다. 🙂