ศัพท์ไอที · 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 กว้างกว่า ครอบคลุมบริการใดก็ตามที่ผู้ใช้ไม่ต้องจัดการเซิร์ฟเวอร์และจ่ายตามการใช้งาน ก่อนเลือกใช้ องค์กรควรประเมินว่างานนั้นทำงานเป็นช่วงสั้น ๆ ตามเหตุการณ์หรือไม่ เพราะงานที่ต้องประมวลผลต่อเนื่องตลอดเวลาอาจคุ้มกว่าเมื่อรันบนเครื่องที่จองไว้
แหล่งอ้างอิง
ปรับปรุงล่าสุด โดยกองบรรณาธิการ THAI DATA
ข่าวและบทความเกี่ยวกับ Serverless
Kubernetes คืออะไร? แนวคิดหลัก ความต่างจาก Docker และ VM และองค์กรแบบไหนควรใช้
อ่าน 10 นาที
