ระบบที่ไม่มี Architecture จะโตต่อไม่ได้

สิ่งที่รองรับผู้ใช้ 10 คนได้สบาย อาจพังทลายเมื่อมีผู้ใช้ 1,000 คน การออกแบบสถาปัตยกรรมคือการลงทุนเพื่อวันพรุ่งนี้ที่ยังมาไม่ถึง
มีสตาร์ทอัพแห่งหนึ่งที่เราเคยได้ยินเรื่องราว ในปีแรกทุกอย่างไปได้สวย ระบบที่ทีมสร้างขึ้นแบบรีบๆ ทำงานได้ดี ลูกค้าพอใจ จนกระทั่งวันที่แคมเปญการตลาดประสบความสำเร็จเกินคาด ผู้ใช้หลั่งไหลเข้ามาในวันเดียวมากกว่าทั้งปีที่ผ่านมา และระบบก็ล่ม ไม่ใช่ล่มชั่วคราว แต่ล่มในจังหวะที่สำคัญที่สุดของบริษัท วันที่ทุกสายตากำลังจับจ้อง
สิ่งที่เจ็บปวดที่สุดไม่ใช่การล่ม แต่คือการที่ความสำเร็จกลายเป็นต้นเหตุของหายนะ พวกเขาทำการตลาดสำเร็จ แต่กลับไม่สามารถรับความสำเร็จนั้นได้ และโอกาสที่ใช้เงินซื้อมาก็ละลายหายไปต่อหน้าต่อตา
ทำไมการข้ามขั้นตอนนี้จึงน่าดึงดูด
ในช่วงเริ่มต้น การไม่คิดเรื่องสถาปัตยกรรมเป็นการตัดสินใจที่มีเหตุผล คุณยังไม่รู้ว่าธุรกิจจะไปทางไหน คุณมีเงินจำกัด คุณต้องการพิสูจน์ว่ามีคนต้องการสิ่งที่คุณทำก่อนจะลงทุนหนัก การสร้างเร็วและง่ายในตอนนั้นคือสิ่งที่ถูกต้อง
ปัญหาไม่ได้อยู่ที่การเริ่มต้นแบบเรียบง่าย แต่อยู่ที่การลืมว่าการตัดสินใจนั้นมีวันหมดอายุ สิ่งที่เคยเป็นทางเลือกที่ฉลาดในวันที่มีผู้ใช้สิบคน กลายเป็นกับดักเมื่อบริษัทเติบโต และเพราะระบบยังทำงานได้เรื่อยๆ จึงไม่มีสัญญาณเตือนชัดเจน จนกระทั่งวันที่มันสายเกินไป
สถาปัตยกรรมคือการตัดสินใจ ไม่ใช่เอกสาร
หลายคนเข้าใจว่าสถาปัตยกรรมคือแผนภาพสวยๆ หรือเอกสารหนาๆ แต่จริงๆ แล้วมันคือชุดของการตัดสินใจที่เปลี่ยนยากเมื่อทำไปแล้ว เช่น ข้อมูลถูกเก็บอย่างไร ส่วนต่างๆ ของระบบสื่อสารกันแบบไหน อะไรที่แยกออกจากกันได้และอะไรที่ผูกติดกันแน่น การตัดสินใจเหล่านี้เหมือนการวางเสาเข็มของตึก คุณเปลี่ยนสีผนังได้ทุกเมื่อ แต่เปลี่ยนเสาเข็มหลังจากสร้างเสร็จแล้วแทบเป็นไปไม่ได้
นี่คือเหตุผลว่าทำไมต้นทุนของการไม่คิดเรื่องนี้จึงซ่อนอยู่ มันไม่ปรากฏในใบเสร็จวันนี้ แต่ปรากฏในรูปของการแก้ไขที่ช้าลงเรื่อยๆ ฟีเจอร์ใหม่ที่ใช้เวลานานขึ้นทุกครั้ง และในที่สุดคือวันที่ทีมบอกคุณว่าต้องเขียนระบบใหม่ทั้งหมด ซึ่งหมายถึงการจ่ายค่าระบบเดิมเป็นครั้งที่สอง พร้อมกับเวลาที่หายไปหลายเดือน
คำถามที่ช่วยตัดสินว่าควรลงทุนตอนไหน
- ถ้าจำนวนผู้ใช้เพิ่มขึ้นสิบเท่าในเดือนหน้า ระบบของเราจะรับไหวหรือไม่ และเรารู้คำตอบจริงหรือแค่หวัง
- การตัดสินใจทางเทคนิคไหนบ้างที่เมื่อทำไปแล้วเปลี่ยนกลับได้ยากที่สุด
- เรากำลังจ่ายดอกเบี้ยของทางลัดที่เลือกไว้เมื่อปีก่อนอยู่หรือเปล่า และมันแพงขึ้นแค่ไหนแล้ว
- เราออกแบบเผื่อการเติบโตที่คาดว่าจะเกิด ไม่ใช่การเติบโตที่อยากให้เกิดแต่ยังไม่มีสัญญาณ ใช่หรือไม่
คำถามสุดท้ายสำคัญที่สุด เพราะการลงทุนเรื่องสถาปัตยกรรมมากเกินไปก่อนเวลาก็เป็นความผิดพลาดได้เช่นกัน การสร้างระบบที่รองรับผู้ใช้ล้านคนตั้งแต่ยังมีผู้ใช้สิบคน คือการเผาเงินและเวลาไปกับปัญหาที่อาจไม่มีวันเกิด ศิลปะอยู่ที่การมองเห็นว่าเส้นโค้งการเติบโตของคุณกำลังจะหักมุมเมื่อไหร่ และเตรียมตัวก่อนหน้านั้นพอประมาณ
การคิดเรื่องสถาปัตยกรรมจึงไม่ใช่การถามว่าจะสร้างให้ใหญ่แค่ไหน แต่เป็นการถามว่าการตัดสินใจวันนี้จะปิดประตูบานไหนของวันพรุ่งนี้ไปบ้าง และเราพร้อมยอมรับการปิดประตูเหล่านั้นอย่างรู้ตัวหรือไม่
บริการที่เกี่ยวข้อง
รับพัฒนาเว็บแอปพลิเคชัน
สร้างเว็บแอปที่รองรับการเติบโตและเชื่อมกับระบบอื่นได้
WhaleScope
ดูโครงสร้างตลาดของธุรกิจซอฟต์แวร์ สื่อ และไอที บน WhaleScope
รายชื่อบริษัท ผู้เล่นรายใหญ่ อัตราคงอยู่ และการกระจายรายจังหวัดของหมวดการจัดทำโปรแกรมคอมพิวเตอร์ — จากข้อมูลจดทะเบียน 2 ล้านนิติบุคคล
อ่านต่อ

เมื่อเว็บไซต์เริ่มเป็นระบบหลักของธุรกิจ
วันที่เว็บไซต์เลิกเป็นแค่โบรชัวร์ออนไลน์และกลายเป็นตัวธุรกิจเอง มีบางอย่างต้องเปลี่ยนตามไปด้วย

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

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

เมื่อธุรกิจโตเร็วกว่าระบบ
สัญญาณที่บอกว่าระบบของคุณ ไม่ใช่ตลาด คือคอขวดที่แท้จริงของการเติบโต และมักมาในรูปที่เราเข้าใจผิด
