30 คะแนน โดย xguru 2023-03-06 | 8 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความจาก DHH ผู้สร้าง RoR
  • แฟนคลาวด์บอกว่าทุกอย่างอย่างต้นทุน ประสิทธิภาพ ความซับซ้อน ฯลฯ จะเหมือนถูกแก้ได้อย่างน่าอัศจรรย์ถ้าย้ายไปเป็น "serverless"
  • คลาวด์/VPS ทำงานตามหลักการซื้อจำนวนมากแล้วขายแยกเป็นรายย่อย
    • ซื้อเซิร์ฟเวอร์ขนาดใหญ่ในราคา $1000 แล้วปล่อยเช่าให้ 7 คน คนละ $200 ทำกำไรต่อเดือน $400
    • ถ้าทั้ง 7 คนไม่ได้สร้างภาระหนักให้เซิร์ฟเวอร์ หรือใช้งานกันคนละช่วงเวลา ก็ทำงานได้ดี
    • ถ้าคุณต้องการความจุทั้งหมดของเซิร์ฟเวอร์ ก็เท่ากับใช้คอมพิวเตอร์ราคา $1000 ด้วยค่าใช้จ่าย $1400
    • ถ้าทำสัญญาใช้ 1 ปี ก็อาจลดเหลือเดือนละ $1250 ได้ (โดยพื้นฐานคือสัญญาสินเชื่อที่คิดดอกเบี้ยรายปี 25%)
  • Serverless ก็คล้ายกัน แต่สามารถซอยเซิร์ฟเวอร์ให้เล็กลงได้มากกว่าเดิม
    • แทนที่จะให้ลูกค้า 7 คนเช่าเซิร์ฟเวอร์ใหญ่เครื่องเดียวเดือนละ $200 ก็เปลี่ยนเป็นให้ลูกค้า 100 คนที่รันแต่ละฟังก์ชันจ่ายเดือนละ $20
    • แบบนี้ไม่ใช่กำไรเดือนละ $400 แต่เป็นกำไร $1000
    • จึงไม่ใช่เรื่องน่าแปลกใจที่ผู้ให้บริการคลาวด์ชอบ serverless
  • ถ้าคุณต้องการเพียงไม่กี่ฟังก์ชันที่ทำงานเป็นครั้งคราว มันก็เหมาะสม (อย่างน้อยก็ในระยะสั้น)
  • แต่ถ้าคุณอยู่ในระดับที่ต้องใช้ความสามารถทั้งเครื่องคอมพิวเตอร์ มันแย่มาก
  • เพราะคุณจ่ายแพงขึ้นต่อ clock เท่าเดิม แถมยังถูกล็อกอินอย่างหนักด้วย
  • ยิ่งใช้บริการ "cloud native" บน serverless มากเท่าไร ก็ยิ่งย้ายออกได้ยากขึ้นเท่านั้น
  • "อย่าหลงเชื่อ serverless ไม่มีเวทมนตร์อะไรที่จะเปลี่ยนความจริงที่ว่า ถ้าคุณต้องการใช้รอบการประมวลผลทั้งหมดของคอมพิวเตอร์ คุณก็ต้องซื้อคอมพิวเตอร์เครื่องนั้น ถ้าคุณเริ่มต้นด้วยโครงสร้าง serverless แบบปิด คุณจะพบว่าตัวเองหนี lock-in ไม่ออก"

  • "คลาวด์เหมาะสำหรับบริษัทที่มีความต้องการใช้งานขึ้นลงอย่างมาก เช่น Amazon ที่มีดีมานด์มหาศาลในช่วง Black Friday/Christmas และมีความจุส่วนเกินที่ไม่จำเป็นในช่วงเวลาอื่น ๆ
    หรือสำหรับธุรกิจที่ยังไม่ใหญ่พอจะครอบครองคอมพิวเตอร์ทั้งเครื่องเอง หรือสตาร์ทอัพระยะเริ่มต้นที่ค่าใช้จ่ายคลาวด์ยังน้อยมากจนไม่ใช่ปัญหา ซึ่ง serverless ไม่ได้เปลี่ยนเรื่องนั้น"

8 ความคิดเห็น

 
secret3056 2023-03-07

ก็มีความต่างด้วยว่าเป็นบริการที่มีช่วงเวลาใช้งานพุ่งสูงหรือไม่ด้วย กรณีแอปเดลิเวอรีจะมีช่วงเวลาที่คนใช้งานหนาแน่นอย่างชัดเจน ดังนั้นคลาวด์ที่สเกลเอาต์ได้เฉพาะตอนนั้นจึงน่าสนใจ แต่ฝั่ง IoT ที่ทราฟฟิก 99% คงที่ การรันบนเซิร์ฟเวอร์จริงอาจดีกว่าก็ได้

 
ehlegeth 2023-03-07

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

  • เมื่อจำเป็นต้องใช้ทรัพยากรมากกว่าคอมพิวเตอร์ 1 เครื่องขึ้นไป โซลูชัน serverless ยังให้ประโยชน์อยู่หรือไม่
  • lock-in ของ serverless

ถ้าคิดและตัดสินใจเกี่ยวกับ 2 ประเด็นนี้ก่อน ก็น่าจะไม่พลาดครั้งใหญ่ได้ง่าย ๆ นะครับ

โดยส่วนตัวผมสงสัยว่า serverless เป็น abstraction ที่ถูกต้องหรือไม่ แต่คิดว่าเวลาเท่านั้นที่จะพิสูจน์ได้ ส่วนปัญหาเรื่อง lock-in ของ serverless ก็คงจะยังชวนปวดหัวต่อไป และผมคิดว่านี่เป็นปัญหาที่แก้ได้ไม่ง่ายนัก ซึ่งทั้งอุตสาหกรรมต้องช่วยกันหาทางคลี่คลายครับ

 
kyc1682 2023-03-07

แม้จะไม่มีเงิน แต่สำหรับสตาร์ทอัปที่ยิ่งขาดทั้งคนและเวลา Serverless ก็เป็นตัวเลือกที่น่าดึงดูดมากจริง ๆ

 
gcback 2023-03-07

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

ในตลาดย่อมมีทั้งบริษัทและผู้คนที่ต้องการ cloud, on-premise และ serverless อย่างเหมาะสม ตามขนาดองค์กร ลักษณะธุรกิจ และประเภทของบริการอยู่แล้ว
สุดท้ายแล้ว จะเลือกใช้เซิร์ฟเวอร์เครื่องละ 200 ดอลลาร์ หรือจะใช้ function ในราคา 20 ดอลลาร์ ก็เป็นเรื่องที่ CEO/CTO ของแต่ละบริษัทต้องไตร่ตรองและตัดสินใจอย่างสมเหตุสมผลเอง ผมคิดว่าถ้าติดเรื่องต้นทุนและเวลาในตอนนี้ 20 ดอลลาร์อาจดีกว่า แต่ถ้ามี余裕มากขึ้น การเลือกแบบ 200 ดอลลาร์หรือ 1,000 ดอลลาร์ก็อาจเป็นการตัดสินใจที่สมเหตุสมผลได้เช่นกัน จากมุมมองของผู้ใช้ กลับกลายเป็นว่าการมีตัวเลือกที่หลากหลายสำหรับสถานการณ์ต่าง ๆ น่าจะเป็นเรื่องที่ดีกว่าด้วยซ้ำ อีกทั้งนี่ก็ไม่ใช่เทคโนโลยีผูกขาด แต่เป็นตลาดที่บริษัทยักษ์ใหญ่แข่งขันกันอย่างดุเดือด ดังนั้นราคาจึงมีแต่จะลดลงเรื่อย ๆ

 
iolothebard 2023-03-07

ถ้าไม่มีวิศวกรโครงสร้างพื้นฐานประจำทีม (deops, sre, platform engineer หรืออื่น ๆ) ดูเหมือนว่าขีดจำกัดจะอยู่แค่ประมาณ aws fargate หรือ gcp cloud run เท่านั้น container as a service
แน่นอนว่าสิ่งเหล่านั้นเองก็มีทั้งข้อดีข้อเสียหลายอย่างเหมือนกัน...

 
xguru 2023-03-06

ที่เกี่ยวกัน ยังมีบทความที่วิจารณ์ว่าแม้ AWS จะเก็บเงินจาก Lambda ไปมากขนาดนั้น แต่กลับไม่ปรับปรุง runtime อย่างจริงจัง
https://www.lastweekinaws.com/blog/aws-is-asleep-at-the-lambda-wheel/

  • ในงาน re:Invent ปี 2020 มีการบอกว่าผู้ใช้ Lambda มีเกิน 1 ล้านคนไปแล้ว..
  • Python 3.10 ออกมาตั้งแต่เดือนตุลาคม 2021 และตอนนี้ก็ออกถึง 3.11.2 แล้ว แต่ runtime ของ Lambda ยังใช้ 3.9 อยู่ แม้แต่ Ubuntu LTS ก็ใช้ 3.10 แล้ว AWS ยังขึ้นว่า "กำลังดำเนินการ" มานานกว่าหนึ่งปี
  • runtime ของ Go เก่าเกินไปจนไม่รองรับ Graviton และ Ruby ก็อ่อนแอพอๆ กัน
 
ehlegeth 2023-03-07

เห็นด้วยครับ

พอมองวงจรการอัปเกรดแพลตฟอร์มของ Lambda หรือบริการอื่น ๆ ของ AWS แล้ว ก็ไม่ได้รู้สึกว่าคล่องตัวเป็นพิเศษ กลับให้ความรู้สึกว่าค่อนข้างอนุรักษ์นิยม หรือไม่ก็ไม่ได้ทุ่มทรัพยากรมากนัก น่าจะเป็นเพราะการเพิ่มเวอร์ชันของแพลตฟอร์มต้องใช้การทดสอบจำนวนมาก และการเพิ่มเข้ามาแต่ละครั้งก็ทำให้ต้นทุนการซัพพอร์ตสูงขึ้นมาก จึงน่าจะให้ความสำคัญกับเสถียรภาพ และควบคุมจำนวนเวอร์ชันของแพลตฟอร์มให้อยู่ในขอบเขตที่กำหนดไว้... นี่เป็นแค่การคาดเดาของผมครับ

 
xguru 2023-03-06

ก็เหมือนทุกครั้ง DHH เป็นคนที่พูดแรงไปสักหน่อย โปรดอ่านโดยคำนึงถึงจุดนี้ด้วย 555