2 คะแนน โดย GN⁺ 2023-12-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เปิดตัว Fly Postgres จากความร่วมมือระหว่าง Supabase และ Fly.io

  • Supabase และ Fly.io ร่วมมือกันเปิดตัว Fly Postgres ซึ่งเป็นบริการ Postgres แบบมีผู้ดูแล
  • สามารถเริ่มต้นฐานข้อมูลได้จากตำแหน่งที่ตั้งมากกว่า 37 แห่งบนแพลตฟอร์ม edge computing ของ Fly.io
  • มาพร้อมทุกความสามารถที่คาดหวังจากฐานข้อมูลแบบมีผู้ดูแลของ Supabase: ฐานข้อมูล Postgres แบบฟีเจอร์ครบพร้อมส่วนขยายมากกว่า 40 รายการ, รองรับ pgvector สำหรับเวิร์กโหลดเวกเตอร์/AI, Supavisor (ตัวพูลการเชื่อมต่อ Postgres), การสำรองข้อมูลรายวันและการกู้คืนแบบ point-in-time, branching, observability, migrations, แดชบอร์ดจัดการฐานข้อมูล, และ Data API ที่สร้างให้อัตโนมัติ (REST และ GraphQL)

การจัดการความคาดหวัง

  • บริการนี้จะทยอยเปิดให้ใช้งาน
  • การสร้างการผสานรวมระหว่างสองบริษัทต้องใช้ความพยายามมาก โดยต้องคำนึงถึงเรื่องการเรียกเก็บเงิน การส่งต่องานซัพพอร์ต การฝึกอบรมพนักงานของ Supabase และอื่น ๆ
  • ขณะนี้กำลังทำงานร่วมกับผู้ทดสอบกลุ่มแรก และยังมีบั๊กบางส่วนที่ต้องแก้ไข
  • หากต้องการช่วยทดสอบ สามารถลงชื่อใน waiting list ได้ และในเดือนหน้าจะเปิดรับผู้ทดสอบเพิ่ม

Supabase + Fly = SupaFly?

  • ทั้งสองฝ่ายตื่นเต้นกับความหมายของความร่วมมือนี้ต่อการนำ Postgres ไปใช้งานทั่วโลกในปี 2024
  • Firecracker VM เปิดไอเดียที่น่าสนใจบางอย่างสำหรับ Postgres
  • การผสานรวมกับ Fly ช่วยมอบทรัพยากรคอมพิวต์ที่สร้างได้ง่ายติดกับฐานข้อมูลโดยตรง

Postgres แบบมีผู้ดูแล เทียบกับแบบไม่มีผู้ดูแล

  • ข้อเสนอ Postgres ปัจจุบันของ Fly เป็นแบบไม่มีผู้ดูแล
  • แบบไม่มีผู้ดูแลหมายความว่าผู้ใช้ต้องจัดการเรื่องการสเกล การกู้คืนแบบ point-in-time การทำ replication การอัปเกรดเวอร์ชันหลัก และอื่น ๆ ด้วยตนเอง
  • Postgres แบบมีผู้ดูแลจะรับหน้าที่เหล่านี้แทน ทำให้ผู้ใช้โฟกัสกับการสร้างแอปได้มากขึ้น
  • บริการแบบมีผู้ดูแลนี้สร้างขึ้นด้วย Fly Extensions API และผู้ทดสอบสามารถเริ่มฐานข้อมูล Postgres ได้ด้วยคำสั่ง fly extensions

โครงสร้างภายใน

การทำงานร่วมกับ Fly Machines

  • Fly Postgres สร้างอยู่บน Fly Machines
  • Machines คือ Firecracker VM น้ำหนักเบา
  • Machines API มอบการควบคุมวงจรชีวิตของแอปพลิเคชันได้อย่างมาก
  • fly-admin คือ Typescript wrapper ที่ช่วยให้การโต้ตอบกับ Fly API ง่ายขึ้น
  • Supabase รวมบริการเพิ่มเติมบางอย่างเข้าไปกับ Postgres จึงสามารถส่ง Docker image เดียวไปยัง Fly Machines API ได้

ก้าวสู่มัลติคลาวด์

  • การเปิดตัวครั้งนี้ทำให้ Supabase กลายเป็นมัลติคลาวด์อย่างเป็นทางการ
  • Supabase หลีกเลี่ยงการใช้ managed service ของ AWS เพื่อให้การเปลี่ยนผ่านสู่มัลติคลาวด์ง่ายขึ้น
  • ตัวอย่างเช่น Fly Machines มีวิธีง่าย ๆ ในการหยุดพัก VM เมื่อไม่ได้ใช้งาน
  • ในทางกลับกัน ก็ต้องหาทางอ้อมสำหรับความสามารถพื้นฐานบางอย่างของ AWS ที่ Fly ยังไม่มีให้

การสร้าง Fly Extensions

  • Fly มีแนวทางที่ยอดเยี่ยมในการขยายแพลตฟอร์ม
  • ได้เพิ่มเส้นทางบางส่วนใน API เพื่อจัดเตรียมผู้ใช้และโปรเจ็กต์

ความท้าทาย

  • กำลังร่วมมือกับทีม Fly เพื่อแก้ไขความท้าทายบางประการ

การรองรับข้อจำกัดด้านเครือข่าย

  • ฟีเจอร์จำกัดเครือข่ายอาศัยการที่คอนเทนเนอร์ได้รับ IP ที่ถูกต้องของไคลเอนต์
  • ในการตั้งค่าปัจจุบัน คอนเทนเนอร์จะมองเห็น IP ของ Fly proxy

การสำรองข้อมูลภายใน Fly

  • โปรเจ็กต์บน Fly สำรองข้อมูลไปยัง AWS S3 เพราะ Fly ยังไม่มี Blob storage แบบที่ Fly ดูแลเองให้ใช้งาน

เริ่มต้นใช้งาน

  • สามารถสมัครพรีวิว รอให้องค์กรของคุณถูกเพิ่มเข้า allowlist แล้วเริ่มต้นด้วย Quickstart ในเอกสารได้
  • องค์กรบน Fly จะได้รับโปรเจ็กต์ฟรี 1 โปรเจ็กต์
  • รายละเอียดเรื่องการเรียกเก็บเงินยังอยู่ระหว่างดำเนินการ แต่คาดว่าราคาจะไม่ต่างจากราคาปัจจุบันมากนัก

ความเห็นของ GN⁺

  • ประเด็นสำคัญที่สุดของบทความนี้คือ Supabase และ Fly.io ร่วมมือกันเพื่อให้บริการ Postgres แบบมีผู้ดูแลที่กระจายตัวทั่วโลก ซึ่งจะช่วยให้นักพัฒนาลดเวลาที่ใช้ในการดูแลฐานข้อมูล และโฟกัสกับการพัฒนาแอปพลิเคชันได้มากขึ้น
  • บทความนี้น่าสนใจเพราะสะท้อนแนวโน้มล่าสุดของคลาวด์คอมพิวติ้งและการจัดการฐานข้อมูล พร้อมแนะนำแนวทางเทคนิคใหม่ที่ผสานกลยุทธ์มัลติคลาวด์เข้ากับ edge computing
  • คาดว่าบริการนี้จะมอบ latency ต่ำและประสิทธิภาพที่ดีขึ้น โดยเฉพาะสำหรับนักพัฒนาที่นำแอปพลิเคชันที่ใช้ข้อมูลเข้มข้นไปใช้งานบนแพลตฟอร์ม Fly

1 ความคิดเห็น

 
GN⁺ 2023-12-17
ความคิดเห็นจาก Hacker News
  • คำประกาศจาก CEO ของ Supabase:

    • ปัจจุบันบริการ Postgres ของ Fly ยังไม่ได้เป็นบริการแบบ managed และ Supabase กำลังทำงานร่วมกับ Fly เพื่อให้บริการแบบ managed
    • Supabase กำลังทำงานเพื่อเปิดตัวฟีเจอร์ High Availability (HA) ร่วมกับกลุ่มผู้ทดสอบ แต่ยังไม่มีกำหนดการที่ยืนยันแล้ว
    • CEO พร้อมตอบคำถามหรือความคิดเห็น
  • ความสับสนเกี่ยวกับ Supabase:

    • ผู้ใช้คนหนึ่งลองดู Supabase แต่รู้สึกสับสนว่าจะใช้งาน REST API พื้นฐานอย่างไร
    • Supabase สร้าง API สำหรับโต้ตอบกับตารางที่ถูกสร้างขึ้นมาให้อัตโนมัติ แต่ยังไม่ชัดเจนว่าตรรกะทางธุรกิจอยู่ตรงไหน
    • ผู้ใช้ได้ดู edge functions แล้ว แต่ตัวอย่างต่าง ๆ ไม่ได้อธิบายชัดว่ามันใช้สำหรับตรรกะทางธุรกิจหรือไม่ จึงทำให้เข้าใจได้ยาก
  • ประสบการณ์กับ Fly.io:

    • ผู้ใช้อีกคนกำลังสร้าง Booklet บน Fly.io และต้องการใช้ Postgres ของ Fly เพื่อกระจายแอป
    • มีปัญหากับการตั้งค่า Postgres ของ Fly โดยเฉพาะการเชื่อมต่อที่ถูกตัดเพราะข้อจำกัดเวลาเชื่อมต่อ 30 นาทีของ HAProxy
    • มีคำถามว่าบริการ Postgres แบบใหม่จะใช้การตั้งค่า HAProxy แบบเดียวกันหรือไม่
  • สิ่งที่พบในเอกสารของ Fly.io:

    • ผู้ใช้อีกคนพบว่าในเอกสารของ Fly.io มี 'Postgres ของ Fly' และ 'Postgres ของ Supabase' วางอยู่เคียงกัน และแปลกใจที่ก่อนหน้านี้ไม่เคยเห็นเรื่องนี้บน Hacker News
    • เมื่ออยาก deploy แอปบน Fly และใช้ Postgres ก็ไม่มีข้อมูลเปรียบเทียบว่าควรใช้อะไร จึงทำให้สับสน
    • ผู้ใช้คิดว่าถ้าต้องการใช้ DBMS บน Fly ก็จะเลือก LiteFS distributed SQLite และถ้าต้องการ Postgres ความแตกต่างระหว่าง Fly กับ Supabase น่าจะเป็นเรื่องบริการแบบ managed กับ unmanaged
  • การตั้งค่าข้อจำกัดเครือข่ายของ Supabase:

    • ผู้ใช้คนหนึ่งไม่ชอบการตั้งค่าข้อจำกัดเครือข่ายของ Supabase และเคยมีปัญหาในการเปิดเผย IP ของแอป Fly ให้ Supabase รับรู้แล้วนำไปใช้จำกัดการเข้าถึง
    • ผู้ใช้มองว่าการที่ Supabase มาอยู่ภายในเครือข่ายของ Fly จริง ๆ เป็นการเปลี่ยนแปลงที่ดี
  • ปัญหาด้านการขยายตัวของ Supabase:

    • มีข่าวลือว่า Supabase มีปัญหาเรื่องการขยายตัวเกินกว่าระดับโปรเจ็กต์ต้นแบบ และมีความคิดเห็นหนึ่งถามหาประสบการณ์จริงจากผู้ใช้ที่เคยใช้งานใน production
  • ความแตกต่างระหว่าง Fly Volumes กับ network-attached storage:

    • เครื่องของ Fly ไม่มี network-attached storage และข้อมูลใน Fly Volumes ถูกมองว่าเป็นข้อมูลชั่วคราว
    • ผู้ใช้ที่ไม่คุ้นเคยกับ AWS หรือ network-attached storage ขอคำอธิบายความแตกต่างระหว่าง Fly Volumes กับ network-attached storage ของผู้ให้บริการรายอื่น
    • ผู้ใช้มองว่าเมื่อสร้าง Fly Volume แล้วมันสามารถย้ายไปยังเซิร์ฟเวอร์อื่นใน region เดียวกันได้ จึงคิดว่าในทางเทคนิคมันก็น่าจะเป็น network-attached storage
  • ความคาดหวังต่อความร่วมมือระหว่าง Supabase และ Fly.io:

    • ผู้ใช้คนหนึ่งกำลังรันฐานข้อมูลขนาดใหญ่บน Fly อยู่ในตอนนี้ และกำลังมองหา managed Postgres
    • เขาดำเนินงานร้านที่ใช้ Elixir แบบเต็มรูปแบบ และคิดว่าความร่วมมือนี้มาได้ถูกจังหวะมาก
  • การตอบกลับจากทีม Fly.io:

    • Joshua จากทีม Fly.io ระบุว่าเขาพร้อมตอบคำถามเกี่ยวกับการผสานรวมนี้
  • ความคิดเห็นเกี่ยวกับการอ้างอิง 'SupaFly':

    • มีความคิดเห็นที่แชร์ลิงก์วิดีโอตลกสำหรับคนที่ไม่เข้าใจการอ้างอิงถึง 'SupaFly'