หลังจากโลกได้ผ่านยุค Digital Transformation เป็นกระแสหลัก สิ่งที่เกิดขึ้นได้ทำให้มี “ข้อมูล” เกิดขึ้นบนโลกดิจิทัลเป็นจำนวนมหาศาล อันเกิดจากจำนวนผู้ใช้งานที่มีมากขึ้น ปริมาณธุรกรรมในหลากหลายระบบที่เกิดขึ้น รวมทั้งระบบ IoT ต่าง ๆ ที่สร้างข้อมูลใหม่ขึ้นมาในทุกวินาที

สิ่งที่เกิดขึ้นได้ทำให้ยุคปัจจุบันจำเป็นต้องให้ความสำคัญในการออกแบบและพัฒนาแอปพลิเคชันที่เป็นลักษณะ “แอปพลิเคชันขนาดใหญ่ (Large-Scale Application)” ที่สามารถรองรับปริมาณข้อมูลและผู้ใช้จำนวนมหาศาล ในขณะที่ “ประสบการณ์ผู้ใช้งาน (User Experience)” ยังคงเป็นที่น่าประทับใจ สามารถใช้งานได้อย่างราบรื่นเช่นเดิม
อะไรคือกุญแจสำคัญที่ทำให้สามารถพัฒนา Large-Scale Application ได้สำเร็จ มาเรียนรู้กลเม็ดจากผู้เชี่ยวชาญตัวจริงอย่าง Bluebik ที่อยู่เบื้องการพัฒนาแอปพลิเคชันขนาดใหญ่มากมายกับ 2 ผู้บริหาร คุณปกรณ์ เจียมสกุลทิพย์ Chief Technology Officer แห่ง Bluebik และ คุณสรณัญช์ ชูฉัตร Chief Experience Office แห่ง Bluebik จากสัมภาษณ์กลุ่มในหัวข้อ “Scaling for Success: Inside the Architecture of Large-Scale Application” ได้ในบทความนี้

เมื่อใดจึงเรียกว่าเป็นแอปพลิเคชันขนาดใหญ่ (Large-Scale Application)
หากพูดถึงคำว่า “แอปพลิเคชันขนาดใหญ่ (Large-Scale Application)” มุมมองหนึ่งอาจจะนึกถึงว่าเป็นแอปพลิเคชันที่มีการเขียนโค้ด (Code) เป็นภาษาโปรแกรมมิ่ง (Programming Language) ในปริมาณมหาศาล แต่แท้จริงแล้ว การเรียกว่าเป็น Large-Scale Application นั้นขึ้นอยู่กับปัจจัยอื่น ๆ มากกว่าแค่เรื่องจำนวนบรรทัดของโค้ด
แล้วมีเกณฑ์อะไรหรือไม่ที่ใช้ตัดสินว่าแอปพลิเคชันดังกล่าวนั้นเป็น Large-Scale Application คุณปกรณ์ เจียมสกุลทิพย์ Chief Technology Officer แห่ง Bluebik ได้ชี้ 5 เกณฑ์สำคัญในการแยกแยะความแตกต่างระหว่างแอปพลิเคชันขนาดใหญ่กับแอปพลิเคชันทั่วไป ได้แก่
- High Concurrent User การมีจำนวนผู้ใช้งานพร้อมกันมาก ๆ ในระดับล้านหรือสิบล้านบัญชี ซึ่งจะขึ้นกับบริบทของแต่ละพื้นที่ เช่น Taobao ในจีนที่มี Monthly Active User สูงถึง 930 ล้านบัญชี ณ ไตรมาส 3 ปี 2024 หรือแอป SCB EASY ของไทยที่มีผู้ใช้งาน 14.9 ล้านบัญชี ณ สิ้นปี 2023 เป็นต้น
- High Transaction Throughput ว่ามีปริมาณธุรกรรมที่เข้าออกแอปพลิเคชันสูง ตัวอย่างเช่น แอปพลิเคชัน Mobile Banking ที่มักจะนับกันในระดับหลายล้านธุรกรรม
- Vast Data Volume ปริมาณข้อมูลมหาศาลที่เกิดขึ้นต่อวันระดับหลักแสนหรือล้านรายการ (Record) อย่างเช่นในแอปพลิเคชัน e-Commerce อย่าง Lazada หรือ Shopee ที่ต้องมีการเก็บบันทึก (Log) พฤติกรรมผู้ใช้เอาไว้ หรือธุรกรรมต่าง ๆ ซึ่งอาจทำให้เกิดข้อมูลระดับ GB หรือ TB ต่อวันได้เลย
- Wide Integration Scope โดยจำเป็นต้องมีการเชื่อมโยงกับระบบหลากหลายผ่าน Integration Point หรือ API หลากหลายระบบ เช่น ระบบรับชำระเงินที่ต้องเชื่อมโยงกับระบบ Payment Gateway ระบบ Core Banking ของธนาคาร รวมทั้งระบบพาร์ตเนอร์ต่าง ๆ ทั้งภายในและภายนอก
- Performance & Security ทั้งเรื่องประสิทธิภาพและความมั่นคงปลอดภัยที่จะมีความเข้มงวดมากกว่า เพราะองค์กรจำเป็นต้องปกป้องข้อมูลตามมาตรฐานต่าง ๆ และต้องพร้อมตอบสนองต่อความคาดหวังที่ระบบจะต้องสามารถออนไลน์ได้อย่างมีประสิทธิภาพตลอด 24 ชั่วโมง

“ไม่ได้มีเกณฑ์ใดเกณฑ์หนึ่งที่จะบอกได้ว่าเป็น Large-Scale Application ซึ่งมันไม่ได้วัดที่แกนใดแกนหนึ่งด้วย เช่น Concurrent User อาจจะมีไม่ถึงหนึ่งพัน แต่ปริมาณข้อมูลมหาศาล ก็เรียกว่าเป็น Large-Scale Application ได้เช่นกัน” คุณปกรณ์ กล่าว
3 ประเภทหลักของการเป็น Large-Scale Application
ภายในเซสชัน คุณปกรณ์ ได้ยกตัวอย่าง 3 ประเภทของ Large-Scale Application ที่มักพบเจอ ซึ่งหากแอปพลิเคชันใดมีครบทั้ง 3 รูปแบบ จะเรียกได้ว่าเป็น Large-Scale Application ที่ใหญ่มาก ๆ โดย 3 ประเภทดังกล่าวนั้น ได้แก่
- Data Intensive Application แอปพลิเคชันที่ข้อมูลมีปริมาณมหาศาลมาก ๆ ที่ต้องสามารถรองรับได้ระดับหลายเทระไบต์ (TB) หรือเพตะไบต์ (PB) เช่น ระบบ AI, Data Analytics หรือระบบหลังบ้านของ Superapp ระบบ CRM ของธนาคารที่แม้จะมีผู้ใช้งานไม่ถึงร้อยแต่ขนาดข้อมูลมหาศาล
- Integration Heavy แอปพลิเคชันที่เชื่อมโยงข้อมูลกับระบบต่าง ๆ จำนวนมหาศาล เช่น PromptPay ที่ต้องเชื่อมโยงกับระบบธนาคารร่วมกับร้านค้าที่ต้องแลกเปลี่ยนข้อมูลไปมาจำนวนมาก
- High Transaction Per Second (TPS) หรือ High Throughput แอปพลิเคชันที่ต้องรองรับจำนวนธุรกรรมที่ทำต่อวินาทีในจำนวนมาก ๆ เช่น ระบบซื้อขายหุ้น ระบบจองตั๋วคอนเสิร์ต หรือกระดานเทรดคริปโทฯ (Crypto Exchange)

“บางระบบถ้าหากมีครบทั้ง 3 รูปแบบ ทั้งมีข้อมูลเยอะ ต้องเชื่อมโยงข้อมูลเยอะ และมี Throughput เยอะ คือเรียกว่าเป็น Very Large-Scale Application ได้เลย” คุณปกรณ์ กล่าว “ตัวอย่างคือระบบซื้อขายหุ้นของ SET ที่ต่อหนึ่งหน่วยวินาทีที่อาจต้องรองรับเป็นล้านธุรกรรมให้ได้”
ความต้องการ Large-Scale Application ในอุตสาหกรรมเติบโตขึ้นเรื่อย ๆ
หนึ่งในปัจจัยสำคัญที่ทำให้แอปพลิเคชันในไทยกำลังจะการเป็น Large-Scale Application มากขึ้นเรื่อย ๆ คือผู้ใช้งานอินเทอร์เน็ตในประเทศไทยที่ยังคงเติบโตขึ้นต่อเนื่อง โดยเฉพาะการใช้งานบนโทรศัพท์สมาร์ตโฟน ที่สามารถทำธุรกรรมได้อย่างง่ายดายในมือถือเครื่องเดียว ไม่ว่าจะเป็นการชำระเงิน ซื้อสินค้า จัดการสาธารณูปโภคต่าง ๆ เป็นต้น
“ความต้องการในอุตสาหกรรมเทคโนโลยีค่อนข้างเติบโต เนื่องมาจากเทรนด์ของการพัฒนาแอปพลิเคชัน และความต้องการในฝั่งดิจิทัลที่เติบโตขึ้นทุกปี สิ่งที่เกิดขึ้นได้ทำให้ขนาดของแอปพลิเคชันมีแต่ใหญ่ขึ้นไปเรื่อย ๆ” คุณปกรณ์ กล่าว
สิ่งที่เกิดขึ้น ได้ทำให้องค์กรในทุกอุตสาหกรรมที่พัฒนาแอปพลิเคชันต้องให้ความสำคัญและใส่ใจในการรองรับหรือต้องเป็น Large-Scale Application รวมทั้งองค์กรในประเทศไทยด้วยเนื่องจากมีเทรนด์ที่ล้อไปกับเทรนด์ของโลกที่แอปพลิเคชันกำลังมีขนาดใหญ่มากขึ้นเรื่อย ๆ ซึ่งจะมีหลากหลายปัจจัยที่ต้องพิจารณาแตกต่างกันไปในแต่บริบท ซึ่งจะต่างจากการพัฒนาแอปพลิเคชันทั่ว ๆ ไปอย่างมีนัยสำคัญ
“ตลาดดิจิทัลเติบโตขึ้นจากการมีผู้ใช้งานมากขึ้น ซึ่งตัวเลขของจำนวนคนเข้าถึงอินเทอร์เน็ตจะเป็นตัวบอกว่าตลาดจะเติบโตไปมากขึ้นแค่ไหน” คุณปกรณ์ กล่าวเสริม “93% ของผู้ใช้งานอินเทอร์เน็ตในไทยนั้นเป็น Mobile-first แปลว่าคนไทยใช้งานโทรศัพท์มือถือเป็นหลักแล้ว นั่นแปลว่าเทรนด์ของประเทศไทยนั้นกำลังจะ Scale และ Mirror ลอกแบบเทรนด์ของทั่วโลกอยู่”
Design System มีผลต่อการใช้งาน Large-Scale Application อย่างมีนัยสำคัญ
แน่นอนว่าปัจจัยสำคัญของการสร้าง Large-Scale Application ให้มีความทนทานพร้อมใช้งานได้ต่อเนื่องคือเรื่องของโครงสร้างพื้นฐาน (Infrastructure) หากแต่ภายในเซสชันสัมภาษณ์ ทาง Bluebik ได้ชี้อีกหนึ่งจุดที่สำคัญแต่หลายคนมักมองข้าม คือเรื่องของการออกแบบประสบการณ์ผู้ใช้ (User Experience) ที่ต้องควรต้องมีระบบออกแบบ (Design System) ที่เหมาะสม

Design System นั้นอาจจะมองว่าเป็นแค่เรื่องการออกแบบ UX|UI ที่สะดวกกับการใช้งาน หน้าตาสวยงามและตรงกับเอกลักษณ์ของแบรนด์ธุรกิจ หากแต่ คุณสรณัญช์ ชูฉัตร Chief Experience Office แห่ง Bluebik เน้นย้ำในเซสชันว่าสิ่งนี้มีผลต่อการสร้าง Large-Scale Application อย่างมีนัยสำคัญ ที่นอกจากทำให้สวยงามแล้ว ยังต้องใช้งานได้ดี ไม่กระทบกับประสิทธิภาพของแอปพลิเคชันโดยรวม และใช้ได้จริงสำหรับทุกคน
“เราเชื่อว่าไม่มี One-Size-Fits-All แล้ว การทำ Design System จึงเป็นเหมือนการตัดชุดสูท ที่ต้องรู้ว่าองค์กรแต่ละแห่งนั้นมีเรื่องราวความเป็นมาอย่างไร และอัตลักษณ์ใหม่ที่เหมาะสมนั้นควรเป็นอย่างไร” คุณสรณัญช์ กล่าว
โดยปัจจุบัน Bluebik พร้อมให้บริการ Enterprise Design System ระดับองค์กรที่ขับเคลื่อนการออกแบบด้วยหลักการทางวิทยาศาสตร์ที่เหนือกว่าแค่การทำ Design Thinking ทั่วไป รวมทั้งยังยึดหลักแนวคิด “Universal Design” ที่แอปพลิเคชันจะต้องใช้งานได้และทุกคนจะชอบใช้ ไม่ใช่แค่ออกแบบให้สวย แต่ยังตอบโจทย์ในเชิงธุรกิจ ทั้งความรู้สึกและเรื่องประสิทธิภาพที่สามารถใช้งานแอปพลิเคชันได้อย่างยั่งยืน

“เพราะบางปุ่มมีผลต่อประสิทธิภาพของแอปพลิเคชันเป็นอย่างมาก ถ้าหากมีบางเมนูที่ไม่ได้อยากให้ใช้งานบ่อย ๆ การทำ Design System จะช่วยทำให้ลดการใช้งานลงได้ และทำให้ประสบการณ์การใช้งานแอปพลิเคชันโดยรวมยังใช้ได้” คุณสรณัญช์ กล่าวเสริม
กลเม็ดการพัฒนา Large-Scale Application ให้สำเร็จ
เพราะการพัฒนา Large-Scale Application จะมีความซับซ้อนมากกว่าแอปพลิเคชันทั่วไป ดังนั้น Bluebik จึงได้แนะนำ 3 กุญแจสำคัญที่เป็นเบื้องหลังความสำเร็จในการพัฒนา Large-Scale Application ที่องค์กรต้องพิจารณา ได้แก่
ประเมิน Sizing ล่วงหน้า วางกลยุทธ์ในการ Scale โครงสร้างพื้นฐานให้ยืดหยุ่น
การออกแบบโครงสร้างพื้นที่ยืดหยุ่นและพร้อมรองรับโหลดได้ทุกสถานการณ์ยังคงเป็นหัวใจสำคัญอันดับหนึ่งในการพัฒนา Large-Scale Application ที่องค์กรจะต้องออกแบบให้มีความพร้อมใช้งานสูง (High Availability) ทนทานต่อความผิดพลาด (Fault Tolerance) ได้มาก และมีความมั่นคงปลอดภัย (Security)
ดังนั้น การประเมิน Sizing และวางกลยุทธ์ในการ Scale In/Out หรือการทำ Auto Scaling แบบ Horizontal บนโครงสร้างพื้นฐาน Cloud ขององค์กร จึงเป็นสิ่งที่ต้องดำเนินการอย่างละเอียดและรอบคอบ เช่น จะวางชั้น (Layer) แอปพลิเคชันอย่างไร ฐานข้อมูล ระบบสำรอง หรือการใช้แคช (Cache) เพื่อเพิ่มประสิทธิภาพ เป็นต้น เพราะหากระบบ Large-Scale Application เกิดปัญหา ผลที่ตามมานั้นจะคูณด้วยจำนวนผู้ใช้เสมอ
“ผมบอกทีมงานพัฒนาเสมอว่า ถ้าหากมี 1 ปัญหา (Issue) เกิดขึ้นมา ให้ตีเสียว่าจะมี 10,000 สายที่จะโทรมาหาเสมอ” คุณปกรณ์ กล่าว
วางแผนจัดการกับเหตุการณ์ไม่คาดคิด
เนื่องจากระบบ Large-Scale Application มักจะต้องเชื่อมโยงกับข้อมูลกับอีกหลากหลายที่ผ่าน Microservice องค์กรจึงต้องวางแผนจัดการกับเหตุการณ์ที่ไม่คาดคิดต่าง ๆ ไว้ในแต่ละกรณี ว่าจะดำเนินการอย่างไรต่อไปเมื่อสิ่งเหล่านั้นเกิดขึ้น เพื่อให้ระบบยังคงสามารถให้บริการกับผู้ใช้งานได้อย่างปกติที่สุดเท่าที่จะเป็นไปได้โดยที่ระบบไม่ได้ล่มไปแบบสมบูรณ์
ตัวอย่างเช่น กรณีระบบปลายทางที่ต้องติดต่อหรือส่งข้อมูลต่อไปนั้นเกิดเหตุติดขัดปัญหาหรืออาจจะล่มอยู่ แอปพลิเคชันขององค์กรที่กำลังให้บริการกับลูกค้าอยู่นั้นจะจัดการแจ้งเตือนกับผู้ใช้งานอย่างไร พักข้อมูลไว้ที่ไหน และเมื่อระบบปลายทางพร้อมใช้แล้ว จะดำเนินการอย่างไรต่อไป เป็นต้น
ประยุกต์ Design System หา Universal Design ที่เหมาะสม
อีกหนึ่งจุดที่สำคัญคือการออกแบบหน้าตา Design System ที่เหมาะสมกับผู้ใช้งานทุกกลุ่ม ในขณะที่ยังคงไว้ซึ่งอัตลักษณ์ของแบรนด์องค์กร และไม่กระทบกับโครงสร้างพื้นฐานในการให้บริการในภาพรวม หน้าตาสวยงามใช้งานได้ทุกคนในขณะที่ยังคงสามารถส่งมอบประสบการณ์ผู้ใช้ที่ประทับใจเช่นเดิม
“การทำ Design System ที่ดีควรจะสามารถรองรับการแก้ไขในอนาคตได้เสมอ ไม่ควรจะต้องมารื้อใหม่เริ่มใหม่หมดตลอดหากมีการแก้ไขเพิ่มเติม” คุณสรณัญช์ กล่าว

“Design System มีผลต่อการใช้งาน Large-Scale Application เพื่อให้ผู้ใช้งานได้รับประสบการณ์ที่เหมาะสม สิ่งต่าง ๆ เหล่านี้ต้องพิจารณาแบบ End-To-End” คุณสรณัญช์ กล่าวเสริม
ทุกอุตสาหกรรมสำคัญของประเทศ ล้วนต้องพิจารณา Large-Scale Application
ภายในเซสชันสัมภาษณ์ คุณปกรณ์ ได้เผยถึงอุตสาหกรรมที่ Bluebik มองว่าจะยังคงมีการลงทุนใน Large-Scale Application เป็นพิเศษหลังจากนี้ ได้แก่
- Banking & Financial Services เนื่องจากโครงสร้างพื้นฐานของธนาคารและสถาบันการเงินจะต้องปรับปรุงในทุก ๆ 3-5 ปี ประกอบกับผู้ใช้งานเริ่มไม่ไปสาขา เลือกใช้งาน Virtual Bank มากขึ้น ซึ่งจะเห็นได้ว่าผู้ใช้งานในโลกดิจิทัลจะมากขึ้นไปเรื่อย ๆ
- Retail & E-Commerce เพราะประสบการณ์ ช้อปปิ้งสินค้าเปลี่ยนไป โดยไม่ได้เป็นแค่การซื้อขายของออนไลน์เท่านั้น แต่จะเป็นการให้บริการผ่านระบบออนไลน์มากขึ้น ซึ่งคาดว่าธุรกิจค้าปลีกจะมาลงทุนในส่วนนี้เพิ่มเติมด้วย ดังนั้น ธุรกรรมในโลกดิจิทัลจะมีมากขึ้น
- Insurance & Healthcare ธุรกิจในอุตสาหกรรมกำลังทรานส์ฟอร์มเข้าสู่โลกดิจิทัลมากขึ้นเรื่อย ๆ เพื่อให้ผู้ใช้งานสามารถเข้าถึงบริการต่าง ๆ ได้สะดวกขึ้น
- Telecommunication ปริมาณข้อมูลจะสูงขึ้นเรื่อย ๆ ซึ่งจะทำให้เกิดการใช้ประโยชน์จากข้อมูลในการค้นหาข้อมูลเชิงลึก (Insight) เพื่อต่อยอดบริการเพื่อส่งมอบคุณค่าสู่ผู้ใช้งานได้มากยิ่งขึ้น
- Manufacturing & Logistics ที่จะมีข้อมูลเข้าสู่โลกดิจิทัลจำนวนมหาศาล อาทิ อุปกรณ์ IoT ซึ่งจะทำให้สามารถนำข้อมูลเหล่านั้นมาใช้ทำนายคาดการณ์ เช่น ช่วงเวลาการบำรุงรักษา ได้ดีขึ้น
Bluebik พร้อมหนุนพัฒนา Large-Scale Application ได้แบบ End-To-End
จะเห็นได้ว่าการพัฒนา Large-Scale Application นั้นมีรูปแบบและปัจจัยที่ต้องพิจารณาที่มากกว่าการพัฒนาแอปพลิเคชันแบบทั่ว ๆ ไป ซึ่ง Bluebik คือผู้เชี่ยวชาญตัวจริงที่มีประสบการณ์ในการพัฒนา Large-Scale Application ที่ให้บริการผู้ใช้จำนวนมากมาแล้วหลากหลายแอปพลิเคชัน และบริษัทมีความพร้อมสนับสนุนองค์กรที่ต้องการ Large-Scale Application ได้แบบ End-To-End
“Large-Scale Application จะเป็นระบบที่ค่อนข้างซับซ้อน และมีจุดที่ต้องพิจารณาค่อนข้างเยอะ กระบวนการพัฒนาจึงจะไม่ใช่แบบปกติ ซึ่งจำเป็นต้องมีความเชี่ยวชาญของทีมพัฒนาที่จะแตกต่างไปกับการพัฒนาระบบทั่วไป” คุณปกรณ์ กล่าว
เพราะ Bluebik มีทีมงานผู้เชี่ยวชาญที่พร้อมสนับสนุนทั้งด้านโครงสร้างพื้นฐาน การออกแบบ และที่สำคัญคือเรื่อง Design System ที่จะทำให้การส่งมอบประสบการณ์ผู้ใช้เป็นไปได้อย่างดีที่สุดในขณะที่ประสิทธิภาพการใช้งานยังคงไหลลื่นอย่างต่อเนื่อง
“คนไทยไม่ได้มีความด้อยความสามารถกับต่างประเทศใด ๆ ทั้งสิ้น และต่อไปในอนาคต หากใครไม่ลงทุนในด้าน Experience ก็อาจจะเรียกว่า Out of the world ได้เลย ซึ่ง Bluebik มีการลงทุนใน Experience Design และเราต้องการเป็นที่หนึ่งในเรื่องนี้” คุณสรณัญช์ กล่าว
ต้องการ พัฒนา Large-Scale Application ปรึกษา Bluebik ได้ทันที
ทั้งหมดนี้ คือเรื่องราวกลเม็ดจากผู้เชี่ยวชาญตัวจริงอย่าง คุณปกรณ์ เจียมสกุลทิพย์ Chief Technology Officer แห่ง Bluebik และ คุณสรณัญช์ ชูฉัตร Chief Experience Office แห่ง Bluebik ที่มีความพร้อมสนับสนุนองค์กรที่ต้องการพัฒนา Large-Scale Application ได้แบบ End-To-End ทั้งประสบการณ์การพัฒนาระบบมาแล้วหลากหลายรูปแบบ ที่สามารถให้บริการผู้ใช้งานจำนวนมหาศาลได้อย่างราบรื่นในหลากหลายโครงการ
เพราะอนาคตผู้ใช้งานและข้อมูลในโลกดิจิทัลจะมีปริมาณมากขึ้นเรื่อย ๆ การวางโครงสร้างพื้นฐานที่เหมาะสมและ Design System ที่ยืดหยุ่น จะช่วยสนับสนุนให้องค์กรสามารถสร้าง Large-Scale Application ได้สำเร็จ ซึ่ง Bluebik คือทีมงานผู้เชี่ยวชาญในระดับองค์กรที่พร้อมสนับสนุนได้อย่างในทุกขั้นตอนการพัฒนาอย่างครอบคลุม
สำหรับองค์กรที่ต้องการพัฒนา Large-Scale Application ไม่ว่าจะอยู่ในอุตสาหกรรมใดก็ตาม สามารถปรึกษาทาง Bluebik ได้ในกระบวนการ โดยสามารถติดต่อได้ที่อีเมล: hello@bluebik.com หรือโทร 02-636-7011
