DEV Community

Lumin
Lumin

Posted on

กฏ 3 ประการของ Serverless

คุณ​ Burke บอกว่า serverless ไม่ได้มีความหมายแค่ว่ารัน application โดยไม่ต้องสนใจ server เพราะถ้ามันมีความหมายแค่นั้น หลายๆ service ก็เป็น serverless เช่น Heroku หรือ digitalocean หรือ AWS Beanstalk ที่กดแค่ปุ่มเดียวก็ได้ wordpress มาใช้งานเลย

ดังนั้นการแยกแยะว่า service ไหนเป็น serverless นั้นเราต้องดูจากกฏ 3 ประการนี้

  1. The Law of Furthest Abstraction
    เราไม่จำเป็นต้องรับรู้รายละเอียดและความซับซ้อนของ server ที่ใช้งาน
    จากตัวอย่างด้านบนที่ยกมา ถึงแม้ว่าเราไม่รู้รายละเอียดตอนที่กดสร้าง wordpress แต่จริงๆแล้ว มันก็มีความซับซ้อนบางอย่าง ที่เราจำเป็นจะต้องรู้จริงๆ เช่น มีกี่ CPU ใช้ mem เท่าไหร่ มี storage เท่าไหร่

  2. The Law of Inherent Scale
    การทำ scaling เป็นไปโดยอัตโนมัติ ไม่ต้องไปทำระบบ scaling ให้เองทุกอย่าง

  3. The Law of Least Consumption
    ใช้เท่าไหร่ ก็จ่ายเท่านั้น จุดนี้เป็นจุดสำคัญที่เราสามารถแยก serverless ออกจาก PaaS ได้ง่ายๆ เพราะพวก Heroku นี่ถึงแม้ว่าจะไม่มีคนเข้าใช้งาน แต่เราก็ยังต้องจ่ายอยู่ดี แตกต่างจาก serverless อย่างพวก Firebase Cloud Function ที่เก็บเงินเป็น request, execution time นั่นหมายความว่า ถ้าไม่มีคนใช้งานเลย เราก็ไม่เสียตังค์

ที่มา

Top comments (0)