7 คะแนน โดย GN⁺ 2023-11-21 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • OneUptime ซึ่งเป็นแพลตฟอร์ม Observability แบบโอเพนซอร์ส ได้ย้ายโครงสร้างพื้นฐานจาก AWS ไปยังโซลูชัน bare metal ทำให้ควบคุมทรัพยากรได้ดีขึ้นและประหยัดค่าใช้จ่ายได้อย่างมาก
  • ลูกค้าส่วนใหญ่ใช้งาน public cloud อยู่แล้ว และเพื่อให้บริการแจ้งเตือนได้แม้เกิดเหตุขัดข้องกับคลาวด์ จึงจำเป็นต้องมีดาต้าเซ็นเตอร์ที่เป็นอิสระ

การตั้งค่าเริ่มต้น: Kubernetes บน AWS

  • ใช้ Elastic Kubernetes Service (EKS) แบบ managed ของ AWS เพื่อใช้งาน Kubernetes cluster
  • OneUptime สร้างระบบบนซอฟต์แวร์โอเพนซอร์สที่ไม่ได้ผูกกับ AWS โดยเฉพาะ เช่น Redis, Postgres, Clickhouse, Docker, NodeJS และ BullMQ
  • หลีกเลี่ยงการพึ่งพา AWS เพื่อให้ลูกค้าสามารถ self-host OneUptime บนคลัสเตอร์ของตัวเองได้

การเปลี่ยนผ่าน: ย้ายไปสู่ bare metal

  • ตัดสินใจเปลี่ยนไปใช้โซลูชัน bare metal ในฐานะส่วนหนึ่งของการมุ่งสู่ความเป็นเลิศด้านเทคนิค
  • เลือกใช้งาน Microk8s cluster ใน colocation facility โดยอิงจากประสบการณ์ที่ผ่านมาและเป้าหมายที่มองไปข้างหน้า
  • Microk8s สามารถใช้ได้แม้ใน production environment และการย้ายไปใช้เซิร์ฟเวอร์ bare metal ก็ช่วยให้ได้ทรัพยากรแบบเฉพาะและปรับแต่งประสิทธิภาพได้

บทบาทของ Kubernetes และ Helm

  • Kubernetes และ Helm มีบทบาทสำคัญในการย้ายจากคลาวด์ไปยังเซิร์ฟเวอร์ของตนเอง
  • Kubernetes คือแพลตฟอร์มโอเพนซอร์สสำหรับทำ deployment, scaling และ automation ของการดำเนินงานแอปพลิเคชันแบบคอนเทนเนอร์
  • Helm คือ package manager ที่ช่วยให้การกำหนด ติดตั้ง และอัปเกรดแอปพลิเคชันบน Kubernetes ง่ายขึ้น

สตอเรจและโหลดบาลานเซอร์

  • ใน bare-metal Kubernetes cluster นั้น ใช้ Network File System (NFS) สำหรับ volume และใช้ MetalLB สำหรับ load balancer
  • NFS คือโปรโตคอล distributed file system ที่ทำให้คอมพิวเตอร์ฝั่งไคลเอนต์เข้าถึงไฟล์ผ่านเครือข่ายได้
  • MetalLB คือการติดตั้งใช้งาน load balancer สำหรับ bare-metal Kubernetes cluster ที่ใช้มาตรฐาน routing protocol

ผลกระทบทางการเงิน: ประหยัดได้มากกว่า $230,000 ต่อปี

  • ตอนใช้งาน AWS มีค่าใช้จ่ายมากกว่า $38,000 ต่อเดือน หรือมากกว่า $456,000 ต่อปี
  • หลังย้ายไป bare metal ใช้ single rack configuration ของพาร์ตเนอร์ colocation ทำให้ลดค่าใช้จ่ายในการดำเนินงานเหลือราว $5,500 ต่อเดือน
  • เมื่อนำค่าเซิร์ฟเวอร์ไปเฉลี่ยตัดจำหน่ายตลอด 5 ปี จะประหยัดได้มากกว่า $230,000 ต่อปี และเงินที่ประหยัดได้สามารถนำไปเพิ่มบุคลากรและจัดสรรทรัพยากรให้ส่วนอื่นของธุรกิจได้

สิ่งที่ต้องพิจารณา

  • มีการสำรองข้อมูลไปยังสำนักงานสองแห่งวันละหลายครั้ง และยังสามารถสำรองขึ้น public cloud ได้ด้วย
  • สามารถรัน Kubernetes cluster แบบหลายโลเกชันใน colocation facility สองแห่งที่อยู่คนละทวีปได้
  • เตรียม backup cluster ไว้บน AWS และสามารถเปิดใช้งานได้ภายใน 10 นาทีเมื่อเกิดภัยพิบัติ
  • การย้ายไปใช้ bare metal ไม่ได้จำเป็นต้องจ้างผู้ดูแลเซิร์ฟเวอร์เสมอไป เพราะ colocation facility จะดูแลงานบำรุงรักษาฮาร์ดแวร์ส่วนใหญ่ให้
  • Microk8s ไม่ได้ใช้แค่เพื่อการพัฒนาเท่านั้น แต่ยังใช้ใน production environment ได้ด้วย และหากจำเป็นก็สามารถย้ายไปใช้ Kubernetes distribution อื่นได้ง่าย

บทสรุป

  • บริการคลาวด์อย่าง AWS ให้ทั้งความยืดหยุ่นและความทรงพลัง แต่ไม่ได้เป็นทางเลือกที่คุ้มค่าสำหรับทุกบริษัทเสมอไป
  • การใช้เทคโนโลยีโอเพนซอร์สร่วมกับการลงทุนในฮาร์ดแวร์ของตนเอง ช่วยเพิ่มการควบคุมทรัพยากรและลดต้นทุนการดำเนินงานได้อย่างมาก
  • แต่ละธุรกิจมีความต้องการเฉพาะตัว จึงควรประเมินอย่างรอบด้านก่อนตัดสินใจย้าย

ความเห็นของ GN⁺

ประเด็นสำคัญที่สุดของบทความนี้คือ ข้อดีด้านการควบคุมและการประหยัดต้นทุนที่องค์กรจะได้รับจากการย้ายจากบริการคลาวด์ไปสู่โครงสร้างพื้นฐานแบบ bare metal เหตุผลที่บทความนี้น่าสนใจคือมันแสดงให้เห็นผ่านกรณีตัวอย่างที่เป็นรูปธรรมว่า การตัดสินใจทางเทคนิคสามารถส่งผลต่อผลลัพธ์ทางการเงินได้อย่างไร ด้วยความก้าวหน้าของเทคโนโลยีอย่าง Docker, Kubernetes, Helm และ Microk8s การย้ายลักษณะนี้จึงง่ายกว่าหลายปีก่อนมาก และย้ำให้เห็นถึงความสำคัญของการเลือกเทคโนโลยีและคุณค่าของการวางกลยุทธ์

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

 
hhcrux 2023-11-22

230,000 ดอลลาร์... เงินจำนวนนั้นไม่ใช่ว่าถ้าจ้างผู้ดูแลมาดูแลเซิร์ฟเวอร์โคโลเคชันสักสองคนก็หมดแล้วหรือครับ เหตุผลที่ใช้บริการแบบ managed service เต็มรูปแบบก็เพื่อประหยัดค่าใช้จ่ายส่วนนั้นนี่นา

 
gunrok 2023-11-23

ก็จริงอย่างที่คุณว่า แต่กับ AWS ก็มีจุดที่ต้องใช้วิศวกร AWS ที่เป็นผู้เชี่ยวชาญเฉพาะทางในแต่ละด้านเหมือนกัน

 
wedding 2023-11-21

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

 
GN⁺ 2023-11-21
ความเห็นจาก Hacker News
  • การใช้ Reserved Instances และ Savings Plans สามารถลดค่าใช้จ่ายของ AWS ได้มาก ซึ่งใช้ได้กับค่าโอนถ่ายข้อมูลและค่าจัดเก็บด้วย และแม้จะประหยัดได้จริงมาก แต่ก็ไม่ได้ต่างอย่างหวือหวาเท่าที่คิดในตอนแรก
  • เมื่อพิจารณาสภาพเศรษฐกิจปัจจุบัน หลายคนพูดว่า "สามารถจ้างวิศวกรเพิ่มได้อีกหนึ่งคน" แต่ควรจำไว้ว่า "สามารถรักษาวิศวกรไว้ได้อีกหนึ่งคน" ด้วย ต้องคิดว่าจะปลดคนในทีมเพื่อคง AWS ไว้หรือไม่
  • การดูแลแร็กเซิร์ฟเวอร์ไม่ใช่เรื่องใหญ่โตอย่างที่หลายคนคิด วิศวกรสาย cloud-native มักไม่อยากเรียนรู้เรื่องการดูแลฮาร์ดแวร์
  • หากไม่ได้ใช้บริการคลาวด์และใช้เพียงแค่ virtual machine อย่างเดียว กรณีนี้มีคุณค่าอยู่ไม่บ่อยนัก สำหรับหลายคน การเช่า dedicated server อาจเป็นการตัดสินใจทางธุรกิจที่ดีที่สุดได้ อาจถูกกว่า EC2 มาก และหากมีความจุส่วนเกินจำนวนมาก ก็สามารถแก้ปัญหาการสเกลทั่วไปได้
  • ควรโฟกัสที่เป้าหมายทางธุรกิจและไม่ไหลไปตามกระแส มีบางกรณีที่ downtime เป็นปัญหาใหญ่ แต่สำหรับหลายธุรกิจ ค่าใช้จ่ายจากบริการหยุดไปไม่กี่นาทียังถูกกว่าการออกแบบกลไก high availability (HA) ที่ซับซ้อนและมีราคาแพงมาก
  • ถ้าเลือกซื้อ Toyota Camry แทน Ferrari บน AWS ก็ประหยัดเงินได้มาก เรื่องเล่าแบบนี้มักเป็นบล็อกสแปมที่บริษัทอ้างว่าประสบความสำเร็จจากแฮ็กใหม่สุดล้ำ ทั้งที่จริงแล้วแค่เผาเงินสดเพราะไม่รู้วิธีควบคุมรายจ่าย
  • เพิ่งเมื่อวานนี้เองที่ยังตามหาผู้ให้บริการ colocation อยู่ จึงน่าสงสัยกับคำกล่าวอ้างว่าประหยัดได้ถึง 230,000 ดอลลาร์อย่างรวดเร็ว
  • เมื่อพิจารณาความคุ้มค่าต่อค่าใช้จ่ายแล้ว หากไม่ต้องทุ่มแรงงานระดับ 1 คน-ปีไปกับการดูแลเซิร์ฟเวอร์เอง ก็ถือว่าเลือกได้ถูกต้องแล้ว
  • โพสต์นี้ให้รายละเอียดน้อยมาก จึงยากที่จะตัดสินว่ามีคุณค่าจริงหรือไม่
  • ธุรกิจมีไว้เพื่อทำเงิน และสิ่งที่ทำเงินคือผลิตภัณฑ์ ไม่ใช่ความสามารถในการดูแลฮาร์ดแวร์และโครงสร้างพื้นฐาน IT
  • หากใช้จ่ายกับ AWS ปีละ 500,000 ดอลลาร์ และโครงสร้างพื้นฐานค่อนข้างเรียบง่าย รวมถึงไม่ได้คาดว่ารายจ่ายจะเพิ่มขึ้นมาก การย้ายออกจากคลาวด์ก็อาจสมเหตุสมผลจริง
  • หากใช้จ่ายกับ AWS ปีละ 500,000 ดอลลาร์ เพียงแค่ใส่ตัวเลขลงใน Excel แล้วนั่งตรวจดูสักหนึ่งชั่วโมง ก็จะเห็นได้ว่ามีจุดที่ประหยัดได้อย่างชัดเจน และนี่เป็นสิ่งที่ควรทำก่อนจะใช้จ่ายกับ AWS ปีละหลายแสนดอลลาร์