ระบบจัดการและโครงสร้างพื้นฐาน

Back-end ที่ดีควรเป็นอย่างไร
Digital Product อย่างเว็บไซต์หรือแอปพลิเคชันจำเป็นต้องมีระบบหลังบ้าน (Back-end) ที่ใช้งานง่าย มีเทคโนโลยีที่ทันสมัย และมีความปลอดภัย โดยเฉพาะเว็บไซต์รูปแบบ E-Commerce ที่สามารถซื้อการขายสินค้ายิ่งต้องให้ความสำคัญกับ Back-end ซึ่งจะช่วยสนับสนุนให้ทุก ๆ การสั่งซื้อเป็นไปอย่างราบรื่นที่สุด ตั้งแต่การกดสินค้าลงตะกร้าไปจนถึงการจัดส่ง
องค์ประกอบของ Back-end มีหลายส่วนด้วยกันไม่ว่าจะเป็นระบบจัดการเนื้อหา หรือ CMS (Content Management System) ฐานข้อมูล (Database) ไปจนถึงตัวกลางในการเชื่อมต่อระบบ (API: Application Programming Interface) และ โฮสติ้ง (Hosting)
ระบบการจัดการเนื้อหา หรือ CMS (Content Management System)
ปกติแล้วทีม Developer ของเราจะพัฒนาระบบอยู่ 2 รูปแบบ คือ
• การพัฒนาตามความต้องการของธุรกิจโดยเฉพาะ (Custom CMS)
• การพัฒนาจากซอฟต์แวร์ที่อนุญาตให้ทำการแก้ไขได้ (Open-source CMS)
ซึ่งเราจะพิจารณาจากระยะเวลา ขอบเขตของงาน และการพัฒนาต่อในอนาคตเพื่อดูว่ารูปแบบไหนที่เหมาะสมกับลูกค้ามากที่สุด
Custom CMS
หากรูปแบบ Custom เหมาะกับลูกค้ามากกว่าทางทีมจะเลือกใช้เทคโนโลยีให้เหมาะสมกับงานนั้น เช่น Node.js, PHP, หรือ Golang เป็นต้น โดยจุดเด่นในรูปแบบนี้ คือ
• ใช้งานง่าย เนื่องจากออกแบบการใช้งานจากความต้องการของธุรกิจ
• มีความปลอดภัยมากกว่า และมีสแปมน้อยกว่า
• สามารถวิเคราะห์ข้อมูลได้เฉพาะด้านตามประเภทธุรกิจ
Open-source CMS
กรณีที่เป็น Open-source CMS เช่น Wordpress ก็จะมีข้อดีเช่นกัน คือ
• มีการอัปเดตซอฟต์แวร์อยู่เสมอ
• มีปลั๊กอินให้เลือกหลากหลาย
• ใช้เวลาในการติดตั้งน้อย
โครงสร้างพื้นฐานสำหรับการพัฒนา Back-end
การจะทำให้ระบบการจัดการเนื้อหาหรือ CMS สมบูรณ์ได้นั้นต้องประกอบไปด้วยโครงสร้างพื้นฐานทั้ง Hosting รวมถึงการเชื่อมต่อกับ Service หรือ API ภายนอกต่าง ๆ โดยหากพูดถึงการเลือก Hosting และ Server ที่จะส่งผลต่อเทคโนโลยีที่จะนำมาใช้ในการทำงาน ทางทีม Developer ของ SUFFIX มักจะเจอใน 2 รูปแบบ คือ
• กรณีที่ลูกค้ามี Hosting เดิมเป็นของตัวเองอยู่แล้ว : จากประสบการณ์ของเราเมื่อเจอลูกค้าที่มี Hosting เดิมของตัวเอง ส่วนใหญ่จะเป็นในรูปแบบของ Shared Host ซึ่งเราต้องเลือกเทคโนโลยีที่เหมาะสมโดยใช้ PHP, JavaScript, CSS, HTML และ MySQL เป็นต้น
• กรณีที่ลูกค้ายังไม่มี Hosting : หากลูกค้ายังไม่มี Hosting และต้องการให้เราแนะนำ ทางทีมจะเลือกใช้ Cloud Hosting เป็นหลัก ซึ่งทางทีมจะสามารถเลือกใช้เทคโนโลยีได้หลากหลายกว่า Shared Host เช่น Node, Golang, Vue, CSS, HTML, PHP, JavaScript และ MySQL เป็นต้น โดยจะขึ้นอยู่กับขอบเขตของงานและระยะเวลาในการพัฒนา
การเชื่อมต่อกับ Service ต่าง ๆ โดยใช้ตัวกลางในการเชื่อมต่อระบบ (API: Application Programming Interface)
อีกสิ่งที่สำคัญไม่แพ้กันในการสร้าง Digital Product ที่จะต้องมีอยู่เสมอ คือ การเชื่อมต่อกับ Service ต่าง ๆ เพื่อให้การสามารถงานได้ครบถ้วนและตามจุดประสงค์ของผลิตภัณฑ์ดิจิทัลนั้น ๆ โดยปกติแล้วเราจะเจอกับการเชื่อมต่อกับ Service ต่าง ๆ 2 รูปแบบด้วยกัน ได้แก่
• Service ภายในของลูกค้า : บางองค์กร หรือ บริษัทจะมีการพัฒนา Service ของตัวเองโดยทีม IT ภายใน ซึ่งเราจะมีหน้าที่ในการเชื่อมต่อข้อมูลสู่ Digital Product ซึ่งรูปแบบของการเชื่อมต่อข้อมูลจะเกิดจากการตกลงกันของทีม IT ของลูกค้ากับทีม SUFFIX
• Service จากผู้ให้บริการภายนอก (Vendor) : นอกเหนือจาก Service ภายในของลูกค้าแล้ว โดยส่วนมากต้องมีการเชื่อมต่อกับ Service ที่เป็นของผู้ให้บริการจากภายนอก (Vendor) เช่น ระบบการชำระเงิน (Payment) ระบบขนส่ง (Shipping) เป็นต้น โดยกรณีที่เป็น Service รูปแบบนี้เราจะพิจารณาเลือกใช้จากเอกสารหรือคู่มือ (Manual) ความปลอดภัย ราคา และชุมชนของผู้ใช้งาน (Community)
“แม้ว่าเทคโนโลยีจะมีการอัปเดตและเปลี่ยนแปลงอยู่ตลอดเวลา แต่การสร้างระบบจัดการและโครงสร้างพื้นฐานที่ดีจะช่วยให้ Digital Product ของธุรกิจคุณพร้อมให้บริการอย่างสมบูรณ์อยู่เสมอ”
มนตรี พรหมทอง