POOOLING FOREST
클라우드 시대에 물리 서버를 직접 껴안는다는 것의 의미 - 클라우드 시대에도 결국 소프트웨어는 물리적인 기계 위에서 돌아갑니다. 12년 만에 서버를 교체한 F-Droi
Engineering & Tech

클라우드 시대에 물리 서버를 직접 껴안는다는 것의 의미

클라우드 시대에도 결국 소프트웨어는 물리적인 기계 위에서 돌아갑니다. 12년 만에 서버를 교체한 F-Droid의 사례를 통해 인프라의 투명성과 신뢰, 그리고 하드웨어의 중요성을 짚어봅니다.

김영태

테크리드

안녕하세요. 풀링포레스트 테크리드 김영태입니다.

요즘 우리는 클릭 몇 번이나 Terraform 스크립트 한 줄이면 서버 수십 대가 뚝딱 생성되는 세상에 살고 있습니다. AWS나 GCP 같은 퍼블릭 클라우드 덕분에 '하드웨어'라는 존재는 개발자들의 인식 저편으로 사라져 버렸죠. 하지만 최근 접한 오픈소스 진영의 소식 하나가 저에게 "결국 소프트웨어는 물리적인 기계 위에서 돌아간다"라는 새삼스럽지만 묵직한 진실을 일깨워주었습니다. 바로 F-Droid의 메인 서버 교체 이야기입니다.

오픈소스 안드로이드 앱 저장소인 F-Droid가 최근 그들의 심장과도 같은 빌드 서버를 교체했습니다. 놀랍게도 기존 서버는 무려 12년 된 하드웨어였고, 실가동 기간만 5년이 넘었다고 합니다. 인프라 관점에서 12년 된 장비란, 거의 유물 발굴 현장에서나 볼 법한 수준입니다.

저도 주니어 시절, IDC(인터넷 데이터 센터) 구석에서 굉음을 내는 랙 서버를 직접 설치해 본 경험이 있습니다. 그때 뼈저리게 느꼈던 건, 물리 서버 교체는 단순히 "새 컴퓨터 샀다"는 차원이 아니라는 점입니다. F-Droid 팀 역시 이번 교체 과정에서 글로벌 공급망 이슈라는 거대한 벽에 부딪혔다고 합니다. 무역 긴장으로 인해 신뢰할 수 있는 부품을 구하는 것 자체가 미션 임파서블이 된 것이죠. 견적을 받고, 부품이 없어서 재설계하고, 다시 기다리는 지난한 과정을 겪었다는 대목에서는 남 일 같지가 않아 한숨이 나왔습니다. 우리가 AWS 콘솔에서 인스턴스 타입을 변경하는 그 쉬운 행위 뒤에는, 누군가의 이런 피땀 어린 노력이 숨어 있다는 걸 잊지 말아야 합니다.

더 흥미로운 점은 그들의 호스팅 방식입니다. F-Droid는 익명의 거대 데이터 센터에 서버를 맡기지 않았습니다. 대신 프로젝트에 오랫동안 기여해 온, 신뢰할 수 있는 '사람'이 물리적으로 서버를 보관하고 관리하는 방식을 택했습니다. 보안 위협 모델(Threat Model) 관점에서 볼 때, 이는 엄청난 결단입니다. 서버가 정확히 어디에 있고, 누가 그 방에 들어갈 수 있는지를 안다는 것. 이것은 클라우드 서비스가 제공하는 편리함과는 정반대 지점에 있는, '투명성'과 '신뢰'에 기반한 불편함입니다. 하지만 그 불편함이 바로 보안과 자주성을 지키는 핵심이라는 점을 그들은 알고 있었습니다.

하드웨어 교체의 효과는 극적이었습니다. 기존에는 앱 업데이트가 사용자에게 도달하기까지 3~4일이 걸렸지만, 새 서버 도입 후에는 하루에 두 번씩 배포 사이클이 돌고 있다고 합니다. CI/CD 파이프라인의 속도가 곧 개발 생산성이자 사용자 경험이라는 사실을 이보다 더 잘 보여주는 사례가 있을까요? 10월부터 배포 주기가 2일로 줄더니, 12월에는 하루 2회까지 단축된 그래프를 보며 저는 묘한 카타르시스를 느꼈습니다. 레거시 청산이 가져다주는 이 짜릿함, 개발자라면 다들 공감하실 겁니다.

이번 사례를 보며 풀링포레스트의 인프라도 다시 한번 돌아보게 되었습니다. 우리는 클라우드를 쓰지만, 그 기저에 있는 리소스 관리와 보안 모델에 대해 얼마나 깊이 고민하고 있을까요? 단순히 편해서 쓰는 것이 아니라, 우리가 통제할 수 있는 범위와 리스크를 명확히 인지하고 있는지 자문해 봅니다.

기술은 결국 사람을 향하고, 그 기술을 지탱하는 것 역시 사람과 신뢰입니다. 12년 묵은 서버를 떠나보내며 "더 빠른 심장"을 얻었다고 기뻐하는 F-Droid 팀에게, 그리고 그 서버를 묵묵히 지켜온 기여자들에게 동료 개발자로서 존경의 박수를 보냅니다. 여러분도 오늘 하루, 추상화된 API 뒤에서 묵묵히 돌아가고 있을 물리 서버와 인프라 엔지니어들의 노고를 한 번쯤 떠올려보시면 좋겠습니다.

지금 읽으신 내용, 귀사에 적용해보고 싶으신가요?

상황과 목표를 알려주시면 가능한 옵션과 현실적인 도입 경로를 제안해드립니다.