ค่า Egress ของ AWS ที่เกินรับไหว (Egregious)
(blog.cloudflare.com)บทความจาก Cloudflare ระบุว่า AWS เรียกเก็บเงินลูกค้าแม้กระทั่งกับต้นทุนการส่งข้อมูลระหว่างเครือข่ายที่ตัวเองไม่ได้จ่าย และยังไม่ส่งต่อประโยชน์จากต้นทุนการส่งข้อมูลที่ลดลงอย่างต่อเนื่องให้ลูกค้า พร้อมทั้งคงราคาสูงไว้แบบจงใจ
-
ย้อนกลับไปช่วงกลางทศวรรษ 1990 ตอนที่เว็บโฮสติ้งเริ่มเกิดขึ้นใหม่ๆ มีการคิดค่าบริการแยกตาม bandwidth/storage/CPU/หน่วยความจำ
-
เมื่อผู้ใช้เริ่มไม่ชอบแนวทางนั้น ก็พัฒนาไปสู่ค่าบริการแบบเหมาจ่าย และหลังจากนั้น AWS ก็ปรากฏตัวขึ้น
-
AWS สร้างความก้าวหน้าอย่างมากในด้านความสะดวกในการใช้งานและความสามารถในการขยายระบบ แต่ในด้านราคา กลับถอยหลังอย่างหนัก
-
โดยเฉพาะเรื่อง "ค่ารับส่งข้อมูล"
[Charging for Stocks, Paying for Flows]
- AWS คิดค่าบริการลูกค้าตามปริมาณข้อมูลที่ส่งออกไป (เช่น เท่าไรต่อ 1TB ต่อเดือน)
→ เหมือนกับการตักน้ำใส่ถัง (Bucket) แล้วคิดเงินตามปริมาณน้ำ
→ Charging for "Stocks" : คิดเงินตามปริมาณ
- แต่ AWS จ่ายค่าต้นทุน bandwidth ตามความจุของเครือข่าย (capacity)
→ เกณฑ์ค่าบริการ bandwidth คือเท่าไรต่อ 1Mbps ต่อเดือน
→ ผู้ให้บริการอย่าง AWS จ่ายตาม Mbps ของความจุสูงสุดในรอบเดือน (Peak Capacity)
→ กล่าวคือ ไม่ได้จ่ายตามปริมาณน้ำในถัง แต่จ่ายตามขนาดเส้นผ่านศูนย์กลางของ "สายยาง" ที่ใช้เติมน้ำ
→ Paying for "Flows" : จ่ายตามการไหล
[Translating Flows to Stocks]
-
การเชื่อมต่อ 1Mbps หากใช้งานเต็มตลอดทั้งเดือน จะเทียบได้กับ 0.3285TB (328GB)
-
bandwidth แบบขายส่งของผู้ให้บริการถูกคิดเงินที่ระดับ 95% ดังนั้นในทางปฏิบัติจึงเป็น 0.3458TB (346GB) ต่อเดือน
-
อัตราการใช้งานและต้นทุนรายภูมิภาคมีความสำคัญมากกว่า
-
ในความเป็นจริงยากมากที่จะใช้งานที่ระดับ 100% ทุกวัน ดังนั้นการประเมินค่าเฉลี่ยราว 20~40% ต่อเดือนจึงสมเหตุสมผล
-
เพื่อความระมัดระวัง จึงสมมติอัตราการใช้งานเฉลี่ยที่ค่าต่ำสุดคือ 20%
-
คาดว่า Amazon น่าจะได้ราคาค่า bandwidth ที่ดีกว่าราคาที่ Cloudflare ได้รับในแต่ละรีเจียนทั่วโลกเสียอีก
เมื่อนำเกณฑ์นี้มาคำนวณจะได้ว่า
-
ในสหรัฐฯ/แคนาดา/ยุโรป ลูกค้าจ่ายมากกว่าต้นทุน bandwidth ที่ Amazon จ่ายถึง 80 เท่า
-
ญี่ปุ่น/สิงคโปร์ อยู่ที่ 17 เท่า, ออสเตรเลีย/อินเดีย อยู่ที่ 8 เท่า
-
เกาหลีใต้เป็นแห่งเดียวที่อยู่ที่ "3.5 เท่า"
→ แต่ก็ไม่ควรวางใจ AWS มักเก็บค่า egress มากขึ้นในตลาดที่อยู่มานานกว่า และรีเจียนโซลเพิ่งมีมาแค่ 4 ปีเท่านั้น
[AWS เป็น "รายเดียว" ที่ไม่ส่งต่อการประหยัดต้นทุนให้ลูกค้า] (ต้นทุนที่ลดลงจากการเชื่อมต่อเครือข่าย)
-
ต้นทุนที่คำนวณข้างต้นนับเฉพาะค่า bandwidth ที่ AWS จ่ายโดยตรง
-
สำหรับการเชื่อมต่อกับเครือข่ายอย่าง Cloudflare ที่เชื่อมตรงผ่าน PNI(Private Network Interface) แบบไม่ต้องจ่ายค่าเชื่อมต่อ ต้นทุนแทบไม่มี ทำให้กำไรที่แท้จริงของ AWS เพิ่มขึ้นได้แบบไม่จำกัด
-
ยิ่งถ้ารวม rebate ที่ Amazon ได้จากผู้ให้บริการ colocation อัตรากำไรอาจสูงกว่านี้อีก
-
ผู้ให้บริการคลาวด์รายอื่นอย่าง Azure และ Google Cloud ให้ส่วนลดค่า Egress อย่างมากสำหรับลูกค้าร่วม (mutual customer) กับ Cloudflare
-
นอกจากนี้ สมาชิกของ Bandwidth Alliance เช่น Alibaba, Tencent และ Vultr ก็ยกเว้นค่าบริการ bandwidth ให้กับลูกค้าร่วมเช่นกัน
-
กล่าวคือ ผู้ให้บริการโฮสติ้งส่วนใหญ่ในอุตสาหกรรมมักลดหรือยกเว้นค่า egress อย่างมาก เมื่อส่งทราฟฟิกไปยัง peer อย่าง Cloudflare
-
มีเพียง AWS ที่เป็นข้อยกเว้น และแม้จะได้รับเชิญให้เข้าร่วม Bandwidth Alliance ก็ปฏิเสธ
-
ทราฟฟิกที่รับส่งกันระหว่างผู้ให้บริการโฮสติ้งโดยไม่ผ่าน public internet แทบไม่มีต้นทุนระหว่างกัน ดังนั้นจึงไม่ควรถูกเรียกเก็บเงินจากลูกค้า แต่
-
ดูเหมือนว่า "ความมุ่งมั่นที่จะทำสิ่งที่ถูกต้องให้ลูกค้า" ของ Amazon จะไม่ได้ขยายมาถึงค่า egress
[คงราคาสูงไว้แบบจงใจ]
-
ตลอด 10 ปีที่ผ่านมา ต้นทุนการส่งข้อมูลลดลงเฉลี่ยปีละ 23% รวมแล้วถูกลง 93% เมื่อเทียบกับ 10 ปีก่อน
-
แต่ในช่วงเวลาเดียวกัน ค่าใช้จ่ายด้านการส่งข้อมูลของ AWS ลดลงเพียง 25% เท่านั้น
-
หลังปี 2018 ต้นทุน egress ที่ AWS จ่ายในอเมริกาเหนือและยุโรปลดลงกว่าครึ่งตามราคาขายส่ง แต่ค่ารับส่งข้อมูลของ AWS ไม่ลดลงแม้แต่น้อย
[AWS กับโมเดลค่าใช้จ่ายแบบ Hotel California]
-
อีกความแปลกของค่าบริการ AWS คือคิดเงินกับข้อมูลที่ส่งออกนอกเครือข่าย แต่ไม่คิดเงินกับข้อมูลที่รับเข้ามาในเครือข่าย
-
ถ้าเป็นเครือข่ายเคเบิลภายในบ้านแบบอสมมาตรก็อาจพอเข้าใจได้ แต่ bandwidth แบบขายส่งเป็นแบบสมมาตร
-
กล่าวคือ หากซื้อการเชื่อมต่อ 1Mbps ก็สามารถส่งได้ 1Mbps และรับได้ 1Mbps ดังนั้นฝั่งรับจึงไม่ได้มีต้นทุนมากหรือน้อยกว่าฝั่งส่ง
-
แต่ AWS กลับคิดค่าบริการในการเอาข้อมูลออกมากกว่าการเอาข้อมูลเข้าไป
-
หากมองอย่างมีเหตุผล ก็ดูเหมือนเป็นเพียงวิธีการ lock-in ลูกค้าให้อยู่ในคลาวด์ของตัวเอง
[It's Not Too Late!]
-
มีลูกค้าร่วมจำนวนหนึ่งที่ใช้งานทั้ง Cloudflare และ AWS
-
หวังว่า AWS จะทำในสิ่งที่ถูกต้อง ลดค่า egress และเข้าร่วม Bandwidth Alliance เพื่อส่งต่อประโยชน์จากการประหยัดต้นทุนที่ได้จาก peering กับเครือข่ายอื่นให้ลูกค้าด้วย
3 ความคิดเห็น
ดูเหมือนว่าค่าทราฟฟิกจะแพงมากจริง ๆ ในแง่ที่ว่าแพงนั้น GCP หรือ Azure ก็แพงเหมือนกัน แม้จะเปรียบเทียบ AWS/GCP/Azure กับผู้ให้บริการ VPC ขนาดเล็กถึงกลางแบบตรง ๆ ได้ยากก็ตาม
คลาวด์รายใหญ่คิดแค่ค่าทราฟฟิก 1TB ก็ประมาณ 100,000 วอนแล้ว โดยยังไม่รวม VM
แต่คลาวด์ขนาดเล็ก (linode, vultr) ได้ทั้ง VM สเปก 6vCPU, 16GB RAM และทราฟฟิก 5~8TB ในราคา 100,000 วอน
อย่างน้อย AWS ก็ยังมี lightsail ที่ช่วยลดค่าใช้จ่ายได้บ้าง แต่เท่าที่ทราบ เวลาวัดปริมาณทราฟฟิกจะนำทั้ง IN/OUT มารวมกันแล้วคำนวณเป็นการใช้งานทราฟฟิก
ส่วนตัวผมใช้ vultr ที่มีรีเจียนในเกาหลีสำหรับงานที่ดูแลเองอยู่ แต่ linode มีรูปแบบผลิตภัณฑ์ให้เลือกมากกว่า (Object Storage, Kubernetes ฯลฯ) เลยกำลังคิดอยู่ว่า แม้จะไม่มีรีเจียนในเกาหลี ก็น่าจะย้ายไปใช้น่าจะดีกว่าไหม
AWS สร้างกำไรจากการดำเนินงานคิดเป็น 66% ของทั้ง Amazon เลยครับ โดยอิงจากไตรมาส 4 ของปีที่แล้ว Amazon มีกำไรจากการดำเนินงาน 4.6 ล้านล้านวอน และ AWS ทำได้มากกว่า 3 ล้านล้านวอน
แต่รายได้ของ AWS ในไตรมาสเดียวกันอยู่ที่ 11 ล้านล้านวอน ขณะที่รายได้รวมของ Amazon อยู่ที่ 104 ล้านล้านวอน เลยคิดเป็นแค่ 11% เองนะครับ ถ้า AWS กลายเป็นธุรกิจที่ทำกำไรได้สูงที่สุด ก็คงมีเหตุผลอยู่แล้วไม่ใช่เหรอครับ 555
Bandwidth Alliance: https://www.cloudflare.com/bandwidth-alliance/
มี Azure, GCP, DigitalOcean, Alibaba, Tencent, Automattic, Backblaze, Vultr, Vapor และ Packet เข้าร่วม