GN⁺: Supabase가 관리하는 Fly Postgres
(supabase.com)Supabase와 Fly.io가 함께하는 Fly Postgres 출시
- Supabase와 Fly.io가 협력하여 관리형 Postgres 서비스인 Fly Postgres를 출시함.
- Fly.io의 엣지 컴퓨팅 플랫폼에서 37개 이상의 위치 중 어디서나 데이터베이스를 시작할 수 있음.
- Supabase 관리 데이터베이스에서 기대할 수 있는 모든 기능을 제공함: 40개 이상의 확장 기능을 갖춘 완전한 기능의 Postgres 데이터베이스, 벡터/AI 워크로드를 위한 pgvector 지원, Supavisor(Postgres 연결 풀러), 일일 백업 및 시점 복구, 브랜칭, 관찰 가능성, 마이그레이션, 데이터베이스 관리 대시보드, 자동 생성된 데이터 API (REST 및 GraphQL).
기대 관리
- 이 서비스는 점진적으로 출시될 예정임.
- 회사 간 통합을 구축하는 것은 청구, 지원 이양, Supabase 직원 교육 등을 고려할 때 많은 작업이 필요함.
- 초기 테스터와 함께 작업 중이며, 몇 가지 버그를 수정해야 함.
- 테스트를 돕고 싶다면 대기자 명단에 등록할 수 있으며, 다음 달에 더 많은 테스터를 받아들일 예정임.
Supabase + Fly = SupaFly?
- 이 파트너십이 2024년에 전 세계에 Postgres를 배포하는 것을 의미하는 것에 대해 기대하고 있음.
- Firecracker VM은 Postgres에 대한 몇 가지 흥미로운 아이디어를 제공함.
- Fly와의 통합은 데이터베이스 바로 옆에 쉽게 구축할 수 있는 컴퓨팅 자원을 제공함.
관리형 대 비관리형 Postgres
- Fly의 현재 Postgres 제공은 비관리형임.
- 비관리형은 스케일링, 시점 복구, 복제, 주요 버전 업그레이드 등을 사용자가 직접 관리해야 함.
- 관리형 Postgres는 이러한 작업을 대신 처리해주므로 사용자는 빌딩에 집중할 수 있음.
- 관리형 서비스는 Fly 확장 API를 사용하여 구축되며, 테스터는
fly extensions
명령을 사용하여 Postgres 데이터베이스를 시작할 수 있음.
내부 구조
Fly 기계와 함께 작업
- Fly Postgres는 Fly 기계 위에 구축됨.
- 기계는 가벼운 Firecracker VM임.
- 기계 API는 애플리케이션의 생명주기에 대한 상당한 제어를 제공함.
- fly-admin은 Fly API와의 상호 작용을 단순화하는 Typescript 래퍼임.
- Supabase는 몇 가지 추가 서비스를 Postgres에 번들로 제공하므로 단일 Docker 이미지를 Fly 기계 API에 전달할 수 있음.
멀티 클라우드로 이동
- 이 출시로 Supabase는 공식적으로 멀티 클라우드가 됨.
- Supabase는 멀티 클라우드 전환을 단순화하기 위해 AWS의 관리 서비스 사용을 피함.
- 예를 들어, Fly 기계는 사용하지 않을 때 VM을 일시 중지하는 간단한 방법을 제공함.
- 반면, Fly가 제공하지 않는 몇 가지 AWS 기본 기능을 우회해야 함.
Fly 확장 구축
- Fly는 플랫폼을 확장하는 뛰어난 접근 방식을 가지고 있음.
- 사용자와 프로젝트를 프로비저닝하기 위해 API에 몇 가지 경로를 추가함.
도전 과제
- Fly 팀과 함께 몇 가지 도전 과제를 해결 중임.
네트워크 제한 지원
- 네트워크 제한 기능은 컨테이너가 클라이언트의 올바른 IP를 받는 것에 의존함.
- 현재 설정에서는 컨테이너가 Fly 프록시 IP를 볼 수 있음.
Fly 내 백업
- Fly 프로젝트는 Fly가 관리하는 Blob 스토리지를 아직 제공하지 않기 때문에 AWS S3에 백업됨.
시작하기
- 미리보기에 등록하고, 조직이 허용 목록에 추가될 때까지 기다린 후, 문서의 Quickstart를 사용하여 시작할 수 있음.
- Fly 조직은 하나의 무료 프로젝트를 받게 됨.
- 청구에 관한 세부 사항은 아직 작업 중이지만, 가격은 현재 가격과 크게 달라지지 않을 예정임.
GN⁺의 의견
- 이 기사에서 가장 중요한 것은 Supabase와 Fly.io의 협력을 통해 전 세계적으로 분산된 관리형 Postgres 서비스를 제공한다는 점임. 이는 개발자들이 데이터베이스 관리에 드는 시간을 줄이고, 애플리케이션 개발에 더 집중할 수 있게 해줄 것임.
- 기사가 흥미로운 이유는 클라우드 컴퓨팅과 데이터베이스 관리의 최신 동향을 반영하고 있으며, 멀티 클라우드 전략과 엣지 컴퓨팅의 결합이라는 새로운 기술적 접근 방식을 소개하기 때문임.
- 이 서비스는 특히 데이터 집약적인 애플리케이션을 Fly 플랫폼에서 배포하는 개발자들에게 낮은 지연 시간과 향상된 성능을 제공할 것으로 기대됨.
Hacker News 의견
-
Supabase CEO의 발표:
- 현재 Fly의 Postgres 서비스는 관리되지 않는 상태이며, Supabase는 Fly와 협력하여 관리형 서비스를 제공하기 위해 노력 중임.
- Supabase는 고가용성(HA) 기능을 테스터들과 함께 출시하기 위해 작업 중이나, 아직 확정된 일정은 없음.
- CEO는 질문이나 댓글에 답변할 준비가 되어 있음.
-
Supabase에 대한 혼란:
- 한 사용자는 Supabase를 살펴보았지만, 기본 REST API를 구현하는 방법에 혼란을 느낌.
- Supabase는 생성된 테이블과 상호작용하는 API를 자동 생성하는데, 비즈니스 로직이 어디에 존재하는지 명확하지 않음.
- 사용자는 edge 함수를 확인했지만, 그것이 비즈니스 로직을 위한 용도로 사용되는지 예제들이 명확히 설명하지 않아 이해에 어려움을 겪음.
-
Fly.io와의 경험:
- 다른 사용자는 Fly.io에서 Booklet을 구축하고 있으며, Fly의 Postgres를 사용하여 앱을 분산시키고자 함.
- Fly의 Postgres 설정에 문제가 있으며, 특히 HAProxy가 30분 연결 시간 제한으로 인해 연결이 끊어지는 문제를 겪고 있음.
- 새로운 Postgres 서비스에서도 같은 HAProxy 설정이 적용될지에 대한 질문이 있음.
-
Fly.io 문서에서의 발견:
- 또 다른 사용자는 Fly.io의 문서에서 'Fly의 Postgres'와 'Supabase의 Postgres'가 나란히 있음을 발견하고 이전에 해커뉴스에서 보지 못한 것에 놀람.
- Fly에서 앱을 배포하고 Postgres를 사용하고 싶을 때 어떤 것을 사용해야 하는지 비교가 제공되지 않아 혼란스러움.
- 사용자는 Fly에서 DBMS를 사용하고 싶다면 LiteFS 분산 SQLite를 사용할 것이며, Postgres가 필요하다면 Fly와 Supabase의 차이는 관리되는 서비스와 관리되지 않는 서비스의 차이라고 생각함.
-
Supabase의 네트워크 제한 설정:
- 한 사용자는 Supabase의 네트워크 제한 설정을 좋아하지 않으며, Fly 앱의 IP를 Supabase에 노출시키고 이를 제한하는 데 어려움이 있었음.
- Supabase가 Fly 네트워크 내부에 실제로 존재하는 것은 좋은 변화라고 생각함.
-
Supabase의 확장성 문제:
- Supabase가 프로토타입 프로젝트를 넘어서는 확장성에 문제가 있다는 소문이 있으며, 실제로 프로덕션 경험이 있는 사용자의 의견을 묻는 댓글이 있음.
-
Fly 볼륨과 네트워크 연결 스토리지의 차이:
- Fly 기계는 네트워크 연결 스토리지가 없으며, Fly 볼륨의 데이터를 일시적인 것으로 간주함.
- AWS나 네트워크 연결 스토리지에 익숙하지 않은 사용자가 Fly 볼륨과 다른 제공업체의 네트워크 연결 스토리지 간의 차이점에 대해 설명을 요청함.
- Fly 볼륨을 생성하면 같은 지역의 다른 서버로 이동할 수 있으므로 기술적으로 네트워크 연결 스토리지라고 생각함.
-
Supabase와 Fly.io의 협력에 대한 기대:
- 한 사용자는 현재 Fly에서 큰 데이터베이스를 운영하고 있으며, 관리형 Postgres를 찾고 있음.
- 완전한 Elixir 샵을 운영하고 있으며, 이 협력이 매우 적절한 시기에 이루어졌다고 생각함.
-
Fly.io 팀의 대응:
- Fly.io 팀의 Joshua가 이 통합에 대한 질문에 답변할 준비가 되어 있음을 밝힘.
-
'SupaFly' 참조에 대한 댓글:
- 'SupaFly' 참조를 이해하지 못한 사람들을 위해 재미있는 비디오 링크를 공유하는 댓글이 있음.