ข้ามไปยังเนื้อหา
XVer

Container คืออะไร

Container คือการแพ็กแอปพร้อมไลบรารีและการตั้งค่าที่แอปต้องใช้ไว้ในกล่องเดียว ย้ายไปรันบนเครื่องไหนก็ทำงานเหมือนเดิม โดยไม่ต้องติดตั้งโปรแกรมประกอบใหม่

เปรียบง่ายๆ

เหมือนตู้คอนเทนเนอร์ขนส่งสินค้า ข้างในจะเป็นอะไรก็ได้ แต่ขนาดและจุดยึดเป็นมาตรฐาน เรือหรือรถบรรทุกคันไหนก็ยกต่อได้ทันที โดยไม่ต้องรื้อของออกมาจัดใหม่

Container ประกอบด้วยสองส่วน ส่วนแรกคือ image ซึ่งเป็นแม่แบบที่รวมโค้ดของแอป ไลบรารี และการตั้งค่าไว้ด้วยกัน ส่วนที่สองคือ container ซึ่งคือ image ที่ถูกเปิดให้ทำงานจริง image หนึ่งตัวเปิดเป็น container ได้หลายตัวพร้อมกัน รูปแบบ image ที่ใช้กันทั่วไปเป็นมาตรฐานเปิดชื่อ OCI ซึ่งเครื่องมืออย่าง Docker สร้างได้

ความต่างจาก VM

Cloud Server หรือ VM มีระบบปฏิบัติการเต็มชุดของตัวเอง ซึ่งคุณต้องอัปเดตและตั้งค่าเอง ส่วน container ใช้แกนของระบบปฏิบัติการร่วมกับเครื่องที่รัน จึงเบากว่าและเริ่มทำงานได้เร็วกว่า

container ถูกออกแบบให้ทิ้งแล้วสร้างใหม่ได้ ไฟล์ที่แอปเขียนไว้ในตัว container จึงหายเมื่อดีพลอยใหม่ ถ้าต้องเก็บข้อมูลถาวร ให้ต่อ Block Storage

การรัน container บน XVer

Container Compute รับได้ทั้ง image ที่ build ไว้แล้ว และโค้ดที่ให้ระบบ build เป็น image ให้ เมื่อดีพลอย ระบบตรวจว่าเวอร์ชันใหม่ทำงานปกติก่อนสลับไปใช้ แล้วให้ลิงก์ HTTPS บน *.run.xver.cloud จำนวน container เพิ่มและลดตามคำขอด้วย Autoscaling

ข้อผิดพลาดที่พบบ่อย

  • build image บน Mac ชิป Apple Silicon โดยไม่ระบุ platform จะได้ image สำหรับชิป ARM ซึ่งรันบน Container Compute ไม่ได้ ให้ใส่ --platform linux/amd64 ตอน build
  • ใส่รหัสผ่านหรือค่าตั้งค่าไว้ใน image ทุกคนที่เข้าถึง image จะเห็น ควรแยกค่าเหล่านี้ออกมาตั้งตอนดีพลอย

ตัวอย่างค่าใช้จ่ายบน XVer

ราคาต่อหน่วยของ Container Compute และโควตาฟรีที่ได้ทุกเดือน

ราคาต่อหน่วยและโควตาฟรีรายเดือนของ Container Compute ต่อ 1 container
รายการราคาฟรีต่อเดือน
vCPU ฿0.0003/vCPU-วินาที180,000 vCPU-วินาที (50 vCPU-ชม.)
หน่วยความจำ ฿0.00005/GiB-วินาที360,000 GiB-วินาที (100 GiB-ชม.)
HTTP request ฿20/1 ล้านครั้ง1,000,000 ครั้ง
  • โควตาฟรีนับแยกต่อ container และเริ่มนับใหม่ทุกวันที่ 1 ของเดือน
  • นับการใช้งานเป็นวินาทีและเรียกเก็บรายชั่วโมง ช่วงที่ scale to zero ไม่มีค่าประมวลผล
  • ราคาดึงจากระบบราคาของ XVer ตอนสร้างหน้านี้ เป็นเงินบาท

บริการที่เกี่ยวข้อง

Container Compute

รันแอปเป็น container และปรับจำนวน container ตามคำขอที่เข้ามา

คำถามที่พบบ่อย

ต้องมี Dockerfile ไหม

ไม่จำเป็น ถ้าแอปเขียนด้วย Node, Python, Go หรือภาษาตระกูล JVM ระบบมี buildpack ที่สร้าง image จากโค้ดให้ หรือจะเชื่อมต่อ GitHub แล้วให้ระบบ build ให้ก็ได้

ใช้ image จาก Docker Hub ได้ไหม

ได้ ใช้ image มาตรฐาน OCI ที่สร้างสำหรับ linux/amd64 จาก Docker Hub, GHCR หรือ Artifact Registry ของ XVer

  • Autoscaling และ Scale to zero

    Autoscaling คือการให้ระบบเพิ่มหรือลดจำนวน container เองตามจำนวนผู้ใช้ ส่วน Scale to zero คือการลดจนเหลือศูนย์เมื่อไม่มีใครใช้ จึงไม่เสียค่าประมวลผลช่วงนั้น

  • Block Storage

    Block Storage คือดิสก์เสริมที่แยกจากตัวเครื่อง ต่อเข้ากับ VM หรือ container ได้ และข้อมูลยังอยู่แม้รีสตาร์ตหรือดีพลอยใหม่

  • Cloud Server (VPS)

    Cloud Server หรือ VPS คือเซิร์ฟเวอร์เสมือนที่แบ่งมาจากเครื่องจริงในดาต้าเซ็นเตอร์ คุณได้ CPU, RAM และดิสก์ของตัวเอง สร้างได้เมื่อต้องการ และจ่ายเป็นรายชั่วโมง

ดูคำศัพท์ทั้งหมด

บัญชี XVer และการเติมเครดิต

เข้าสู่ระบบด้วย GitHub เติมเครดิตเป็นเงินบาทผ่านพร้อมเพย์ TrueMoney Wallet อินเทอร์เน็ตแบงกิ้ง หรือบัตร แล้วสร้างเครื่องใน Bangkok 1 ทีมซัพพอร์ตตอบตลอด 24 ชั่วโมง ทั้งภาษาไทยและภาษาอังกฤษ