วิธีคิด

Technology

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

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

การพัฒนา Back-end Digital Product ที่ดีต้องประกอบด้วย 4 องค์ประกอบหลัก ได้แก่ ระบบจัดการเนื้อหา (CMS) ที่ใช้งานง่าย ฐานข้อมูล (Database) ที่มั่นคง โครงสร้าง Hosting ที่เหมาะกับขนาดของโปรเจกต์และการเชื่อมต่อ API กับ Service ภายนอกที่ปลอดภัย ทั้งหมดนี้คือสิ่งที่ทำให้ผู้ใช้งานได้รับประสบการณ์ที่ราบรื่นโดยไม่รู้ตัว

การพัฒนาผลิตภัณฑ์ดิจิทัล หรือ Digital Product เช่น เว็บไซต์ แอปพลิเคชัน นอกจากรูปลักษณ์การแสดงผลและประสบการณ์ใช้งาน (UI/UX) ซึ่งเป็นสิ่งที่ผู้ใช้งาน (User) ให้ความสำคัญเป็นอันดับแรกแล้ว เบื้องหลังนั้นต้องอาศัยระบบการจัดการ (Back-end) และโครงสร้างพื้นฐาน (Hosting Infrastructure) ที่ดีเพื่อให้กระบวนการทำงานทั้งหมดสมบูรณ์และ Seamless ทั้งในฝั่งผู้ใช้งาน (User) และฝั่งธุรกิจ (Business) การพัฒนา Back-end Digital Product ที่ถูกออกแบบมาดีตั้งแต่ต้นจึงเป็นรากฐานที่ส่งผลต่อทั้งความเสถียร ความปลอดภัย และความสามารถในการขยายตัวของระบบในระยะยาว

 

Back-end ที่ดีสำหรับ Digital Product ควรมีอะไรบ้าง?

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 โดยจุดเด่นในรูปแบบนี้คือ

- ใช้งานง่าย เนื่องจากออกแบบการใช้งานจากความต้องการของธุรกิจโดยตรง ทีม Admin ไม่ต้องเรียนรู้ interface ที่ซับซ้อนเกินความจำเป็น

- มีความปลอดภัยมากกว่าและมีสแปมน้อยกว่า เพราะระบบไม่ได้เป็น Open-source ที่ถูกโจมตีตาม pattern ที่คนรู้จักอยู่แล้ว

- สามารถวิเคราะห์ข้อมูลได้เฉพาะด้านตามประเภทธุรกิจ เพราะ Dashboard และ Report ถูกออกแบบให้ตรงกับ KPI ที่ธุรกิจนั้นต้องการจริง ๆ

Open-source CMS

กรณีที่เป็น Open-source CMS เช่น WordPress ก็จะมีข้อดีเช่นกัน คือ

- มีการอัปเดตซอฟต์แวร์อยู่เสมอ จาก Community ขนาดใหญ่ที่คอยพัฒนาและแก้ไขช่องโหว่ต่าง ๆ

- มีปลั๊กอินให้เลือกหลากหลาย ทำให้สามารถเพิ่ม Feature ได้โดยไม่ต้องพัฒนาขึ้นมาใหม่ทั้งหมด

- ใช้เวลาในการติดตั้งน้อย เหมาะกับโปรเจกต์ที่ต้องการเปิดตัวเร็วหรือมี budget จำกัด

 

SUFFIX เลือก Hosting แบบไหนให้เหมาะกับลูกค้า?

การจะทำให้ระบบ CMS สมบูรณ์ได้นั้นต้องประกอบไปด้วยโครงสร้างพื้นฐานทั้ง Hosting รวมถึงการเชื่อมต่อกับ Service หรือ API ภายนอกต่าง ๆ โดยหากพูดถึงการเลือก Hosting และ Server ทางทีม Developer ของ SUFFIX มักจะเจอใน 2 รูปแบบ คือ

กรณีที่ลูกค้ามี 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 ต่าง ๆ เพื่อให้ผลิตภัณฑ์ดิจิทัลทำงานได้ครบถ้วนตามจุดประสงค์ โดยปกติแล้วเราจะเจอกับการเชื่อมต่อ 2 รูปแบบ ได้แก่

Service ภายในของลูกค้า: บางองค์กรหรือบริษัทจะมีการพัฒนา Service ของตัวเองโดยทีม IT ภายใน ซึ่งเราจะมีหน้าที่เชื่อมต่อข้อมูลสู่ Digital Product โดยรูปแบบการเชื่อมต่อจะเกิดจากการตกลงร่วมกันระหว่างทีม IT ของลูกค้ากับทีม SUFFIX

Service จากผู้ให้บริการภายนอก (Vendor): นอกเหนือจาก Service ภายในของลูกค้า โดยส่วนมากต้องมีการเชื่อมต่อกับ Service จากผู้ให้บริการภายนอก เช่น ระบบการชำระเงิน (Payment) ระบบขนส่ง (Shipping) เป็นต้น โดยเราจะพิจารณาเลือกใช้จากเอกสารหรือคู่มือ (Manual) ความปลอดภัย ราคา และชุมชนของผู้ใช้งาน (Community)

 

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

คำถามที่พบบ่อย

ทำไม Back-end ถึงสำคัญไม่แพ้ UI/UX สำหรับ Digital Product?
UI/UX คือสิ่งที่ผู้ใช้งานมองเห็นและสัมผัสได้ แต่ Back-end คือระบบที่ทำให้ทุกอย่างทำงานได้จริง หาก Back-end ไม่เสถียรหรือช้า ผู้ใช้งานก็จะได้รับประสบการณ์ที่แย่ไม่ว่า UI จะสวยแค่ไหน โดยเฉพาะ E-Commerce ที่ทุกขั้นตอนตั้งแต่ตะกร้าสินค้าถึงการชำระเงินต้องพึ่งพา Back-end ทั้งหมด
SUFFIX เลือกใช้ Custom CMS หรือ Open-source CMS แบบไหนดีกว่ากัน?
ขึ้นอยู่กับขอบเขตงาน ระยะเวลา และแผนการพัฒนาต่อในอนาคต Custom CMS เหมาะกับธุรกิจที่ต้องการ Feature เฉพาะและความปลอดภัยสูง ส่วน Open-source CMS เช่น WordPress เหมาะกับโปรเจกต์ที่ต้องการเปิดตัวเร็วและมีงบประมาณจำกัด ทีม SUFFIX จะพิจารณาและแนะนำตัวเลือกที่เหมาะสมที่สุดในแต่ละกรณี
Cloud Hosting ต่างจาก Shared Host อย่างไร และควรเลือกแบบไหน?
Shared Host คือการใช้ Server ร่วมกับเว็บไซต์อื่น ทำให้มีข้อจำกัดด้านเทคโนโลยีและ Performance ส่วน Cloud Hosting ให้ความยืดหยุ่นกว่ามากทั้งในแง่เทคโนโลยีและการ Scale ระบบ SUFFIX แนะนำ Cloud Hosting สำหรับโปรเจกต์ที่ต้องการความเสถียรและมีแผนขยายระบบในอนาคต
API ในการพัฒนา Digital Product มีกี่ประเภทและเลือกใช้อย่างไร?
แบ่งออกเป็น 2 ประเภทหลัก คือ API จาก Service ภายในของลูกค้าที่ทีม IT พัฒนาเอง และ API จากผู้ให้บริการภายนอก เช่น Payment Gateway หรือ Shipping API สำหรับ Vendor ภายนอก SUFFIX จะพิจารณาจากความครบถ้วนของเอกสาร ความปลอดภัย ราคา และขนาดของ Community ก่อนเลือกใช้

Share

เขียนโดย
Back-end Developer

มนตรี พรหมทอง