Cost Control On Alibaba Cloud: Getting More For Your Dollar (Part 2)

  • by

[Alibaba Cloud Thailand] วิธีการควบคุมค่าใช้จ่ายบน Alibaba Cloud: การใช้เงินอย่างคุ้มค่า(Part 2)

By Saris Kongpichetkul, Presales Engineer of ATCETERA CORPORATION LIMITED and partner of Alibaba Cloud Thailand

Part 1 นั้นเรารู้จักการควบคุมค่าใช้จ่ายในส่วนของ Computing , Storage และ Network (โดยส่วนใหญ่มาจาก ECS) โดยการเลือกแผนการจ่ายเงินที่ถูกวิธี ใน part 2 นี้ เรามาทำความรู้จักเกี่ยวกับรูปแบบการใช้งานที่จะช่วยลดค่าใช้จ่ายบน Alibaba Cloud กัน

รูปแบบการใช้งาน 1 – การจัดสรรเกินด้วยโฮสต์เฉพาะ (Dedicated Host)

หากคุณมีปริมาณงานที่คาดการณ์ได้ซึ่งมีการใช้งาน CPU เฉลี่ยต่ำแต่จำเป็นต้องเพิ่มขึ้นในบางครั้ง คุณสามารถประหยัดเงินได้โดยการใช้ประโยชน์จากความสามารถในการจัดสรร CPU ส่วนเกินที่มีอยู่ใน ECS Dedicated Hosts
โฮสต์เฉพาะคือโอสต์ที่มีผู้ใช้บริการเป็นผู้เช่ารายเดียวบน Alibaba Cloud ECS ซึ่งหมายความว่าเป็นเซิร์ฟเวอร์เฉพาะ (Dedicated server) ที่ทำงานบนอินสแตนซ์ ECS ของเราเท่านั้น: จะไม่แชร์กับผู้ใช้รายอื่น

ยกตัวอย่าง
สมมติว่าเราซื้อ Dedicated Host ของ r6s ประเภทนี้มีแกน CPU จริง 52 คอร์สำหรับ 104 vCPU นอกจากนี้ ประเภท r6s ยังอนุญาตให้มีอัตราส่วนการจัดสรรเกิน 4x ซึ่งหมายความว่าคุณสามารถจัดการโฮสต์เฉพาะนี้เสมือนว่ามี 416 คอร์ของ CPU เมื่อคุณเปิดใช้อินสแตนซ์ ECS ที่ด้านบนของ Dedicated Host นี้ คุณสามารถจัดสรร CPU คอร์ได้มากถึง 416 คอร์ให้กับอินสแตนซ์ ECS ของคุณ ประเภท r6s ยังมีหน่วยความจำที่พร้อมใช้งาน 756 GB การใช้งาน r6s เป็นเวลา 1 เดือนจะมีค่าใช้จ่าย 3,534.44 USD (ภูมิภาคสิงคโปร์)
เราสามารถแบ่ง Dedicated host นี้ได้หลาย ECS instances เช่น
16 vCPU / 32 GB RAM จำนวน 20 ECS instances (รวมทั้งหมด 320 vCPU / 640 GB RAM)
เรายังเหลืออีก 96 vCPU / 116 GB RAM
2 vCPU / 2 GB RAM จำนวน 48 ECS instances (รวมทั้งหมด 96 vCPU / 96 GB RAM)
เรายังเหลืออีก 20 GB RAM ที่เราสามารถจัดสรรได้อีก ( Dedicated host เราสามารถจัดสรรอัตราส่วนของvCPU และ RAM ได้ตามความต้องการของเรา ซึ่งจะแตกต่างกับ traditional ECS instances ที่จะต้องเลือกตามที่ทาง Alibaba Cloud กำหนดให้เท่านั้น)
ลองมาดูถ้าหากว่าเราซื้อแบบ traditional ECS instances ตามที่ทาง Alibaba Cloud กำหนดให้
20 x c6.4xlarge (347.60 USD ต่อเดือนต่ออินสแตนซ์)
48 x ic5.large (45.67 USD ต่อเดือน ต่ออินสแตนซ์)
ดังนั้นค่าใช้จ่ายทั้งหมดจึงเท่ากับ 347.6 x 20 + 45.67 x 48 ซึ่งให้ค่าใช้จ่ายรายเดือนรวมอยู่ที่ 9,144.16 USD

ซึ่งหมายความว่า Dedicated Host มีค่าใช้จ่ายน้อยกว่าถึง 60% ถ้าเราประมาณการว่ามีการใช้งานทั้งหมด 100% เต็ม แต่ถ้าเราถือว่าในที่นี้ไม่ใช่อินสแตนซ์ ECS ทั้งหมดที่ต้องการรอบ CPU 100% ตลอดเวลา ด้วยอัตราส่วนการจัดสรประมาณการว่า โดยเฉลี่ยประมาณ 25% ของความจุที่จัดสรรให้กับ ECS แต่ละตัว แต่มีแอปพลิเคชั่นมากมายที่เป็นข้อสันนิษฐานที่สมเหตุสมผล (คิดว่า Active Directory หรือ Microsoft Exchange)

รูปแบบการใช้งาน 2 – การใช้เครือข่ายข้อมูลภายใน (Use Internal VPC Endpoints)

การรับส่งข้อมูลเข้าหรือออกจากอินเทอร์เน็ตมีค่าใช้จ่าย ไม่ว่าเราจะใช้ Services ของ Alibaba Cloud แบบใด
เราสามารถหลีกเลี่ยงค่าใช้จ่ายเหล่านี้ได้โดยใช้ตำแหน่งข้อมูลภายใน (VPC) เพื่อเชื่อมต่อบริการต่างๆ เข้าด้วยกันทุกครั้งที่ทำได้ บริการทั่วไปหลายอย่าง เช่น OSS มีจุดสิ้นสุด VPC ภายในที่บริการอื่นๆ (เช่น ECS) สามารถใช้เพื่อเชื่อมต่อภายในเครือข่ายส่วนตัวของ Alibaba Cloud
ตัวอย่างเช่น ในภูมิภาคสิงคโปร์ ค่าใช้จ่ายสำหรับการรับส่งข้อมูลขาออกคือ 0.08 USD / GB สำหรับการใช้งานการรับส่งข้อมูลในช่วง 5 GB ถึง 10 TB สำหรับปริมาณการใช้อินเทอร์เน็ต 100 GB ค่าใช้จ่ายจะเท่ากับ 8.00 USD
ปริมาณการใช้ 100 GB เดียวกันนั้นจากอินสแตนซ์ ECS ของสิงคโปร์ไปยัง OSS ผ่านเครือข่าย VPC ภายในจะไม่เสียค่าใช้จ่ายใดๆ! เพราะฉะนั้นใช้ปลายทางเครือข่ายภายในเสมอทุกครั้งที่ทำได้!

รูปแบบการใช้งาน 3 – เลือกโซลูชันการจัดเก็บที่เหมาะสม

หลีกเลี่ยงการใช้ Cloud Disks เพื่อจัดเก็บไฟล์จำนวนมาก ให้ใช้ Object Storage Service แทนเมื่อทำได้

ลองเปรียบเทียบค่าใช้จ่าย (ในสิงคโปร์):
พื้นที่ดิสก์บนคลาวด์ ESSD PL0 100 GB เป็นเวลา 1 เดือน: 11.20 USD
พื้นที่เก็บข้อมูล OSS 100 GB เป็นเวลา 1 เดือน: 2.00 USD
ลดราคามากกว่า 5 เท่า!

เราสามารถประหยัดค่าใช้จ่ายเพิ่มเติมได้โดยการใช้งาน OSS เพื่อย้ายข้อมูลที่เก่ากว่าไปยังระดับพื้นที่จัดเก็บข้อมูลที่ “ใช้น้อยกว่า” โดยอัตโนมัติ ซึ่งมีต้นทุนต่อ GB ที่ต่ำกว่า

มาดูกันว่าวิธีนี้ช่วยประหยัดเงินได้อย่างไร:
อันดับแรก สมมติว่าเราเก็บข้อมูล 1 TB ไว้ในระดับพื้นที่จัดเก็บ “Standard LRS” (ระดับพื้นที่จัดเก็บข้อมูล “hot” เริ่มต้นของ OSS) เป็นเวลา 12 เดือน ค่าใช้จ่ายทั้งหมดจะเท่ากับ 1024 GB x 0.02 USD/GB/เดือน x 12 เดือน สำหรับราคา 245.76 USD

เราจะเสียค่าใช้จ่ายอะไรหากเราใช้ Lifecycle rules เพื่อเปลี่ยนระหว่างคลาสพื้นที่จัดเก็บ ขึ้นอยู่กับว่าเรากำหนดค่ากฎวงจรชีวิตของเราอย่างไร แต่สมมติว่าเราลงเอยด้วยสิ่งนี้:

4 เดือนแรก
1024 GB ในการจัดเก็บ LRS มาตรฐาน (81.92 USD)
0 GB ในพื้นที่เก็บข้อมูล Infrequent Access (IA) (0 USD)
0 GB ในการจัดเก็บข้อมูลถาวร (0 USD)
รวม: 81.92 USD

อีก 4 เดือนข้างหน้า
512 GB ในการจัดเก็บ LRS มาตรฐาน (40.96 USD)
512 GB ในพื้นที่เก็บข้อมูล Infrequent Access (IA) (30.72 USD)
0 GB ในการจัดเก็บข้อมูลถาวร (0 USD)
รวม: 71.68 USD

4 เดือนที่ผ่านมา
256 GB ในการจัดเก็บ LRS มาตรฐาน (20.48 USD)
256 GB ในพื้นที่เก็บข้อมูล Infrequent Access (IA) (15.36 USD)
256 GB ในการจัดเก็บข้อมูลถาวร (4.608 USD)
รวม: 40.448 USD

ตลอดทั้งปี ส่งผลให้มีค่าใช้จ่าย 194.048 USD ซึ่งถูกกว่าการปล่อยให้ข้อมูลทั้งหมดนี้อยู่ในระดับพื้นที่จัดเก็บ LRS มาตรฐานประมาณ 20% เพราฉะนั้นใช้กฎวงจร (Lifecycle rules) ในการใช้งานกับบัคเก็ต OSS ของคุณทุกครั้งที่ทำได้

รูปแบบการใช้งาน 4 – การใช้งานฟังก์ชันแทน VM (Go Serverless)

โดยทั่วไป Serverless จะทำให้เราเสียค่าใช้จ่ายน้อยลง สำหรับลูกค้าส่วนใหญ่ การใช้จ่ายบนคลาวด์ส่วนใหญ่นั้นคือบริการ Virtual Machine เช่น ECS เนื่องจากจำเป็นต้องเรียกใช้ 24×7
สำหรับแอปพลิเคชันหลายประเภท จำเป็นจริงๆ เท่านั้นที่จะเรียกใช้โค้ดเพื่อตอบสนองต่อเหตุการณ์ เช่น การเรียก API ตัวอย่างเช่น หากเรามีเว็บไซต์ที่สร้างมีม คุณจะต้องเรียกใช้โค้ดการสร้างมีมของเราจริงๆ เมื่อผู้ใช้ส่งรูปภาพและคำอธิบายภาพใหม่ไปยังบริการของเรา เราไม่จำเป็นต้องเรียกใช้เซิร์ฟเวอร์ 24×7 เราสามารถใช้บริการเช่น Function Compute ของ Alibaba Cloud เพื่อทำสิ่งนี้ได้ในราคาถูกมาก

การเปรียบเทียบระหว่าง ECS และ Function Compute

สมมติว่าเราได้ใช้เว็บแอปอย่างง่ายที่ได้รับคำขอ 1,000 รายการต่อวัน การให้บริการแต่ละคำขอจะสร้างการรับส่งข้อมูลเครือข่ายประมาณ 512 KB
หากคุณเรียกใช้ปริมาณงานนี้บนอินสแตนซ์ g6e.large จะมีค่าใช้จ่ายประมาณ 65.22 USD ต่อเดือนสำหรับอินสแตนซ์นั้นเอง และคำขอจะส่งผลให้มีการรับส่งข้อมูลเครือข่ายประมาณ 15 GB ต่อเดือน ในราคาต่อกิกะไบต์ 0.081 USD เท่ากับ 1.22 USD สำหรับราคารวม 66.44 USD

หากเราใช้ Function Compute แทน เรามี 3 ค่าใช้จ่ายที่เราต้องกังวล:
1. ค่าธรรมเนียมการเรียกใช้ฟังก์ชัน (เราจ่าย 0.02 USD ต่อการเรียกใช้ฟังก์ชัน 1 ล้านครั้ง)
2. การใช้ทรัพยากร (หน่วยความจำที่ใช้ x เวลาทำงาน)
3. ปริมาณการใช้เครือข่าย (0.117 USD ต่อ GB)
ในช่วง 1 เดือนของเรา เราจะโทรออกฟังก์ชันได้ประมาณ 30,000 ครั้งเท่านั้น นี่อยู่ในระดับฟรี (ฟรี 1 ล้านแรกในแต่ละเดือน) ดังนั้นค่าใช้จ่ายในการเรียกใช้ฟังก์ชันของเราคือ 0 USD!
หากเราคิดว่าแต่ละคำขอใช้เวลาประมาณ 2 วินาทีในการประมวลผล และแต่ละคำขอใช้ 1 “หน่วยคำนวณ” (หน่วยความจำ 1 GB) ค่าใช้จ่ายคือ 0.000016384 x 1 GB x 2 วินาที / คำขอ x 1,000 คำขอ / วัน x 30 วัน/เดือน ซึ่งทำให้เรามีค่าใช้จ่ายประมาณ 0.98 USD

ต้นทุนเครือข่ายของเราเป็นต้นทุนสูงสุดที่เราต้องจ่ายที่นี่ 0.117 USD/GB x 15 GB สำหรับราคา 2.74 USDซึ่งหมายความว่าสำหรับแอปพลิเคชันตัวอย่างนี้ Function Compute มีราคาถูกกว่า ECS มากกว่า 20 เท่า! การประหยัดประเภทนี้ไม่ใช่เรื่องแปลกเมื่อคุณเปลี่ยนไปใช้ Serverless ดังนั้นจึงเป็นเรื่องที่ควรพิจารณาอย่างยิ่งหากคุณมีแอปพลิเคชันที่ต้องใช้ event-driven และง่ายต่อการเชื่อมต่อ

Facebook

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *