Hacker News 의견
  • 여기서 많은 사람들이 필수 기능이나 백업 얘기를 하지만, 진짜 중요한 건 커뮤니티를 만들고 오랫동안 유지할 수 있느냐임
    오픈소스 클라우드 스토리지는 유지보수자가 지치면 금방 사라지기 때문에, 지속 가능한 비즈니스 모델이나 기여자 기반이 기술적 체크리스트만큼 중요함
    상호운용성(interoperability) 도 과소평가됨. WebDAV나 S3를 지원하고 기존 인증 시스템과 연동된다면 팀들이 훨씬 쉽게 시도함
    결국 사람들은 ‘허니문 기간’이 끝나도 사라지지 않을 서비스를 원함. 그건 진행 표시줄 하나 추가하는 것보다 훨씬 어려운 일임

    • 그건 도구의 조직 모델의 약점일 수도 있겠지만, 나는 커뮤니티에 참여하고 싶지 않음. 그냥 잘 작동하길 원할 뿐임
      나는 Syncthing을 쓰는데, 커뮤니티에 참여하라는 말 한 번도 못 들었지만 여전히 잘 돌아감
      Syncthing은 Kastelo라는 회사가 엔터프라이즈 지원을 제공하면서 개발비를 충당하는 듯함
      나도 오픈소스 컨설팅 회사를 운영하는데, 커뮤니티 없이도 기업 계약으로 충분히 유지됨
      커뮤니티도 좋지만, 장기적으로는 비즈니스 모델과 마케팅 전략이 더 중요하다고 생각함
    • 개인적으로는 S3 호환성이 객체 스토리지의 핵심이라 생각함
      S3 API를 지원하는 시스템이라면 어떤 스토리지든 교체가 쉬움. Backblaze, Wasabi, 로컬 S3 API 등 대부분 드롭인 교체 가능함
    • 커뮤니티가 왜 중요한지 모르겠음. 문제를 해결하는 도구라면, 커뮤니티는 단지 유지보수 수단일 뿐임
  • 지금까지 써본 self-hosted 파일 동기화 중에서는 Seafile이 가장 쓸 만했음
    하지만 서버 업그레이드가 여전히 번거로움. NextCloud나 유사한 도구들은 내 기준에서는 완전한 재앙 수준이었음

    • 왜 재앙이라고 생각하는지 궁금함. 우리 회사에서는 NextCloud를 3년째 문제 없이 쓰고 있음
      필요한 플러그인도 다 있고, 성능도 좋고, 동기화도 완벽함. 다른 대안을 시도할 이유가 없을 정도임
    • 나는 Docker 버전으로 Seafile을 돌리는데, 태그만 바꾸면 업그레이드가 아주 쉬움
      예전에는 NextCloud가 큰 리포지토리에서 버벅였고, 더 강력한 머신이 필요했음
      Seafile은 2GB RAM의 ARM 보드에서도 잘 돌아감
    • 최근에 Seafile을 직접 서버에 설치했는데, 백업과 보안 전략을 세우는 데 신경을 많이 씀
      테스트도 철저히 했고, 동기화 속도와 반응성이 놀라울 정도였음
      이제는 Google Drive에서 모든 파일을 옮겨와 메인 클라우드로 사용 중임
    • Resilio도 괜찮음. Syncthing도 좋지만, 내 경험상 Resilio가 더 빠르고 NAT 통과도 잘됨
    • 나도 Seafile과 Seadrive를 수년째 사용 중인데, subst 드라이브 매핑으로 아주 잘 작동함
  • 이름을 Twake Dwive로 했으면 재밌었을 것 같음

  • 다른 사람들이 묻듯이, 이게 NextCloud나 ownCloud와 비교해서 어떤지 궁금함. 그리고 Windows/Mac/Mobile용 클라이언트가 있는지도 알고 싶음

    • ownCloud는 플랫폼별 클라이언트가 다 있지만, 각 플랫폼마다 작은 버그와 신뢰성 문제가 너무 많아서 쓸 수가 없었음
    • NextCloud 설치를 시도했는데, 완전히 고통스러운 경험이었음
    • 내 경험상 NextCloud는 비대한 PHP 괴물 같음. 성능도 떨어지고, Twake는 훨씬 가볍고 범위도 명확해 보임
  • 오픈소스 드라이브 도구의 생사는 세 가지에 달려 있음

    1. 절대 놀라게 하지 않는 단순한 동기화
    2. 비기술자에게도 설명 가능한 충돌 처리
    3. 문제 없는 업그레이드
      Twake가 S3와 LDAP을 지원하면서 이걸 잘 해낸다면 가능성이 있음
      하지만 진짜 어려운 건 신뢰와 문서화임. 명확한 위협 모델, Drive나 Dropbox에서의 마이그레이션 가이드, 그리고 헤드리스 환경에서도 작동하는 작은 CLI가 필요함
    • 여기에 네 번째로 백업 검증의 용이성을 추가하고 싶음
      예전에 회사에서 백업이 활성화되어 있었는데, 막상 복구하려니 전부 손상돼 있었던 적이 있음. 그 이후로는 백업 검증이 최우선임
    • 수동으로 “지금 동기화” 버튼이 있었으면 좋겠음. Google Drive에서는 동기화 상태가 명확하지 않아 답답할 때가 많음
  • 58.9% TypeScript와 32.6% JavaScript로 이런 고성능 앱을 만든다는 게 의문임

    • 그럼 91.5%가 JavaScript 아닌가? TypeScript는 진짜 언어가 아니라는 농담임
    • 이 앱은 I/O 바운드라서 TS/JS로 돌려도 문제없음
    • 백엔드는 TS, 프론트엔드는 JS로 보임. 나는 테스트는 JS로, 앱 코드는 TS로 분리함
      언어 속도보다 병목이 덜한 부분이 더 중요하다고 생각함
    • 요즘 스타트업들이 TS/JS 마이크로서비스로 이벤트 기반 아키텍처를 구축하는 걸 보면, 그 선택이 이상하지 않음
  • 약간 주제에서 벗어나지만, Viber나 WhatsApp이 Google Drive 대신 다른 백업 스토리지를 쓰게 할 방법이 있을까? 루팅해서 인터페이스를 속이는 식으로 가능할지 궁금함

    • Android에서는 단순히 share-target으로 구현 가능함. PWA로도 쉽게 만들 수 있음
  • 이런 시스템에 정말 데이터베이스가 필요한가?
    Unix에서는 사용자와 파일 CRUD, 권한 부여만으로도 충분할 것 같은데, 이런 걸 UI나 API로 감싼 오래된 소프트웨어가 있을까? SAMBA 프로토콜 기반으로라도?

    • 버전 히스토리나 공유 URL 같은 기능을 구현하려면 DB가 필요함.
      또 사용자 그룹 제한을 걸려면 그룹 수 한계(65536개)에 금방 도달함
    • Cockpit을 살펴보면 좋음. Cockpit Applications에서 파일 탐색, 권한 편집, 업로드/다운로드 등 대부분의 기능을 제공함
    • 디스크 작업 캐싱이나 다중 노드 동기화를 위해서는 메타데이터 저장이 필요함. 결국 DB를 안 쓰기 어렵다고 봄
    • 나도 그런 걸 생각해봤는데, Python과 fsspec으로 로컬 또는 S3/SSH 등 다양한 파일시스템을 다루는 Google Drive 스타일 인터페이스가 있으면 좋겠음
    • DB를 쓰면 usersdocuments를 조인하거나, MongoDB 인덱스와 트랜잭션을 활용하기 쉬움
      버전 메타데이터 관리도 간단하고, Windows에서도 해킹하기 쉬움
  • 나는 아마 HN 분위기와 다르겠지만, 내게 가장 중요한 기능은 검색
    수 TB의 데이터를 저장하다 보면 사진 하나 찾기도 힘듦
    “Nothing Street에 있는 두 사람”처럼 검색할 수 있게 이미지 분석을 해주는 기능이 필요함
    지금은 Google이 이 부분에서 압도적으로 뛰어나지만, 다른 클라우드들도 언젠가 따라잡길 바람

  • Syncthing을 한 번 써보길 추천함

    • 나도 Dropbox 학생 할인 끝난 후부터 Syncthing을 써왔음. 수년째 안정적으로 잘 작동함
      다만 모바일 경험은 아직 거칠었음. 그래도 웹 인터페이스로 급할 때 파일을 가져올 수 있음
    • Syncthing은 훌륭하지만, 모바일에서 대용량 파일을 다루기엔 부적합함. 전체 동기화 방식이라 제약이 있음
    • 내가 쓰는 FOSS 중 가장 믿을 수 있는 도구임. 그냥 잘 작동하고, 모든 플랫폼에서 돌아감