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

ศัพท์ไอที · Cloud

Serverless คืออะไร

การประมวลผลแบบไม่ต้องดูแลเซิร์ฟเวอร์ · หรือ Serverless Computing, เซิร์ฟเวอร์เลส, FaaS, Function as a Service

นิยามสั้น

รูปแบบการประมวลผลบนคลาวด์ที่ผู้ให้บริการดูแลเซิร์ฟเวอร์และการขยายระบบให้ทั้งหมด ผู้ใช้ส่งเฉพาะโค้ดหรือแอปพลิเคชันขึ้นไป ระบบขยายตามปริมาณงานอัตโนมัติและคิดค่าบริการเฉพาะช่วงที่ทำงานจริง

Serverless คือรูปแบบการประมวลผลบนคลาวด์ที่ซ่อนเซิร์ฟเวอร์ออกจากสายตาของผู้ใช้ งานดูแลระบบทั้งหมด ตั้งแต่เครื่องจริงไปจนถึงการจัดสรร Virtual Machine เป็นหน้าที่ของผู้ให้บริการ ตามคำอธิบายของ CNCF ชื่อนี้ไม่ได้หมายความว่าไม่มีเซิร์ฟเวอร์ แต่หมายความว่าผู้ใช้ไม่ต้องจัดการเซิร์ฟเวอร์เอง

Serverless ทำงานอย่างไร

นักพัฒนาส่งโค้ดขึ้นไปยังบริการผ่านเครื่องมืออย่าง SDK หรือ CLI แล้วกำหนดว่าโค้ดจะทำงานเมื่อใด เมื่อมีคำขอหรือเหตุการณ์เข้ามา แพลตฟอร์มจะเปิดทรัพยากรขึ้นมารันโค้ด ขยายจำนวนตามปริมาณงานโดยอัตโนมัติ และหยุดเมื่องานหมด ค่าบริการคิดตามการใช้งานจริง จึงไม่มีค่าใช้จ่ายสำหรับทรัพยากรที่ไม่ได้ใช้

CNCF เปรียบเทียบกับ IaaS ว่า ผู้ใช้ IaaS ต้องจองกำลังประมวลผลไว้ล่วงหน้าและจ่ายต่อเนื่องแม้ช่วงที่ไม่มีงาน ทั้งยังต้องปรับกำลังรองรับเองเมื่อความต้องการเปลี่ยน ส่วน Serverless โอนงานอย่างการดูแลระบบปฏิบัติการ การอัปเดตความปลอดภัย การกระจายโหลด และการวางแผนกำลังรองรับไปให้ผู้ให้บริการ

ตัวอย่างการใช้งาน

  • ประมวลผลเมื่อมีไฟล์เข้ามา เช่น ย่อขนาดรูปหรือตรวจเอกสารทันทีที่ผู้ใช้อัปโหลดไฟล์ ซึ่งเป็นตัวอย่างเหตุการณ์ที่ CNCF ยกไว้
  • API ที่ปริมาณการใช้ไม่สม่ำเสมอ ระบบที่มีผู้ใช้มากเฉพาะบางช่วงเวลา ไม่ต้องเปิดเครื่องรอไว้ตลอด
  • งานตามกำหนดเวลา เช่น สรุปรายงานประจำวัน หรือล้างข้อมูลชั่วคราวทุกคืน
  • เชื่อมระบบเข้าด้วยกัน รับข้อมูลจากระบบหนึ่ง แปลงรูปแบบ แล้วส่งต่อให้อีกระบบ โดยไม่ต้องตั้งเซิร์ฟเวอร์กลาง

Serverless ต่างจาก FaaS อย่างไร

CNCF ระบุว่าสองคำนี้เกี่ยวข้องกันแต่ไม่ใช่สิ่งเดียวกัน FaaS (Function as a Service) คือแพลตฟอร์มสำหรับรันฟังก์ชันที่ถูกกระตุ้นด้วยเหตุการณ์ และขยายอัตโนมัติโดยไม่ต้องมีคนเข้าไปจัดการ จึงเป็นรูปแบบหนึ่งของ Serverless ส่วนคำว่า Serverless กว้างกว่า ครอบคลุมบริการใดก็ตามที่ผู้ใช้ไม่ต้องจัดการเซิร์ฟเวอร์และจ่ายตามการใช้งาน ก่อนเลือกใช้ องค์กรควรประเมินว่างานนั้นทำงานเป็นช่วงสั้น ๆ ตามเหตุการณ์หรือไม่ เพราะงานที่ต้องประมวลผลต่อเนื่องตลอดเวลาอาจคุ้มกว่าเมื่อรันบนเครื่องที่จองไว้

แหล่งอ้างอิง

  1. Serverless | Cloud Native Glossary — CNCF
  2. Function as a Service (FaaS) | Cloud Native Glossary — CNCF

ปรับปรุงล่าสุด โดยกองบรรณาธิการ THAI DATA

ข่าวและบทความเกี่ยวกับ Serverless