Stelia가 오픈소스로 공개한 async-ceph: Ceph를 위한 비동기 Rust 바인딩
요약
Stelia가 Ceph의 RADOS, RBD 및 CephFS 라이브러리에 대한 비동기 Rust 바인딩 라이브러리 'async-ceph'를 오픈소스로 공개했습니다. 이 라이브러리는 성능과 신뢰성이 중요한 시스템 설계에서 Rust 애플리케이션이 Ceph의 객체, 블록, 파일 스토리지 인터페이스 전반에 걸쳐 작동할 수 있도록 격차를 해소합니다.
핵심 포인트
- Rust와 Ceph 간의 기술적 격차를 해결하는 라이브러리입니다.
- Ceph의 핵심 기능(RADOS, RBD, CephFS)을 비동기 Rust 인터페이스로 제공합니다.
- 성능과 신뢰성이 중요한 시스템에 활용될 수 있습니다.
- Stelia 내부 개발 소프트웨어 중 최초로 오픈소스로 공개되었습니다.
Ceph의 RADOS, RBD 및 CephFS 라이브러리 전반에 걸쳐 객체, 블록, 파일 스토리지를 위한 비동기 Rust 인터페이스를 제공합니다.
Stelia는 Ceph의 RADOS, RBD 및 CephFS 라이브러리에 대한 비동기 Rust 바인딩을 제공하는 새로운 라이브러리 async-ceph [1]를 오픈소스로 공개했습니다.
이것은 Stelia가 자체적으로 개발한 소프트웨어 중 가장 먼저 오픈소스로 출시된 것이며, 시스템에서 중요한 역할을 하는 두 기술: Rust와 Ceph를 함께 사용하면서 겪었던 격차를 해소하기 위해 구축되었습니다.
저희는 스토리지 계층의 일부로 Ceph를 사용하며, 그 분산 아키텍처와 확장성은 까다로운 AI 워크로드에 적합합니다. Rust 역시 시스템 설계 내에서 비슷한 입지를 확보했습니다 여기서는 성능, 신뢰성, 저수준 제어(low-level control)가 중요하기 때문입니다.
두 기술 모두 그 자체로 강력한 기반이지만, 이를 함께 사용하는 것은 실질적인 과제를 제시했습니다.
Ceph의 라이브러리는 주로 C와 C++로 작성된 반면, 저희 자체 엔지니어링의 상당 부분은 Rust를 사용합니다. 따라서 Rust로 작성된 애플리케이션이 Ceph의 네이티브 라이브러리와 인터페이스할 방법이 필요했습니다. 기존 구현체는 RADOS에만 국한되었고 비동기 Rust 함수를 통해 기능을 노출하지 않았으며, 저희가 필요했던 것은 비동기 우선(async-first) 바인딩이었고 주로 RBD와 CephFS API를 사용해야 했습니다.
저희는 이 격차를 해소하기 위해 async-ceph를 구축했습니다.
이 라이브러리는 해당 Ceph 기능에 대한 비동기 Rust 인터페이스를 제공하여, Rust 애플리케이션이 Ceph의 객체, 블록 및 파일 스토리지 인터페이스 전반에서 작동할 수 있도록 합니다.
현재 GitHub에서 오픈소프트웨어로 이용 가능합니다: async-ceph.
기반 기술이 중요합니다
현대 기술 환경의 상당 부분은 오픈소스 기술을 기반으로 구축되었으며, Stelia 역시 예외는 아닙니다. 우리가 오늘날 구축하는 시스템들은 처음부터 원리(first principles)를 시작하기보다는 이미 오픈된 영역에서 수십 년간 개발된 엔지니어링 작업들을 활용할 수 있기 때문에 가능합니다.
이러한 누적적인 모델이야말로 오픈소스가 매우 가치 있는 이유 중 하나입니다. 한 조직이 문제를 해결하고 그 결과물을 공개하여, 다른 사람들이 다음에 구축하는 모든 것에 더 강력한 출발점을 제공할 수 있게 합니다.
저희는 이전에 오픈소스 프로젝트에 수정 및 개선 사항을 기여해 왔지만, async-ceph는 Stelia 내부에서 처음부터 개발된 소프트웨어를 출판하는 첫 사례입니다. 이는 저희 자체 시스템에 필요했던 역량이었지만, 이제는 그 범위를 넘어 사용되고 개발될 수 있습니다.
더 넓은 관점에서 볼 때, 이는 엔지니어링에서 오픈소스가 수행해야 할 역할에 대한 저희의 생각을 반영합니다. 즉, 적절한 기반이 되는 확립된 오픈 기술을 활용하고, 우리가 의존하는 프로젝트에 기여하며, 자체 작업물이 더 광범위하게 적용될 수 있는 곳에서는 이를 공개하는 것입니다.
향후 계획
async-ceph는 저희가 직접 사용하고 확장함에 따라 계속해서 오픈으로 개발될 것이며, 오픈소스 커뮤니티의 다른 분들이 이를 사용하고 기여해 주시기를 환영합니다.
또한 이는 Stelia에서 개발된 더 많은 기술이 이러한 방식으로 공개되기 시작하는 것에 불과합니다.
프로덕션급 AI 시스템을 구축한다는 것은 기존 기술들을 새로운 환경으로 밀어 넣는 것을 의미하며, 필연적으로 우리가 필요로 하는 역량이 아직 존재하지 않는 지점을 발견하게 됩니다. 우리가 그러한 격차를 해소하기 위해 무언가를 구축했고 그것이 자체 시스템 외의 가치를 가진다면, 저희는 계속해서 그 작업물을 공개하고자 합니다.
GitHub에서 async-ceph를 확인하세요 여기.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기