รับเครดิต $200

DigitalOcean App Platform คืออะไร: deploy เว็บและแอปจาก GitHub โดยไม่ต้องดูแลเซิร์ฟเวอร์

อัปเดตล่าสุด 3 พฤศจิกายน 2569 · อ่านประมาณ 7 นาที · โดย DigitalOcean Review ไทย

คู่มือ DigitalOcean App Platform ภาษาไทย อธิบายแนวคิด Static Site, Service, Worker, Job, วิธี deploy จาก GitHub, ตัวแปรสภาพแวดล้อม, โดเมน, ราคา และเมื่อไรควรเลือก App Platform แทน Droplet

เปิดเผยข้อมูล: บทความนี้มีลิงก์แนะนำ (referral) ของ DigitalOcean หากคุณสมัครผ่านลิงก์ เจ้าของเว็บอาจได้รับเครดิต โดยคุณไม่เสียค่าใช้จ่ายเพิ่ม · อ่านนโยบายการรีวิว

App Platform คืออะไร

App Platform คือบริการแบบ PaaS (Platform as a Service) ของ DigitalOcean คุณเชื่อมต่อ repository จาก GitHub/GitLab (หรือใช้ Docker image) แล้วแพลตฟอร์มจะ build, deploy, ติดตั้ง SSL, จัดการโดเมน และ deploy ใหม่อัตโนมัติ ทุกครั้งที่คุณ push โค้ด โดยไม่ต้องตั้งค่าเซิร์ฟเวอร์ Linux เอง

เทียบกับ Droplet: Droplet คือเครื่อง Linux ที่คุณดูแลเองทุกชั้น ส่วน App Platform ดูแลระบบปฏิบัติการ การอัปเดต และการ deploy ให้ คุณโฟกัสที่โค้ด

ราคา

ตามหน้าราคาทางการ ณ 3 พ.ย. 2569 App Platform เริ่มต้น $0/เดือน โดยเว็บแบบ Static Site ฟรี 3 เว็บ ส่วนระดับที่ชำระเงินสำหรับ Service/Worker/Job ราคาขึ้นกับขนาดคอนเทนเนอร์ จึงควรดูตารางล่าสุดที่หน้า App Platform Pricing เนื่องจากโครงสร้างราคาอาจเปลี่ยน

รับเครดิตฟรี $200 (ใช้ได้ 60 วัน)สมัคร DigitalOcean ผ่านลิงก์แนะนำของเรา แล้วเพิ่มวิธีชำระเงินที่ใช้งานได้ ระบบจะให้เครดิตทดลองใช้งาน ตามเงื่อนไขของ DigitalOcean ณ วันที่สมัคร
สมัครรับเครดิต $200 →

องค์ประกอบ (Component) ของแอป

แอปหนึ่งตัวบน App Platform ประกอบด้วยหลาย component

ประเภทใช้ทำอะไรตัวอย่าง
Static Siteไฟล์เว็บสำเร็จรูป เสิร์ฟผ่าน CDNReact, Vue, Astro, Hugo, Jekyll, HTML ธรรมดา
Serviceเว็บแอป/API ที่รันตลอดเวลาและรับ HTTPNode.js, Python (Flask/Django/FastAPI), PHP, Go, Ruby
Workerงานเบื้องหลังที่ไม่รับ HTTPประมวลผลคิว, bot
Jobงานที่รันครั้งเดียว/ตามเวลาmigration ฐานข้อมูล, cron
Databaseฐานข้อมูลที่เชื่อมกับแอปdev database หรือ Managed Database

วิธี deploy ทีละขั้น

ตัวอย่าง: เว็บ Static (ฟรี)

  1. Push โค้ดขึ้น GitHub (เช่น Astro หรือ Vite project)
  2. ใน Control Panel เลือก Create → App Platform
  3. เชื่อมบัญชี GitHub และเลือก repository กับ branch
  4. App Platform ตรวจชนิดโปรเจกต์อัตโนมัติ ตรวจ build command (เช่น npm run build) และ output directory (เช่น dist)
  5. เลือกประเภท Static Site และแผนที่ใช้
  6. กด Create Resources รอ build ไม่กี่นาที จะได้ URL ลักษณะ *.ondigitalocean.app
  7. เพิ่ม Custom Domain และชี้ DNS ตามที่ระบบบอก SSL จะออกให้อัตโนมัติ

ตัวอย่าง: Node.js Service

สมมติ repository มี package.json และสคริปต์ start

{
  "scripts": {
    "start": "node server.js"
  },
  "engines": { "node": "20.x" }
}

แอปต้องฟังที่พอร์ตจากตัวแปร PORT ที่แพลตฟอร์มกำหนด

const port = process.env.PORT || 8080;
app.listen(port, '0.0.0.0');

App Platform จะใช้ buildpack ตรวจจับภาษาและรัน npm install, npm run build (ถ้ามี) และ npm start ให้เอง

ใช้ Dockerfile

ถ้าโปรเจกต์มี Dockerfile ในรากของ repository App Platform สามารถ build จากไฟล์นั้นได้ เหมาะกับแอปที่ต้องการ dependency เฉพาะ

ตัวแปรสภาพแวดล้อมและความลับ

อย่าใส่รหัสผ่านหรือ API key ในโค้ด ให้ตั้งใน App Settings → Environment Variables และเลือกชนิด Encrypted สำหรับค่าลับ ในโค้ดอ่านผ่าน process.env.DB_URL (Node) หรือ os.environ['DB_URL'] (Python)

เมื่อเชื่อม Database component แพลตฟอร์มมีตัวแปรอ้างอิงให้ใช้ในรูปแบบเทมเพลต (เช่น ${db.DATABASE_URL}) ดูไวยากรณ์ล่าสุดจากเอกสารทางการ

App Spec: เก็บการตั้งค่าไว้ใน YAML

App Platform ใช้ไฟล์ spec เป็น YAML อธิบายแอปทั้งตัว เก็บใน repository (.do/app.yaml) เพื่อให้ทำซ้ำได้ ตัวอย่างโครงโดยย่อ

name: my-app
region: sgp
services:
  - name: web
    github:
      repo: your-user/your-repo
      branch: main
      deploy_on_push: true
    run_command: npm start
    http_port: 8080
    envs:
      - key: NODE_ENV
        value: production

ฟิลด์และชื่อ region ที่ถูกต้องควรเทียบกับเอกสาร App Spec ล่าสุดก่อนใช้งานจริง

ข้อดีของ App Platform

  • ไม่ต้องดูแล OS ไม่ต้องอัปเดตแพตช์ ไม่ต้องตั้งไฟร์วอลล์
  • Deploy อัตโนมัติ Push โค้ดแล้วขึ้นระบบเอง พร้อมประวัติ deployment และ rollback
  • SSL อัตโนมัติ ออกและต่ออายุให้
  • ขยายง่าย เพิ่มจำนวน instance หรือขนาดคอนเทนเนอร์ได้จากหน้าเว็บ
  • เริ่มฟรี สำหรับ Static Site

ข้อจำกัดที่ควรรู้

  • ควบคุมน้อยกว่า Droplet ติดตั้งซอฟต์แวร์ระดับระบบเองไม่ได้ ไฟล์ในคอนเทนเนอร์เป็น ephemeral (หายเมื่อ deploy ใหม่) ต้องเก็บไฟล์ที่อัปโหลดไว้ใน Spaces หรือ storage ภายนอก ดู คู่มือ Spaces Object Storage
  • ต้นทุนต่อหน่วยอาจสูงกว่า Droplet สำหรับงานที่ใช้ทรัพยากรสูง เพราะคุณจ่ายค่าความสะดวก
  • ไม่เหมาะกับ WordPress ทั่วไป เพราะ WordPress ต้องการดิสก์ถาวร ให้ใช้ Droplet ตาม ติดตั้ง WordPress บน DigitalOcean
  • ภูมิภาคจำกัด ตรวจว่ามีภูมิภาคที่ใกล้ผู้ใช้ของคุณ (เช่น สิงคโปร์) ณ ตอนที่ใช้

เลือก App Platform หรือ Droplet

คำถามถ้าใช่ →
ต้องการ deploy จาก Git โดยไม่แตะเซิร์ฟเวอร์App Platform
ต้องติดตั้งซอฟต์แวร์เฉพาะระดับระบบDroplet
เว็บ static / SPA / JAMstackApp Platform (ฟรี)
WordPress / แอปที่เก็บไฟล์บนดิสก์Droplet
ทีมเล็กไม่มีคนดูแลระบบApp Platform
อยากควบคุมต้นทุนต่อหน่วยสูงสุดDroplet
ต้องการเรียนรู้ DevOpsDroplet

เคล็ดลับ

  1. ใช้ Static Site ฟรี สำหรับหน้า Landing, เอกสาร, และ front-end
  2. แยก front-end (static) กับ API (service) ช่วยประหยัดและขยายง่าย
  3. ตั้ง Health Check ให้ตรงกับ endpoint จริง
  4. ใช้ Managed Database + Trusted Sources ดู คู่มือ Managed Databases
  5. ตั้ง Alerts เมื่อ deployment ล้มเหลวหรือ CPU/memory สูง
  6. ทดลองด้วยเครดิตผู้ใช้ใหม่ ดู วิธีรับเครดิตฟรี $200 DigitalOcean

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

App Platform รองรับภาษาอะไรบ้าง

รองรับผ่าน buildpack และ Docker หลายภาษา เช่น Node.js, Python, PHP, Go, Ruby และอื่น ๆ รายการล่าสุดดูในเอกสารทางการ

เว็บฟรีใช้โดเมนของตัวเองได้ไหม

ได้ ตั้ง Custom Domain ใน App Settings และชี้ DNS ตามที่ระบุ

ข้อมูลที่อัปโหลดจะหายไหมเมื่อ deploy ใหม่

ไฟล์ในดิสก์ของคอนเทนเนอร์ไม่ถาวร ให้เก็บใน Spaces หรือฐานข้อมูลแทน

ใช้ App Platform ควบคู่กับ Droplet ได้ไหม

ได้ ทั้งสองอยู่ในบัญชีเดียวกัน และสามารถเชื่อมกับ Managed Database ร่วมกันผ่าน Trusted Sources/VPC

รับเครดิตฟรี $200 (ใช้ได้ 60 วัน)สมัคร DigitalOcean ผ่านลิงก์แนะนำของเรา แล้วเพิ่มวิธีชำระเงินที่ใช้งานได้ ระบบจะให้เครดิตทดลองใช้งาน ตามเงื่อนไขของ DigitalOcean ณ วันที่สมัคร
สมัครรับเครดิต $200 →