brunch

매거진 oxopolitics

You can make anything
by writing

C.S.Lewis

by 유호현 Dec 06. 2022

37. 옥소폴리틱스 Tech Stack 업데이트

가장 효율적인 기술 스택을 찾아서..

Google Firebase Backend


옥소폴리틱스는 구글 클라우드에 기반한 파이어베이스(Firebase) 프레임워크를 이용하여 서비스를 만들어 왔습니다. Firebase는 MAU가 20만에 달하는 현재 월 $2000 내외의 비용만 나올 만큼 극강의 가성비를 자랑합니다. 게다가 구글 스타트업 프로그램에 지원하여 최대 $10만 (1억 4천만 원) 까지는 무료로 쓸 수 있습니다.


Firebase는 Realtime No-SQL Database인 Firestore를 사용하는 것을 권장하고 있으며 저도 Firestore를 강추합니다. MySQL 등 SQL에 익숙해지신 분들에게는 어렵게 느껴질 수 있지만 데이터 중심의 프로덕트를 만들고 있는 옥소폴리틱스에게도 원칙만 잘 숙지하면 전혀 문제없는 백엔드 시스템이라고 할 수 있습니다. 


또한 백엔드 서버가 없는 Serverless 구조입니다. Serverless는 서버 컴퓨터를 임대하여 해당 컴퓨터에 우리 서버 소프트웨어를 설치하고 관리하는 기존의 구조와 달리 서버들은 클라우드 제공자에서 관리하고 사용자는 API를 통해서 서비스를 호출하는 만큼만 돈을 내는 구조입니다. 


Serverless 구조의 큰 장점은 다음과 같습니다.


1. 서버가 과부하가 걸릴 일이 없습니다. 


서버를 직접 관리할 때에는 트래픽이 많아지면 서버를 늘려야 합니다. 그 관리가 사실 상당히 까다로운 일이며 백엔드 엔지니어들이 하는 주요 업무 중에 하나입니다. 사용자가 많아지면 서버가 터진다는 이야기도 서버를 직접 관리할 때 생깁니다.


Serverless 구조에서는 사용자가 많든 적든 구글에서 트래픽을 대부분의 경우 문제없이 받아냅니다. 그러므로 옥소폴리틱스 서비스에서 서버가 느린 경우는 서버 비용을 많이 안 들여서가 아니라 최적의 코딩을 하지 못해서인 경우가 대부분입니다. 


2. 서버 관리자가 필요 없습니다.


서버 관리자는 Docker Image를 만들어서 Kubernates로 deploy를 하고 어쩌고저쩌고 복잡한 일들을 하는 사람들입니다. 실리콘밸리에서도 상당히 비싼 분들인데요 그분들 직업이 없어지는 클라우드 서비스 때문에 없어질 위기에 처해 있습니다.


파이어베이스 덕분에 옥소폴리틱스의 백엔드 개발자는 1명, CEO이자 CTO인 제가 겸하고 있습니다.


프론트엔드의 변화

웹과 앱 기술이 발전함에 따라 프론트엔드 기술에는 정말 많은 변화가 있었습니다. 그에 따라 엔지니어링 리소스의 차이도 많이 발생하였습니다.


2020년 Tech Stack


2020년에는 Flutter가 아직 주요 프레임워크로 자리잡기 전이었습니다. 그 당시 대세였던 React를 이용하여 웹을 만들었습니다. 모바일 앱은 리엑트 웹을 그대로 보여주는 껍데기만 있는 웹 브라우저 기반 앱이었습니다. 이때에는 앱 엔지니어 1명, 웹 엔지니어 2명, 백엔드 엔지니어 1명이 함께 일 했었습니다.


데이터베이스는 FIrestore로, 백엔드 API 서버는 Firebase Cloud Function으로, 검색 서비스는 Alogolia로 만들었습니다. 그 외에 Firebase에서는 Google Analytics, BigQuery back up 등을 클릭 몇 번으로 쉽게 활용할 수 있도록 제공합니다.



2022년 초 Tech Stack


2021년에 옥소폴리틱스는 SSR (서버 사이드 렌더링)을 통해 SEO (검색 엔진 최적화)를 해야겠다는 결론을 내고 next.js로의 전환을 시도합니다. 검색 엔진 결과에 더 잘 걸리게 하려고 한 시도였습니다. 그리고 플러터를 통해 네이티브 앱 경험을 만들었습니다. 그 이전에는 웹 기반 앱이라 아무래도 진짜 앱에 비해서는 별로 사용 경험이 안 좋았는데요, 플러터가 도입되면서 앱 경험이 비약적으로 좋아졌습니다. (물론 그래도 좋은 UX를 향한 여정은 끝이 없습니다. ㅠㅜ)


이때에는 웹 엔지니어 4명, 플러터 앱 개발자 4명, 백엔드 엔지니어 1명이 함께 일을 했습니다.


2022년 12월 Tech Stack

그런데 2달 정도 엔지니어 4명의 시간을 들여 힘겹게 SEO를 하고 나니 우리가 검색 엔진 최적화를 해 봤자 정치적 검색어 등에서 뉴스 사이트를 이길 가능성은 거의 없다는 것을 깨달아버렸습니다. "윤석열"이라고 쳤을 때 옥소폴리틱스가 나올 가능성은 구글이나 네이버에 검색어 광고를 하지 않는 이상은 거의 불가능하다는 것을 깨달았습니다.


마침 플러터로 웹도 만들 수 있다는 소식이 들려왔고, 내부 테스트에서 꽤 성공적으로 플러터 웹 테스트를 마칠 수 있었습니다. 그리고 투자 상황이 악화되면서 많은 엔지니어분들과도 작별을 고해야 했습니다.


지금은 플러터 개발자 2명, 백엔드 엔지니어 1명이 옥소폴리틱스 웹과 앱을 만들고 있습니다. 


개발 자원과 서버 비용을 아껴야 하는 스타트업이라면 플러터-파이어베이스 조합을 추천합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari