ทำไมแพลตฟอร์ม CMS ส่วนใหญ่ถึงดูแลรักษาได้ยากขึ้นเรื่อยๆ

CMS ทุกตัวดูเหมือนจะใช้งานง่ายในวันแรก

คุณติดตั้งมัน เลือกธีม และเพิ่มปลั๊กอิน ทุกอย่างดูรวดเร็วและควบคุมได้ง่าย

แต่ปัญหาจะเริ่มตามมาในอีกหกเดือนข้างหน้า

เมื่อโปรเจกต์ของคุณเติบโตขึ้น คุณก็ต้องการฟีเจอร์ใหม่ๆ คุณเพิ่มการเชื่อมต่อ (integrations) มากขึ้น, เวิร์กโฟลว์ที่ปรับแต่งเอง (custom workflows) และเครื่องมือ SEO สุดท้ายคุณจะพบว่าตัวเองมีกองปลั๊กอินและโค้ดที่เขียนขึ้นเองซ้อนทับกันเป็นชั้นๆ

สิ่งที่เริ่มต้นจากการเป็นเครื่องมือที่เรียบง่าย กลับกลายเป็นระบบที่เปราะบาง

ปัญหาเรื่องความยืดหยุ่น

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

แต่ความยืดหยุ่นมักจะทำลายความสามารถในการดูแลรักษา (maintainability)

ปลั๊กอินจากบุคคลที่สาม (third-party) ทุกตัวล้วนเพิ่มความเสี่ยง:

  • คุณต้องคอยจัดการการอัปเดตความปลอดภัยอย่างต่อเนื่อง
  • ปลั๊กอินสร้างเครือข่ายความเกี่ยวเนื่อง (dependencies) ที่ซับซ้อน
  • การเปลี่ยนแปลงเล็กๆ น้อยๆ กลายเป็นเรื่องน่ากลัว เพราะคุณกังวลว่าจะทำให้เว็บไซต์พัง

หนี้ทางเทคนิค (Technical Debt) ที่เพิ่มขึ้นอย่างเงียบเชียบ

ทีมต่างๆ มักให้ความสำคัญกับความเร็วในช่วงเริ่มต้น คุณเลือกติดตั้งปลั๊กอินแทนที่จะสร้างฟีเจอร์ขึ้นมาเอง หรือเลือกใช้การแก้ปัญหาเฉพาะหน้า (quick fix) แทนที่จะแก้ไขที่โครงสร้างสถาปัตยกรรม (architecture)

วิธีนี้อาจใช้ได้ผลในช่วงสั้นๆ แต่หลังจากนั้น หนี้เหล่านั้นก็จะพอกพูนขึ้น

นักพัฒนาต้องใช้เวลาไปกับการแก้ปัญหาเก่าๆ มากกว่าการสร้างสิ่งใหม่ๆ จนในที่สุด ระบบก็กลายเป็นสิ่งที่คาดเดาไม่ได้เกินกว่าจะเปลี่ยนแปลงได้

ทีมยุคใหม่ต้องการเครื่องมือที่ดีกว่า

ทีมวิศวกรรมไม่ได้ทำงานเหมือนเมื่อสิบปีก่อนอีกต่อไป ในปัจจุบัน ทีมต่างๆ ใช้ Git และเวิร์กโฟลว์อัตโนมัติ (automated workflows) เพื่อรับประกันความน่าเชื่อถือของระบบ

แพลตฟอร์ม CMS แบบดั้งเดิมหลายแห่งไม่สอดคล้องกับเวิร์กโฟลว์เหล่านี้ นักพัฒนาต้องเสียเวลาไปกับการต่อสู้กับตัวแพลตฟอร์มแทนที่จะได้เขียนโค้ดที่สะอาด (clean code) ซึ่งสร้างอุปสรรคและทำให้ความคืบหน้าล่าช้า

การเปลี่ยนผ่านสู่การควบคุมที่มากขึ้น

หลายทีมกำลังเปลี่ยนไปใช้แพลตฟอร์มแบบ self-hosted หรือแพลตฟอร์มที่เน้นนักพัฒนาเป็นหลัก (developer-first) เพราะพวกเขาต้องการการควบคุมและความสามารถในการคาดเดาได้

ทีมต่างๆ ต้องการ:

  • เป็นเจ้าของโครงสร้างพื้นฐาน (infrastructure) ของตนเอง
  • ออกแบบสถาปัตยกรรมที่ตอบโจทย์ความต้องการเฉพาะด้าน
  • เห็นการทำงานของระบบได้อย่างชัดเจน

สถาปัตยกรรม CMS แบบใหม่มุ่งเน้นไปที่การเป็นรากฐานที่แข็งแกร่ง โดยให้ความสำคัญกับการออกแบบ API ที่สะอาด แทนที่จะเน้นการมีปลั๊กอินนับร้อย เป้าหมายคือการสร้างสิ่งต่างๆ อย่างถูกต้อง มากกว่าแค่สร้างให้เสร็จอย่างรวดเร็ว

ทางเลือกที่แท้จริง

ไม่มีแนวทางใดที่สมบูรณ์แบบที่สุด

แพลตฟอร์ม CMS แบบดั้งเดิมนั้นยอดเยี่ยมสำหรับการเปิดตัวเว็บไซต์การตลาดแบบง่ายๆ อย่างรวดเร็ว

ระบบที่เน้นนักพัฒนาอาจต้องใช้เวลาในการตั้งค่ามากกว่า แต่ก็มีข้อดีคือ:

  • การดูแลรักษาในระยะยาวที่ดีกว่า
  • การขยายระบบ (scaling) ที่ง่ายกว่า
  • หนี้ทางเทคนิคน้อยกว่า

เลิกมองว่า CMS เป็นเพียงเครื่องมือสำหรับเผยแพร่เนื้อหาเท่านั้น แต่จงมองว่ามันคือโครงสร้างพื้นฐานในระยะยาว ระบบที่ยั่งยืนคือระบบที่สร้างสมดุลระหว่างโครงสร้างและความยืดหยุ่น

ที่มา: https://dev.to/trapay_fb4ec5c65a3152df0e/why-most-cms-platforms-become-harder-to-maintain-over-time-2n3