นักพัฒนารื้อฟื้นการโฮสต์เซิร์ฟเวอร์เอง หลังต้นทุนคลาวด์พุ่งสูง กระตุ้นการถกเถียงเรื่องโครงสร้างพื้นฐาน

ทีมชุมชน BigGo
นักพัฒนารื้อฟื้นการโฮสต์เซิร์ฟเวอร์เอง หลังต้นทุนคลาวด์พุ่งสูง กระตุ้นการถกเถียงเรื่องโครงสร้างพื้นฐาน

ชุมชนเทคโนโลยีกำลังประสบกับการเปลี่ยนแปลงทางปรัชญาเกี่ยวกับโครงสร้างพื้นฐานอย่างมีนัยสำคัญ เมื่อนักพัฒนากลับมาค้นพบอีกครั้งถึงความคุ้มค่าของการโฮสต์เซิร์ฟเวอร์เอง กรณีศึกษาล่าสุดที่แสดงให้เห็นว่า Idealist.org สามารถแทนที่ค่าใช้จ่ายสภาพแวดล้อมสเตจจิงบน Heroku ที่อาจสูงถึง 3,000 ดอลลาร์สหรัฐต่อเดือน ด้วยเซิร์ฟเวอร์จาก Hetzner ที่มีค่าใช้จ่ายเพียง 55 ดอลลาร์สหรัฐต่อเดือน ได้จุดประกายการอภิปรายอย่างร้อนแรงเกี่ยวกับโมเดลการกำหนดราคาของคลาวด์และจังหวะเวลาที่การโฮสต์เองมีความสมเหตุสมผล

บทสนทนานี้เกิดขึ้นในช่วงเวลาที่หลายองค์กรกำลังทบทวนการใช้จ่ายบนคลาวด์อีกครั้ง โดยนักพัฒนาได้แบ่งปันประสบการณ์เกี่ยวกับการประหยัดต้นทุนได้อย่างมากและสิ่งที่ต้องแลกเปลี่ยนระหว่างการจัดการโครงสร้างพื้นฐานด้วยตนเองกับการจ่ายเงินในราคาพรีเมียมสำหรับบริการที่จัดการให้

การตื่นตัวเรื่องต้นทุนคลาวด์

นักพัฒนาหลายคนกำลังประสบกับอาการช็อกเมื่อตรวจสอบใบเรียกเก็บเงินสำหรับบริการคลาวด์ โดยเฉพาะอย่างยิ่งสำหรับสภาพแวดล้อมที่ไม่ใช่สำหรับการผลิตจริง กรณีศึกษาของ Idealist.org เปิดเผยว่าสิ่งที่อาจกลายเป็นค่าใช้จ่าย 3,000 ดอลลาร์สหรัฐต่อเดือนสำหรับสภาพแวดล้อมสเตจจิงหกตัวนั้น ลดลงเหลือเพียง 55 ดอลลาร์สหรัฐต่อเดือนโดยการย้ายไปใช้เซิร์ฟเวอร์ Hetzner CCX33 เพียงตัวเดียว ความแตกต่างของราคาที่สูงถึง 50 เท่านี้ ได้สร้างกระแสตอบรับไปทั่วชุมชนนักพัฒนา

ผู้ใช้หนึ่งให้ความเห็นถึงบริบททางประวัติศาสตร์: คลาวด์เป็นข้อตกลงที่ดีในปี 2006 เมื่อเครื่อง AWS ที่เล็กที่สุดมีขนาดประมาณเดสก์ท็อปสำหรับพัฒนาระดับพอใช้และต้องใช้เวลาราวสองปีในการเช่าเพื่อคุ้มค่ากับการซื้อเครื่องทางกายภาพ outright แต่ในวันนี้เครื่อง AWS ที่เล็กที่สุด และแม้แต่เครื่องขนาดใหญ่ ก็กลายเป็นเรื่องน่าขันแล้ว ความเห็นนี้สะท้อนถึงความตระหนักที่เพิ่มขึ้นว่าการกำหนดราคาคลาวด์ไม่ได้ก้าวทันกับการพัฒนาของฮาร์ดแวร์ โดยเฉพาะสำหรับองค์กรที่ก้าวพ้นช่วงสตาร์ทอัพแล้ว

สิ่งที่ต้องแลกเปลี่ยนในประสบการณ์นักพัฒนา

ในขณะที่การประหยัดต้นทุนเป็นสิ่งที่ปฏิเสธไม่ได้ ชุมชนก็ยอมรับว่ามีการแลกเปลี่ยนที่สำคัญเกิดขึ้น Heroku และแพลตฟอร์มที่คล้ายกันให้ความสะดวกสบายซึ่งโซลูชันการโฮสต์เองต้องทำงานหนักเพื่อให้เทียบเท่าได้ เวิร์กโฟลว์การ deploy โดยการ git push, การจัดการใบรับรอง SSL อัตโนมัติ และการตรวจสอบสถานะในตัว เป็นฟีเจอร์ที่นักพัฒนาเคยชิน

การสอนพื้นฐานคลาวด์ให้กับนักพัฒนาจำนวนหนึ่ง และมีทีมงานคลาวด์อยู่รอบๆ เป็นสิ่งที่ค่อนข้างถูกอยู่นานทีเดียว ยิ่งไปกว่านั้น การมีสภาพแวดล้อม test/staging/prod ที่มีการกำหนดค่าใกล้เคียงกันจะช่วยตรวจจับข้อผิดพลาดได้เร็วขึ้น

ความเห็นนี้เน้นยึงถึงคุณค่าของสภาพแวดล้อมที่สม่ำเสมอทั่วทั้งการพัฒนา สเตจจิง และการผลิต อย่างไรก็ตาม เครื่องมือต่างๆ เช่น Disco, Coolify, Dokku และ CapRover กำลังเข้ามาเติมเต็มช่องว่างนี้โดยมอบประสบการณ์นักพัฒนาที่คล้ายคลึงกัน ในขณะที่ทำงานบนโครงสร้างพื้นฐานที่มีราคาถูกกว่า

ทางเลือกการ Self-Hosting ยอดนิยมที่ถูกกล่าวถึง

  • Disco: PaaS แบบโอเพนซอร์สที่เน้นประสบการณ์ของนักพัฒนา
  • Coolify: แพลตฟอร์มสำหรับติดตั้งแอปพลิเคชันแบบ self-hostable
  • Dokku: mini-Heroku ที่ขับเคลื่อนด้วย Docker
  • CapRover: แพลตฟอร์มสำหรับติดตั้งแอปพลิเคชันที่ใช้งานง่าย
  • Kamal: เครื่องมือสำหรับการติดตั้งจาก Basecamp
  • Canine: ทางเลือก PaaS แบบโอเพนซอร์ส

การเปลี่ยนแนวคิด: จากความขาดแคลนสู่ความอุดมสมบูรณ์

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

ผู้ใช้หลายคนแบ่งปันประสบการณ์ที่คล้ายกัน ผู้ใช้หนึ่งอธิบายว่าองค์กรของพวกเขาย้ายบริการ 300 รายการไปยังเซิร์ฟเวอร์ Hetzner เดียวที่มีค่าใช้จ่าย 300 ดอลลาร์สหรัฐต่อเดือน ซึ่งขจัดอุปสรรคทางจิตใจที่ว่า แอปยูทิลิตีเล็กๆ นี่ที่ฉันเพิ่งเขียนไป มันคุ้มค่าที่จะจ่าย 15 ดอลลาร์สหรัฐต่อเดือนเพื่อโฮสต์จริงๆ หรือ? อีกคนกล่าวถึงการรันโปรเจกต์เว็บประมาณ 75 โปรเจกต์บน Raspberry Pi เดียวที่ศูนย์ retreat ด้านการโค้ด แนวคิดแบบความอุดมสมบูรณ์นี้ส่งเสริมการทดลองและกระบวนการทำซ้ำที่เร็วขึ้น

ตรวจสอบความเป็นจริงในการดำเนินงาน

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

ตามที่ผู้ใช้หนึ่งให้ความเห็นอย่างชาญฉลาด ฉันขอแนะนำอย่างยิ่งให้เพิ่มวันทำงานของมนุษย์ลงในการคำนวณต้นทุนของคุณ สำหรับองค์กรที่จ่ายเงินให้นักพัฒนา 250,000 ดอลลาร์สหรัฐต่อปีขึ้นไป การคำนวณอาจไม่เป็นผลดีเท่ากับองค์กรที่จ่าย 150,000 ดอลลาร์สหรัฐต่อปี สิ่งสำคัญคือการทำความเข้าใจขีดความสามารถและลำดับความสำคัญของทีมของคุณ — ไม่ว่าการประหยัดเงินจะคุ้มค่ากับภาระการดำเนินงานหรือไม่

เปรียบเทียบ: Heroku กับสภาพแวดล้อม Staging แบบ Self-Hosted

ด้าน Heroku (6 environments) Self-Hosted (Hetzner)
ค่าใช้จ่ายรายเดือน ~$3,000 USD $55 USD
สเปกเซิร์ฟเวอร์ dynos และ add-ons หลายแบบ 8 vCPU, 32GB RAM
การ Deploy Git push Git push (ผ่าน Disco)
ฐานข้อมูล Managed add-ons แยกตาม environment PostgreSQL instance ใช้ร่วมกัน
SSL Certificates อัตโนมัติ อัตโนมัติ (ผ่าน Disco)
ภาระงานด้านการดำเนินงาน ต่ำ (มีการจัดการให้) ปานกลาง (จัดการเอง)
การสร้าง Environment มีค่าใช้จ่ายสูง แทบไม่มีค่าใช้จ่าย

เมื่อใดที่การโฮสต์เองมีความสมเหตุสมผล

การอภิปรายในชุมชนเผยให้เห็นรูปแบบที่ชัดเจนเกี่ยวกับเวลาที่การโฮสต์เองให้คุณค่าสูงสุด สภาพแวดล้อมสเตจจิงและการพัฒนาเป็นตัวเลือกหลักเพราะโดยทั่วไปแล้วไม่ต้องการความน่าเชื่อถือในระดับเดียวกับระบบการผลิต ตามที่นักพัฒนาหนึ่งให้ความเห็น สำหรับองค์กรอย่างเรา เราต้องการ uptime 99% สำหรับบริการส่วนใหญ่ของเราจริงๆ (ไม่ใช่ 99.99%) เมื่อคุณตระหนักว่าคุณต้องการเพียง 99% โลกก็เปิดกว้าง

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

การสนทนาเกี่ยวกับคลาวด์กับการโฮสต์เองเป็นวัฏจักร แต่กระแสปัจจุบันสะท้อนถึงความสมบูรณ์แบบในวิธีที่นักพัฒนาคิดเกี่ยวกับต้นทุนโครงสร้างพื้นฐาน แทนที่จะมองว่าบริการคลาวด์เป็นตัวเลือกเริ่มต้น ทีมต่างๆ กำลังมีความกลยุทธ์มากขึ้นเกี่ยวกับสถานที่ที่พวกเขาโฮสต์ส่วนต่างๆ ของสแต็ก โดยจับคู่ความต้องการด้านความน่าเชื่อถือกับการพิจารณาด้านต้นทุนในลักษณะที่เพิ่มผลผลิตและประสิทธิภาพของงบประมาณให้สูงสุด

อ้างอิง: How Idealist.org Replaced a $3,000/mo Heroku Bill with a $55/mo Server