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

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

우아한형제들의 클라우드 비용 최적화 여정



1. 비즈니스와 기술의 관계 맺기

클라우드 환경은 유연성과 확장성을 제공하지만, 그만큼 비용 구조도 복잡합니다. 우아한형제들은 이러한 변화 속에서 단순한 비용 절감이 아닌, 비즈니스 가치 극대화를 목표로 한 새로운 접근법을 모색했습니다. 그 시작은 ‘기술과 비즈니스 간의 관계를 다시 정의하는 것’이었습니다.

기존에는 클라우드 비용이 단순히 인프라 운영비로 인식되었지만, 우아한형제들은 이를 비즈니스 성과와 연결된 주요 지표로 재해석했습니다. 특히, 각 서비스 단위의 단위경제(Unit Economics) 개념을 도입하여 클라우드 지출이 실제 비즈니스 KPI에 어떤 영향을 미치는지를 정량적으로 분석했습니다.

이를 위해 회사는 고객 트래픽, 서비스 운영 효율성, 인프라 사용량 등을 통합적으로 모니터링하며, 클라우드 비용이 기업의 재무 구조에 미치는 영향을 시각화했습니다. 이 과정에서 중요한 점은 “얼마를 썼는가”가 아니라 “이 지출이 어떤 가치를 창출했는가”였습니다.

우아한형제들은 데이터 기반의 비용 관리 시스템을 구축하여 모든 팀이 자신들의 서비스 운영 비용을 실시간으로 확인할 수 있도록 했습니다. 팀 단위로 KPI와 비용 데이터를 연계해 보여줌으로써, 개발자와 운영자가 비용 효율성을 스스로 개선할 수 있는 문화를 조성했습니다.

이러한 접근 방식은 조직 전체에 투명성과 책임감을 높였으며, 기술 부서와 비즈니스 부서 간의 협력 관계를 더욱 긴밀하게 만들어주었습니다.

2. 효율적인 리소스 관리

클라우드 비용 최적화는 단순한 예산 절감이 아닌, 리소스 효율화를 목표로 해야 합니다. 우아한형제들은 클라우드 환경에서 서비스별 리소스 사용량을 정교하게 관리하며, 필요할 때 필요한 만큼만 사용하는 탄력적 인프라 구조를 도입했습니다.

클라우드 이전 초기에는 리소스 할당이 고정적으로 운영되었지만, 트래픽 변화에 따라 유연하게 리소스를 조정할 수 있는 시스템이 필요했습니다. 이에 따라 우아한형제들은 오토스케일링(Auto Scaling)과 예약 인스턴스(Reserved Instance), 그리고 스팟 인스턴스(Spot Instance) 전략을 병행하여 비용 효율성을 극대화했습니다.

또한, 서비스 특성에 따라 CPU·메모리 사용량을 세밀히 분석하여, 불필요한 자원을 줄이는 동시에 성능 저하 없이 안정적인 운영이 가능하도록 설계했습니다. 이러한 탄력적 구조 덕분에 트래픽 급증 시에도 자동으로 리소스를 확장할 수 있었고, 비수기에는 자연스럽게 비용이 감소하는 효과를 얻었습니다.

더 나아가 각 개발팀은 자신들의 클라우드 사용량과 비용을 대시보드에서 직접 확인할 수 있도록 했습니다. 이를 통해 각 팀은 단순히 지출을 통제하는 수준을 넘어, 리소스 사용량이 실제 서비스 성과에 어떻게 연결되는지를 직접 관리할 수 있게 되었습니다.

이러한 자율적 FinOps 문화는 개발팀 간 협업을 촉진하고, 비용 논의를 비즈니스 중심의 생산적 대화로 전환시키는 계기가 되었습니다.

3. 지속 가능한 최적화 전략

우아한형제들은 FinOps를 단기적인 절감이 아닌, 장기적인 비용 효율화 문화로 발전시키는 데 초점을 맞췄습니다. 그 핵심은 지속 가능한 최적화(Sustainable Optimization)입니다.

우선, 전사 차원에서 비용 인식 문화를 확산시켰습니다. 모든 팀이 자신이 사용하는 클라우드 리소스의 비용을 이해하고, 이를 스스로 관리할 수 있도록 교육과 리소스를 제공했습니다.

각 팀은 매월 비용 리포트를 받고, 이를 기반으로 자체적인 최적화 목표를 설정했습니다. 이 과정에서 FinOps 팀은 단순한 ‘감시자’가 아니라, 각 팀이 효율적으로 비용을 관리할 수 있도록 돕는 ‘코치’ 역할을 수행했습니다.

정기적으로 FinOps 워크숍을 개최하여 비용 분석, 리소스 할당 조정, 서비스별 비용 효율성 측정 등을 공유했습니다. 이러한 문화는 구성원 모두가 비용 절감이 아닌 가치 창출의 관점에서 FinOps를 이해하도록 만들었습니다.

그 결과, 단기간의 비용 감소뿐 아니라 장기적인 서비스 품질 향상과 고객 만족도 상승으로 이어졌습니다. 클라우드 효율화가 단순히 재무적인 절약에 그치지 않고, 고객 경험 개선서비스 성장이라는 실질적 가치로 연결된 것입니다.

FinOps는 이제 우아한형제들 내에서 기술과 비즈니스가 함께 성장하는 핵심 전략으로 자리 잡았습니다. 각 팀이 스스로 비용과 성과를 책임지는 구조는 조직 전체의 자율성과 효율성을 동시에 강화했습니다.

결론: 비용 절감이 아닌 가치 창출의 FinOps

우아한형제들의 FinOps 여정은 단순히 지출을 줄이는 활동이 아닙니다. 그들은 비용을 비즈니스 가치로 전환하는 전략적 접근을 실천했습니다.

FinOps는 기술 조직과 비즈니스 조직의 연결고리를 강화하며, 클라우드 자원을 ‘효율적으로’가 아닌 ‘의미 있게’ 사용하는 문화를 만듭니다. 이로써 클라우드는 단순한 인프라 플랫폼이 아닌, 비즈니스 혁신의 중심 도구로 진화했습니다.

앞으로의 FinOps는 비용 절감이 아닌, 기업의 지속 가능한 성장과 시장 경쟁력을 높이는 핵심 전략이 될 것입니다. 우아한형제들의 사례는 기술과 비즈니스가 함께 협력하여 클라우드 시대의 새로운 효율성을 만들어갈 수 있음을 보여줍니다.


이 블로그의 인기 게시물

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

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

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