데브렐(Developer Relations, DR)이라는 말은 다소 생소합니다. 기술 블로그, 우아한테크 유튜브 등을 통해 우아한형제들의 DR 활동을 알고 있는 분은 많지만, 정확하게 무슨 뜻인지 아는 사람은 많지 않습니다. 쉽게 말해서, PR(Public Relations)이 일반인을 대상으로 기업을 알리고 가치를 높이는 활동을 의미한다면, DR은 개발자를 대상으로 하는 일련의 활동입니다. 우아한형제들의 DR은 내외부의 개발자들 간의 기술 교류 및 소통의 기회를 만들어 함께 성장할 수 있도록 하는 다양한 활동을 하고 있습니다. 우아한형제들은 PR만큼이나 DR 활동을 중요하게 생각합니다. DR 활동을 전담으로 하는 조직인 DR팀이 있으며, 각자 전문성을 가진 팀원이 ‘개발자 교류’를 위한 여러 프로그램을 담당합니다. 개발자는 아니지만 개발자 및 개발 조직에 관한 관심과 이해를 바탕으로 일하고 있습니다. PR이나 DR 모두 대상자만 다를 뿐, 회사의 매력을 전달하는 것이 핵심입니다.
---「기술블로그에서는 볼 수 없는 우아한형제들의 DR팀 이야기」중에서
결제시스템팀은 빌링, 비즈머니, 포인트 총 세 가지 도메인을 맡고 있습니다. 9시 30분부터 각 시스템의 개발자들이 모여 아침 미팅을 합니다. 돌아가며 어제 했던 일, 이슈, 오늘 할 일에 대해 짧게 공유합니다. 이렇게 이야기를 하다 보면 서로 다른 도메인에 대해 이해할 수 있고 더 좋은 문제 해결 방법을 얻을 수도 있습니다.
…
오늘은 2주에 한 번 있는 스프린트 시간입니다. 개발자가 모두 모여 진행했던 업무에서 아쉬웠던 점과 좋았던 점을 공유하고 앞으로 2주 동안 해보고 싶은 일을 정리합니다. 이러한 스프린트 회의는 지라(Jira)와 위키(Wiki)를 이용해 관리합니다. 그동안 제가 처리한, 앞으로 제가 처리할 티켓들을 보고 있노라면 ‘내가 마냥 월급을 훔치고 있던 건 아니구나’라는 생각이 들어 뿌듯합니다.
…
오늘의 마지막 업무는 잠시 후 시작할 배달의민족 이벤트입니다. 국가에서 허락한 유일한 디도스(DDoS)가 발생할 예정입니다. 개발자 모두 만일에 대비해 모니터링 시스템을 살펴보며 몰려들 트래픽에 대비합니다. 우아한형제들의 모든 시스템이 많은 트래픽을 처리하지만 특히 결제시스템은 돈과 관련되어 있기 때문에 신경 써야 할 부분이 많습니다. ‘결제 시 타임 아웃이 발생하면 어떻게 할까? 결제 요청이 급증할 땐 어떻게 처리할까? 결제 취소 요청이 실패하면 어떻게 해야 하지? 같은 고민을 하게 되죠. 버려지는 트래픽이 발생하면 안 됩니다. 우리에게는 작은 트래픽 하나지만 누군가에게는 번거로움과 피해로 이어질 수 있습니다
---「우형 개발자의 하루」중에서
최근 배달의민족 서비스의 성장 속도는 정말 무서울 정도로 가팔랐습니다. 그에 맞춰 시스템도, 서비스도 매우 빠르게 대응하고 발전해야만 했습니다. 2019년 배달의민족 시스템은 생존을 위해 마이크로서비스 아키텍처로 변화를 했고, 결과는 매우 성공적이었습니다. 이후 시스템별로 크게 플랫폼, 프런트서버, 앱/웹 클라이언트 팀으로 나누어지고 팀은 기획/개발/QA가 함께 일했습니다. 모두 시스템 안정화와 잔여 작업들을 마무리하며 서비스 개발에 속도를 내기 시작했던 시기였습니다. 저는 프런트서버군(전시, 리뷰 도메인 등 대 고객 서버군)들을 개발하는 배민프런트검색서비스팀의 QA로 일하게 되었습니다.
…
앱이 2주마다 배포되려면 테스트를 끊임없이 수행해야 했고 테스트 환경에서 장애가 발생하는 일이 없어야 했습니다. 테스트 환경이 불안정해 앱 테스트를 하지 못하면 어쩔 수 없이 야근을 해야 하고, 클라이언트가 결함을 찾고 수정할 시간이 부족하며, 2주의 배포 주기를 맞추기 어렵다고 생각했습니다. 서버는 앱의 배포 주기를 방해하지 않고 안정적으로 개발/테스트하도록 지원하기로 결정했습니다.
---「가파르게 성장하는 서비스 품질 관리하기」중에서
장애는 서비스의 성장, 서비스의 변화 등 다양한 과정 중에서 발생하는 성장통이기 때문에 장애가 발생하는 것을 원천적으로 차단할 방법은 없습니다. 하지만 장애에 대응하는 과정을 통해서 서비스의 신뢰는 지킬 수 있습니다. 장애가 발생하더라도 영향 범위를 최소화하고, 빠르게 복구하며, 고객에게 적절한 정보를 제공하고, 같은 불편을 겪지 않도록 조처를 하는 모든 과정이 고객의 신뢰를 지키는 방법입니다.
…
모든 시스템에는 이상 현상을 감지할 수 있는 모니터링 시스템이 구축되어 있습니다. 이상 현상을 탐지하면 즉각 슬랙으로 알람을 발송하죠. 그중에서도 특히 주의를 기울여야 하는 알람은 담당자에게 즉시 연락이 갈 수 있도록 온콜도 운영합니다. 우아한형제들은 성격에 맞는 알람 채널을 다양하게 구성해서 운영하는데, 각 시스템 단위의 알람뿐 아니라, 비즈니스 지표를 기준으로 한 알람과 외부 연동 시스템의 이상을 확인할 수 있는 알람 등 다양한 지표를 참고로 서비스 이상 징후를 탐지합니다.
…
몇 년 전까지는 모노리틱 구조로 인해서 모든 엔지니어가 이 채널의 알람에도 민감하게 반응했지만, 현재는 마이크로서비스 아키텍처 구조에 맞게 문제가 있는 도메인(예를 들어 주문, 리뷰, 결제 등)을 호출하면 각 담당자에게 온콜이 가도록 분리 운영합니다.
---「우아한 장애 대응」중에서