
“30% of Cloud Spending is Potentially Wasted” เป็นประโยคที่น่าสนใจสำหรับคนทำ Platform เพราะ tools หลัก ๆ ของพวกเรานั้น run อยู่บน cloud ทำให้ต้องกลับมามองงานที่กำลังทำอยู่ว่าเราสามารถใช้ resources ที่มีอยู่ให้คุ้มค่ามากขึ้นได้อย่างไร?
ช่วงหลัง ๆ คำว่า FinOps เริ่มได้รับความสนใจมากขึ้น เพราะเป็นแนวคิดที่ช่วยเราจัดการ cloud ให้มีประสิทธิภาพและคุ้มค่ามากขึ้น พวกเราก็เลยเริ่มหยิบเอา FinOps Framework มาลองใช้กันในกลุ่มเล็ก ๆ ก่อน เพื่อเรียนรู้และทดสอบว่าจะช่วยลด costs และเพิ่ม visibility ในการใช้ resources ได้มากน้อยแค่ไหน
วันนี้เลยขอยกแนวทาง Start Small, Iterate Often โดยการนำ FinOps Phases จาก FinOps Framework มานำเสนอ ซึ่งประกอบด้วย 3 ขั้นตอนหลักที่ทำซ้ำอย่างต่อเนื่อง เพื่อให้การใช้ cloud มีความคุ้มค่าสูงสุด ได้แก่
- Inform: สร้างความโปร่งใส ให้ทุกฝ่ายสามารถเห็นการใช้งาน cloud และต้นทุนอย่างชัดเจน
- Optimize: วางกลยุทธ์เพื่อลดต้นทุน โดยกำจัด resources ที่ไม่จำเป็น และปรับปรุงประสิทธิภาพให้ดีขึ้น
- Operate: ควบคุมการใช้งานให้มีประสิทธิภาพต่อเนื่อง เพื่อให้มั่นใจว่าใช้ resources เหมาะสมและคุ้มค่าที่สุด
Inform : สายตาหลอกกันไม่ได้
การทำให้ costs ที่เกิดขึ้นจากการทำงานบน cloud มองเห็นได้อย่างชัดเจนและทำให้ทุกคนในทีมตระหนักถึงรายจ่ายที่เกิดขึ้นในแต่ละวัน เป็นหนึ่งในเป้าหมายหลักของพวกเรา แน่นอนว่าข้อมูลเหล่านี้ต้องมีความถูกต้องและใกล้เคียง real-time มากที่สุด เพื่อให้ตรวจสอบและปรับปรุงการใช้งานได้อย่างรวดเร็ว ลดความสูญเปล่า และเพิ่มประสิทธิภาพในการใช้ทรัพยากรอย่างสูงสุด
ในการทำงานกับ cloud บน AWS พวกเราใช้ Cost and Usage Report (CUR) เป็นเครื่องมือหลักในการดึง cost data ของแต่ละ account ออกมาเก็บไว้ใน S3 จากนั้นใช้ Athena เพื่อ query ข้อมูลต่าง ๆ ตาม dimension หรือ view ที่เราสนใจ เพื่อวิเคราะห์และเข้าใจการใช้งานที่เกิดขึ้น

แน่นอนว่าพวกเราชอบ visualization ที่มีสีสันและสามารถปรับแต่งกราฟได้อย่างอิสระ ทำให้เราเลือกใช้ Grafana เป็นเครื่องมือในการแสดงข้อมูล costs เพื่อให้ทุกคนเข้าถึงและดูข้อมูลได้ง่าย รวมถึงจัดการ alerts ต่าง ๆ เพื่อให้ตอบสนองต่อเหตุการณ์ที่สำคัญได้ทันท่วงที

Optimize : แล้วยังไงต่อ
หลังจากที่เรา collect cost data จาก accounts ต่าง ๆ แล้ว ขั้นตอนต่อไปคือการ analyze การใช้งานของ servers และ services ต่าง ๆ เช่น Jenkins, SonarQube, Nexus เพื่อดูว่าทรัพยากรที่ขอใช้นั้นถูกใช้งานอย่างคุ้มค่าหรือไม่สำหรับงานนี้ พวกเราใช้ AWS Compute Optimizer เป็น data source หลักในการประเมินประสิทธิภาพของ EC2 instances และ EBS volumes โดยข้อมูลจาก Compute Optimizer จะถูก export ไปยัง S3 จากนั้นใช้ Athena เพื่อทำ query และแสดงผลบน Grafana เช่นเดียวกับ cost data ทำให้เรามองเห็นว่า resources ไหนไม่ได้ถูกใช้เต็มประสิทธิภาพ (not optimized) และสามารถ take action ได้ทันที เช่น
- Resize เครื่องที่มี underutilized resources เพื่อลดต้นทุน
- Migrate จาก AMD ไปใช้ ARM (Graviton) เพื่อประหยัดค่าใช้จ่ายและเพิ่มประสิทธิภาพ
การใช้แนวทางนี้ทำให้เราจัดการทรัพยากรได้อย่างมีประสิทธิภาพมากขึ้นและลด waste ได้อย่างชัดเจน


Operate : การลบไม่ช่วยให้ลืม
เพื่อควบคุมการใช้งานให้มีประสิทธิภาพอย่างต่อเนื่อง พวกเราจัด cost review meetings กันเป็นประจำทุกเดือน โดยมีวัตถุประสงค์หลักคือ สรุปค่าใช้จ่ายของเดือนที่ผ่านมา list action items สำหรับการปรับปรุง และ gather feedback จาก team members เพื่อปรับปรุงการทำงานและลดค่าใช้จ่ายให้มากขึ้น
นอกจากนี้ พวกเรายังเลือกใช้ tool อย่าง Cloud Custodian เป็นเครื่องมือช่วยในการ manage cloud resources โดยทำให้เราสามารถกำหนด policies เพื่อ cleanup resources แบบอัตโนมัติ ลดภาระงานที่ซ้ำซ้อน และช่วยป้องกันการเกิด resource sprawl ทำให้การดูแล cloud environment ของเรามีประสิทธิภาพและควบคุมค่าใช้จ่ายได้ดียิ่งขึ้น

Gale : ดีใจด้วยนะ

- From September to October: -4.40%
- From October to November: -9.01%
- From November to December: -1.65%
จากการเริ่มต้นปรับปรุงเล็ก ๆ แต่ต่อเนื่องของเรา สามารถลดค่าใช้จ่ายบน cloud ได้อย่างมีนัยสำคัญ โดยยังคงรักษาประสิทธิภาพของ services ต่าง ๆ ให้ทำงานได้อย่างปกติ โดยไม่กระทบต่อประสบการณ์ของผู้ใช้ นอกจากนี้ เรายังมีโอกาสได้ใช้ instance รุ่นใหม่จาก cloud provider ที่มีประสิทธิภาพและต้นทุนที่ดีกว่า ซึ่งเป็นผลมาจากการใช้ FinOps Framework ในการจัดการทรัพยากร ทำให้เรามองเห็นและควบคุมการใช้งาน cloud ได้อย่างมีประสิทธิภาพมากขึ้น หวังว่าวิธีการนี้จะเป็นประโยชน์สำหรับผู้ที่ต้องการลดต้นทุนและเพิ่มประสิทธิภาพในการใช้งาน cloud ของตนเอง
ท้ายนี้ หากองค์กรท่านกำลังมองหาโซลูชันด้าน DevOps ช่วยปรับรูปแบบการทำงานให้เป็นอัตโนมัติ ลดต้นทุนการทำธุรกิจ SCB TechX พร้อมเป็นโซลูชันที่ช่วยพัฒนาและ deliver ผลิตภัณฑ์และบริการออกสู่ตลาด ต่อยอดองค์กรของท่านให้เติบโตอย่างยั่งยืน สนใจบริการติดต่อเราได้ที่ https://bit.ly/3RTZ54B
#SCBTechX #xPlatform #DevOpsaaS #DevOpsSolutions #SoftwareCatalog #SDLC #SystemIntegrator #SI #FinOps
แหล่งอ้างอิง
- https://www.forbes.com/sites/joemckendrick/2020/04/29/one-third-of-cloud-spending-wasted-but-still-accelerates/
- https://www.finops.org/framework/phases/
- https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html
- https://aws.amazon.com/compute-optimizer/
- https://cloudcustodian.io/
- https://grafana.com/