테크레시피

2년 만에 550만명…블루스카이는 어떻게 구축됐나

블루스카이(Bluesky)는 트위터 그러니까 현재 엑스 대체 SNS로 인기를 끌며 공개 2년 만에 사용자 550만 명을 확보하는 등 많은 이들이 사용하고 있다. 엔지니어 14~15명이 구축한 블루스카이는 지금까지 어떻게 구축되어 왔을까.

트위터 대체 SNS로는 마스토돈(Mastodon)이나 스레드(Threads) 등 많은 SNS가 등장했지만 그 중에서도 블루스카이는 누구나 자신만의 서버를 실행할 수 있는 분산형 SNS이며 코드가 오픈소스로 깃허브에 공개되어 있고 베타 버전 발표 12개월 만에 사용자 500만 명을 확보했으며 엔지니어 3명 작은 팀에서 시작해 지금도 14~15명밖에 없는 특징을 갖고 있다.

블루스카이 개발은 2022년부터 시작됐다. 2022년 1∼10월까지 프로젝트 초기 10개월간은 조사를 주로 진행했다고 한다. 2022년에는 일론 머스크에 의한 트위터 인수라는 큰 이벤트도 발생했다.

일론 머스크 인수 발표 며칠 만에 블루스카이는 앱 대기 리스트 등록을 시작했다. 블루스카이 모바일 앱은 원래 프로토콜이 제대로 작동하는지 확인하기 위한 프로토타입이었으며 목적을 달성하면 폐기될 예정이었지만 트위터 인수 뉴스로 인해 예기치 못한 관심이 높아져 1명이 만든 모바일 앱이 제품 버전 앱으로 전환되고 말았다.

지금까지의 역사를 3단계로 나누면 2022년에는 다양한 실험을 했고 2023년에는 초대 한정으로 출시했다. 2024년에는 공개 출시를 준비하고 분산 네트워크의 페더레이션을 가능케 하기 위해 아키텍처를 업데이트했다고 한다.

또 정식 릴리스를 앞두고 로고를 새롭게 바꿨다. 트위터, 인스타그램, 틱톡, 유튜브 등 기존 소셜 미디어 플랫폼과 달리 블루스카이는 사용자를 웹사이트나 앱에 잡아두지 않고 자유롭게 앱이나 웹사이트를 선택할 수 있다. 이런 자유와 변화를 상징하는 나비 로고가 채택됐다고 한다.

블루스카이 CEO 제이 그레이버가 비전에 대해 발표한 프레젠테이션에도 블루스카이 개발에는 기존 SNS보다 사용 편의성, 확장성, 기능에 대해 개발자 경험에서 뛰어나야 한다, 앱 개발과 프로토콜 개발을 통합한다, 아이디어나 디자인이 잘 되지 않으면 곧바로 버린다는 원칙이 채택됐다고 밝혔다. 초기 개발 단계에선 인프라로 AWS를 사용하고 DB에 PostgreSQL을 사용하기로 했다. 처음에는 블루스카이 아키텍처가 개인 데이터 서버(PDS) 단일 형태로 통합되어 있었다.

블루스카이 개발팀은 PDS에 통합되어 있던 서비스를 작은 부분으로 분할하고 오픈 네트워크 대상 아키텍처 모듈화에 착수했다고 한다. 먼저 피드 제너레이터 서비스가 분할되어 제3자가 자체 알고리즘을 사용해 피드를 생성할 수 있게 됐다. 이어 뷰와 관련된 모든 걸 앱뷰(Appview) 서비스로 이전해 웹앱이나 모바일앱에 데이터를 전송할 때 다른 시스템 부담을 줄였다.

더불어 향후 블루스카이 네트워크에 수백에서 수천 개 PDS가 참여하는 상황에 대비해 데이터를 주고받을 수 있도록 중계기가 도입됐다. 또 완전한 페더레이션을 구현하기 위해 아키텍처를 v2로 업데이트했다. 내부적으로 페더레이션을 구성하고 페더레이션이 정상적으로 이뤄지는지 확인했다. 2024년 2월에는 외부 페더레이션 서버 크롤링을 시작했다. 이후 2024년 3월 오존(Ozone)이라는 모더레이션 서비스가 추가되어 사용자가 자체 모더레이션을 할 수 있게 됐다.

사용자가 늘어나며 데이터베이스 확장에 문제가 생겨 개발팀은 PostgreSQL에서 ScyllaDB, SQLite로 데이터베이스를 이전했다. 이에 대해 개발팀은 초기에는 데이터에 어떤 쿼리를 할지 정확히 알지 못해 PostgreSQL을 사용했지만 지금은 필요한 데이터와 쿼리를 이해할 수 있게 되어 ScyllaDB에서 인덱스를 만들고 API를 제공할 수 있게 됐다고 설명했다.

인프라 부분에서도 처음에는 AWS를 사용했지만 2023년 6월까지 온프레미스로 전환해 비용을 몇 분의 1로 줄였다고 한다. 블루스카이 개발팀 관계자에 따르면 블루스카이 데이터센터는 2곳이 있는데, 하나는 샌프란시스코 베이에리어, 다른 하나는 브라질리아에 있다고 한다. 데이터센터마다 빅서버 30대가 있으며 각 서버에서 AMD 서버 CPU인 에픽 4세대 모델(EPYC Genoa)이 작동한다고 한다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사