오픈AI ‘해비타트’, 초당 7천만 요청…러스트 전환으로 CPU 효율 6배
오픈AI가 온라인 저장 플랫폼 ‘Habitat’의 확장 과정을 공개했습니다. 주간 10억 명 이상이 쓰는 제품을 뒷받침하며 초당 7천만 건 넘는 요청과 500PB 이상 데이터를 처리하고, 핵심 서비스를 Python에서 Rust로 옮겨 CPU 효율 6배·메모리 효율 15배를 달성했다는 설명입니다.

로그인 한 번 뒤에 수백 번 움직이는 저장 계층
오픈AI는 9월 11일 애플리케이션용 온라인 저장 플랫폼 ‘Habitat’의 첫 기술 보고서를 공개했습니다. 로그인, Codex 설정 확인, ChatGPT 대화 시작처럼 단순해 보이는 동작도 응답 전 여러 데이터 조회를 요구합니다. Habitat는 이 경로에서 초당 7천만 건 넘는 요청을 처리하고, 거의 40개 지리적 지역에서 주간 10억 명 이상이 쓰는 제품과 500PB가 넘는 데이터를 뒷받침합니다.
출발점은 2023년 DevDay의 GPTs를 지원하던 작은 Python 클라이언트 라이브러리였습니다. 제품 개발자는 스키마 조회, 라우팅, 권한, 암호화, 직렬화, 요청 제한과 연결 풀을 직접 다루지 않고 간단한 저장·조회 API만 호출했습니다. 아래에서는 Azure Cosmos DB를 중심으로 캐시인 Valkey, 블롭 저장소와 자체 저장 기술 Nanobase가 연결되고 변경 데이터는 Databricks·Rockset·Kafka 등으로 흘러갑니다.
라이브러리에서 독립 서비스로 바꾼 이유
2025년 중반에는 공용 라이브러리 방식이 한계에 닿았습니다. 지역 장애 범위를 줄이기 위한 라우팅 규칙 하나를 바꾸려 해도 수십 개 서비스가 새 클라이언트를 배포해야 했고, 어느 팀의 롤백이 이미 고친 버그까지 되살릴 수 있었습니다. 저장 논리를 독립 서비스로 떼어내자 배포와 관측, 플랫폼 개선을 한곳에서 적용하고 모든 제품이 동시에 혜택을 받는 구조가 됐습니다.
중앙화는 보안에도 직접 연결됩니다. Habitat가 접근 정책, 감사 로그와 기초 저장 자원 접근을 공통으로 강제하면 외부 사용자뿐 아니라 내부 서비스나 에이전트의 과도한 권한도 한 지점에서 제한할 수 있습니다. 다만 새 서비스 계층은 네트워크 왕복과 CPU·메모리 비용을 추가합니다. 오픈AI는 빠른 제품 확장과 API 안정화를 먼저 택하고 Python의 성능 부채는 의도적으로 뒤로 미뤘다고 설명했습니다.
Python을 초당 2천만 요청까지 밀어붙인 교훈
Python 서비스는 정점에 초당 2천만 건 넘는 요청을 처리했습니다. 가장 까다로운 문제는 평균보다 꼬리 지연시간이었습니다. asyncio는 입출력을 겹쳐 실행해도 GIL 아래 CPU 병렬성을 만들지 못합니다. 라우팅·압축·암호화·체크섬 같은 작업이 몰리면 저장소 응답이 이미 왔는데도 코루틴이 다시 스케줄될 때까지 수백 밀리초, 일부 상황에서는 수초를 기다렸습니다. 그래서 프로세스당 동시 요청을 낮추고 작업자 수를 크게 늘렸습니다.
작은 기본값도 대규모에서는 사고가 됐습니다. 모든 작업자가 매분 같은 시각에 거대한 기능 플래그 JSON을 파싱해 지연이 튀자 설정을 줄이고 갱신 주기를 늘리며 지터를 넣었습니다. aiohttp의 LIFO 연결 재사용은 느린 서버가 늦게 돌려준 연결을 다시 먼저 고르는 되먹임을 만들었습니다. FIFO로 바꾸고 Istio·Envoy의 부하 인식 분산, HTTP/2 멀티플렉싱과 회로 차단을 쓰며 이 악순환을 끊었습니다.
덜 강력한 API가 대규모 운영에는 안전했다
Habitat는 임의 SQL, 무제한 스캔이나 복잡한 조인을 허용하지 않고 비용을 예측할 수 있는 단순 NoSQL 작업에 집중합니다. 오픈AI는 조직이 작을 때는 PostgreSQL 쿼리와 스키마 변경을 검토할 수 있었지만 성장 뒤에는 비싼 쿼리 하나가 뜨거운 경로의 데이터베이스를 멈추게 하는 일이 잦았다고 밝혔습니다. 기능을 제한해 수평 분할과 격리, 부하 분산을 훨씬 명확하게 만든 선택입니다.
대신 복잡한 탐색과 분석은 온라인 저장 경로에서 분리합니다. 변경 데이터 캡처로 Rockset 같은 별도 시스템에 거의 실시간 보조 뷰를 만들고 각 팀이 필요한 분석 용량을 책임집니다. 제품 API에는 불편이 조금 늘지만 사용자의 대화·설정 경로가 분석 쿼리 때문에 흔들리는 것을 막습니다. Microsoft도 6월 Build 발표에서 자동 확장과 스키마 유연성 때문에 OpenAI가 Azure Cosmos DB를 주 운영 데이터베이스로 골랐다고 교차 확인했습니다.
두 엔지니어와 코딩 모델이 끝낸 Rust 전환
결국 2026년 2분기, 두 엔지니어가 Codex와 GPT-5.5를 활용해 서비스 전체를 Rust로 다시 작성했습니다. 새 구현은 현재 프로덕션 요청의 95%를 처리하며 Python은 수주 안에 폐기할 예정입니다. 회사가 측정한 결과는 CPU 효율 6배, 메모리 효율 15배였고 평균과 꼬리 지연시간도 크게 낮아졌습니다. 언어 전환 자체보다 API와 운영 경계를 먼저 안정화한 뒤 재작성을 진행한 순서가 성과의 핵심입니다.
수치는 오픈AI 내부 워크로드 기준이므로 모든 Python 서비스를 Rust로 옮기면 같은 이득이 난다는 보편적 벤치마크는 아닙니다. 그럼에도 초고속 성장기에는 익숙한 언어로 제품 경계를 확정하고, 관측 자료로 실제 병목을 좁힌 뒤 더 효율적인 구현으로 교체할 수 있음을 보여 줍니다. 다음 보고서에서는 다중 테넌트 신뢰성, 읽기 최적화와 Cosmos DB 확장 전략이 공개될 예정입니다.
기사가 마음에 드셨다면 하트를 눌러주세요.
기사 읽고, 잠깐 게임 한 판 어떠세요?

공격을 주고받으며 실시간으로 겨루는 AI 블록 대전
미니게임 고르기 ▶