배달의민족 Flutter 도입과 아키텍처 설계 교훈

배달의민족은 주문접수 채널에서 Flutter를 도입하여 멀티 플랫폼 대응력을 높이고, Clean Architecture를 통해 효율적인 코드 관리를 실현했습니다. 이 글에서는 Flutter 도입과 아키텍처 설계의 과정에서 얻은 교훈을 바탕으로, 변화하는 비즈니스 요구에 맞추기 위한 혁신적인 접근을 소개합니다. 또한, 이러한 경험이 다른 기업이나 개발자에게도 유용한 전략이 될 수 있도록 공유하고자 합니다. Flutter 도입으로 인한 혁신적인 변화 배달의민족은 Flutter 도입을 통해 플랫폼 전환과 유지보수 측면에서 큰 혁신을 이루었습니다. 기존의 Windows, Android, iOS 플랫폼에 추가하여 macOS와 다양한 Android 디바이스로까지 확장할 필요성을 느꼈습니다. Flutter의 도움으로 단일 코드베이스에 의해 멀티 플랫폼을 동시에 지원할 수 있게 되었고, 이를 통해 개발자 수를 줄이고 생산성을 향상시킬 수 있었습니다. 개발자들은 각 플랫폼에 대해 반복적으로 구현할 필요가 없어졌고, 버그 수정이나 기능 변경 시에도 이전에 비해 적은 시간에 모든 플랫폼에 적용할 수 있게 되었습니다. Flutter의 도입은 크로스 플랫폼 반응형 UI 구현을 가능하게 하여, 사용자 경험의 일관성을 높였습니다. 이제 파트너들은 다양한 OS 환경에서 동일한 경험을 하게 되므로, 학습 비용도 줄어들고, 혼란이 줄어드는 장점을 경험하고 있습니다. 이러한 변화는 단순히 기술적인 접근방식이 아닌, 사업의 방향성을 전환하는 계기로 작용했습니다. 파트너사들이 원하는 효율적인 주문 관리 시스템을 제공하기 위해, 기존의 네이티브 아키텍처에서 벗어나 새로운 기술 스택으로 과감히 옮겨갔습니다. Firebase와 같은 클라우드 서비스를 활용하여 실시간 데이터 업데이트와 동기화가 가능하게 되었고, Flutter의 강점을 극대화하여 사용자 친화적인 UI/UX도 구현됐습니다. 이로 인해 즉각적인 피드백을 수렴할 수 있는 구조가 마련됐습니다. 결국 Flutter의 도입은 배달의...

장애 탐지 시스템의 효과적 구축과 성과

배달의민족은 고객들에게 항상 기대되는 식사 경험을 제공합니다. 그러나 시스템 장애가 발생하면 이러한 기대가 무너질 수 있습니다. 이를 방지하기 위해 우아한형제들은 장애를 놓치지 않고 신속하게 탐지하는 방법을 공유하며, 이 시스템의 도입으로 장애 대응이 얼마나 효과적으로 이루어질 수 있는지 설명합니다.

장애 탐지 시스템 구축의 필요성

우아한형제들은 고객의 예상을 지키기 위해 장애 탐지 시스템을 구축해야 할 필요성을 느꼈습니다. 특히, 배달의민족의 서비스가 고객들에게 중요한 순간에 영향을 미칠 수 있는 만큼, 장애가 발생했을 때 이를 즉시 탐지하고 대응하는 것이 필수적입니다. 서비스의 변화에 따라 다양한 요인이 장애를 유발할 수 있으므로, 이에 대한 체계적인 모니터링이 필요합니다. 장애 탐지 시스템은 CPU 사용률, 메모리 사용량 등 전통적으로 사용되던 모니터링 방식으로는 모든 장애를 놓칠 수 있다는 사실을 인식했습니다. 이러한 한계를 극복하기 위해 우아한형제들은 서비스 이상 탐지 시스템을 구축하였습니다. 이 시스템은 서비스 지표를 실시간으로 모니터링하여 고객 경험에 직접적인 영향을 미칠 수 있는 사항을 주의 깊게 살펴볼 수 있도록 설계되었습니다. 서비스 지표는 실시간 로그인 수, 주문 수, 결제 성공률 등의 항목으로 구성되어 있으며, 이는 고객의 행동과 밀접한 관계를 맺고 있습니다. 이러한 데이터를 통해 장애 발생을 조기에 탐지하고 신속한 대응을 할 수 있는 기반이 마련되었습니다. 따라서 이 시스템의 구축은 우아한형제들이 장애로부터 고객을 지킬 수 있도록 하는 매우 중요한 첫걸음이 되었습니다.

장애 탐지 시스템 성과

장애 탐지 시스템을 도입한 후, 우아한형제들은 많은 성과를 달성하게 되었습니다. 무엇보다 가장 두드러진 성과는 경보 정밀도의 향상이었습니다. 초기 시스템에서는 경보가 발생해도 오탐인지 실제 장애인지 확인이 어려워, 직원들의 피로도와 걱정을 가중시켰습니다. 하지만 새롭게 구축된 서비스 이상 탐지 시스템의 도입으로 경보 정밀도가 약 11배 향상되었습니다. 경보의 정밀도가 높아지면서 이제는 발생하는 경보의 대부분이 실제 장애에 해당하는 것으로 간주되고 있습니다. 오탐의 빈도가 줄어들면서, 직원들은 갑작스러운 대응 상황에서 오는 스트레스를 덜 느끼게 되었고, 보다 안정적인 환경에서 업무를 수행할 수 있습니다. 이와 함께 장애 탐지율 또한 약 70% 향상되어, 우아한형제들은 고객 피해를 최소화하는 데 큰 역할을 하고 있습니다. 자동화된 전파 기능 덕분에 장애 전파 시간 역시 약 74% 단축되었으며, 이는 필요한 리소스를 더욱 빠르게 투입할 수 있게 해주었습니다.

향후 장애 탐지 시스템의 발전 방향

장애 탐지 시스템의 구축과 성공적인 성과에 힘입어, 우아한형제들은 향후 장애의 원인 추적 및 분석에 집중할 계획입니다. 현재 사용하는 시스템이 장애를 신속하게 탐지하고 대응하는 데 매우 효과적이었다면, 다음 단계는 발생한 장애의 근본 원인을 보다 빠르게 파악하여 고객에게 드리는 영향을 최소화하는 것입니다. 이를 위해 SRE 팀은 데이터 분석 과정에서 AI 기술을 활용하는 방안을 검토하고 있습니다. 인공지능 기술의 발전에 따라, 따라서 보다 정교한 데이터 분석이 가능해지고 있습니다. AI를 활용해 방대한 데이터를 신속하게 분석하고, 장애의 원인을 파악하는 구조로 발전시킬 예정입니다. 진화하는 기술의 도움으로 장애 대응 시스템의 전반적인 효율성을 높이고, 서비스를 제공받는 고객들에게 보다 나은 경험을 선사할 수 있도록 계속해서 노력할 것입니다. 또한, 향후 배달의민족의 서비스가 더욱 원활하게 운영될 수 있도록 고객의 기대에 부응하며, 장애 대응 체계를 더 발전시켜 나가겠습니다.

이 블로그의 인기 게시물

우아한형제들의 실시간 알림 혁신: SSE(Server-Sent Events)로 이룬 효율성과 안정성

우아한 디버깅 툴 개선으로 QA 업무 효율화

물어보새의 진화와 지식 공유 확장