KEDA를 활용한 로그 시스템 오토스케일링 경험담

우아한형제들은 KEDA를 활용하여 100만 TPS의 로그 시스템에 오토스케일링을 성공적으로 적용하였습니다. 이 경험을 통해 로그 처리의 변동성을 관리하며 비용 효율성을 높이는데 기여하게 되었습니다. 본 문서에서는 KEDA 도입 과정과 실제 운영 사례를 통한 운영 환경 개선 방안에 대해 설명합니다. KEDA 적용을 통한 로그 시스템 아키텍처 변화 KEDA를 도입하기 전, 우아한형제들은 기존 HPA를 이용하여 로그 시스템의 오토스케일링을 시도했습니다. 하지만 평균 CPU 및 메모리 사용량을 기준으로 스케일링이 진행되면서 한계에 봉착하게 되었습니다. KEDA의 도입 이후, 이벤트 기반으로 스케일링을 설정함으로써, 로그 시스템의 아키텍처를 유연하게 설계할 수 있었습니다. KEDA는 다양한 이벤트 소스를 지원하여 로그 시스템의 특성에 맞는 스케일링 기준을 설정할 수 있게 해줍니다. 예를 들어, Fluentd의 버퍼 사용률을 기준으로 스케일링 트리거를 설정함으로써, 시스템이 실제로 부하를 받기 시작하기 전에 프로세스를 조정할 수 있었습니다. 이는 로그 처리의 안정성을 크게 향상시켰고, 유연한 리소스 관리로 비용을 줄일 수 있는 기반을 마련하였습니다. 이러한 변화는 로그 시스템 아키텍처의 효율성을 높이고, 운영 환경을 개선하는 데에 결정적인 역할을 했습니다. 다양한 메트릭을 조합하여 스케일링 미세 조정이 가능해짐으로써, 시스템 부하가 예상되는 피크 시간대에도 원활하게 처리할 수 있는 역량을 갖추게 되었습니다. KEDA 도입을 통한 메트릭 기반 스케일링 효과 KEDA의 도입은 로그 시스템의 메트릭 기반 스케일링을 가능하게 하였습니다. 기존 HPA와 달리, KEDA는 프로메테우스를 이용해 다양한 지표를 직접적으로 활용할 수 있게 해줍니다. 이를 통해 CPU 및 메모리 사용량 외에도 Fluentd 버퍼와 같은 중요한 메트릭을 스케일링 기준으로 설정할 수 있었습니다. Fluentd의 버퍼가 일정 사용률을 초과할 경우 이를 위기 상황으로 간주하여 스케일 아웃을...

플로팅웹뷰 도입으로 구현한 웹과 네이티브의 조화

웹과 네이티브의 경계가 허물어지는 시대에 접어들면서, 커머스 서비스는 사용자 경험을 높이기 위해 혁신적인 방법을 모색하고 있습니다. 플로팅웹뷰 도입을 통해 혁신적으로 웹과 네이티브의 조화로운 공존을 가능하게 하였으며, 이는 사용자에게 매끄러운 탐색 경험을 제공하는 데 기여했습니다. 이 글에서는 플로팅웹뷰가 어떻게 웹과 네이티브를 조화롭게 연결하여 새로운 사용자 경험을 창출했는지를 살펴보겠습니다.

조화롭게 공존하는 웹과 네이티브의 경험


플로팅웹뷰의 도입은 웹과 네이티브가 조화롭게 공존하게 만들어 줍니다. 초기에는 웹 페이지와 네이티브 영역의 분리가 이루어졌지만, 사용자 경험을 개선하기 위한 시도가 늘어나면서 두 영역이 접점에서 상호작용하게 되었습니다. 특히, 네이티브 내비게이션 탭바가 도입되면서 상단 헤더 영역에 네이티브가 포함됨으로써 두 영역 간의 충돌이 발생하게 되었습니다. 이와 같은 변화는 웹 기반의 하단 내비게이션 탭바의 문제를 부각시켰습니다. 페이지 로딩이 완료되기 전까지 하단 내비게이션이 미노출되면서 사용자는 불편한 탐색 경험을 하게 되었습니다. 이러한 상황에서 플로팅웹뷰는 투명한 UI를 통해 네이티브 영역 위에 웹 콘텐츠를 적절히 표시해 주는 솔루션이 되었고, 이를 통해 사용자들은 방해받지 않고도 필요한 정보를 쉽게 접근할 수 있게 되었습니다. 플로팅웹뷰는 단순히 페이지를 격리하는 것이 아닌, 웹과 네이티브의 경계를 허물고 자연스럽게 연결할 수 있는 역할을 수행하고 있습니다. 이처럼 두 영역의 조화는 신속한 사용자 탐색 경험을 가능하게 하며, 궁극적으로 커머스 서비스의 가치를 높이는 데 중요한 기여를 합니다. 누구나 인정할 수 있는 것은, 이러한 변화가 사용자에게 더 나은 서비스 경험을 제공하며, 이를 통해 고객 만족도를 향상시키는 데 기여한다는 점입니다.

플로팅웹뷰를 통한 사용자의 새로운 기대


플로팅웹뷰 도입으로 인해 사용자는 기대 이상의 새로운 경험을 하게 됩니다. 이전에는 웹과 네이티브가 서로 격리되어 있었지만, 플로팅웹뷰는 이 두 영역을 융합하여 사용자가 요구하는 정보에 대해 보다 자연스럽고 직관적인 접근을 가능하게 합니다. 이는 플로팅웹뷰가 최상위 레이어에 위치함으로써, 사용자에게 자연스럽고 원활한 탐색을 제공하기 때문입니다. 웹 페이지의 팝업 또한 플로팅웹뷰를 통해 새로운 가능성을 가지게 되었습니다. 기존의 팝업이 네이티브 영역에 제한받는 문제를 해결하며, 보다 다양한 형태로 사용자에게 다가갈 수 있게 되었습니다. 플로팅웹뷰의 도입으로 인해 팝업은 독립적으로 동작할 수 있으며, 이를 통해 웹 페이지 간의 통신이 개선되었습니다. 또한, 사용자 경험을 더욱 풍부하게 하기 위해 추가적인 디커플링 작업을 통해 팝업 컴포넌트가 더욱 유연하게 조작될 수 있게 했습니다. 사용자의 선택에 따라 다양한 팝업이 순차적으로 로드되고, 이는 효과적인 정보 전달을 가능하게 합니다. 따라서 기업은 사용자에게 실제 활용 가능한 정보를 즉각적으로 제공할 수 있으며, 결과적으로 사용자의 기대를 뛰어넘는 성과를 거둘 수 있게 됩니다.

조화로운 아키텍처 설계로의 진화


플로팅웹뷰 도입은 단순히 사용자 경험을 향상시키는 것을 넘어, 종합적인 아키텍처 설계로의 진화를 가능하게 했습니다. 디커플링 작업을 통해 여러 서비스에 걸쳐 일관된 아키텍처를 적용함으로써, 코드의 중복을 최소화하고 작업의 효율성을 극대화하는 데 기여했습니다. 이는 웹과 네이티브 간의 경계가 희미해지는 가운데, 추후의 확장성과 지속 가능성을 높이는 중요한 요소로 작용합니다. 이 외에도 플로팅웹뷰는 각종 팝업의 효율적인 관리가 가능하도록 하여, 전체적인 시스템의 유연성과 안정성을 강화시켰습니다. 특히, 정교하고 체계적인 구조 덕분에 여러 서비스에서 활용할 수 있는 라이브러리를 개발하게 되어, 향후 유지보수에 필요한 시간과 비용을 절감할 수 있을 것으로 기대됩니다. 또한, 이러한 아키텍처 설계는 팀원 간의 협업을 더욱 수월하게 해주며, 향후 AI 기술과 접목할 경우 보다 효율적으로 작업할 수 있는 기반을 마련해줍니다. 플로팅웹뷰의 성공적인 도입과 이후의 디커플링 작업은 단순히 기술적 측면을 넘어서 비즈니스 측면에서도 긍정적인 영향을 미칠 것입니다.

결국, 플로팅웹뷰는 웹과 네이티브의 조화로운 공존을 통해 사용자에게 혁신적인 탐색 경험을 제공하고, 시스템 아키텍처의 효율성을 증대시키며 커머스 서비스 전반에 긍정적인 변화를 일으켰습니다. 앞으로도 이러한 혁신적인 시도를 통해 사용자의 기대를 뛰어넘는 새로운 서비스를 지속적으로 제공할 수 있도록 노력할 것입니다.

이 블로그의 인기 게시물

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

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

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