ทุกคนคงเคยได้เห็น หรือได้ยินผ่านหูผ่านตามาบ้างแล้วกับ "การประมวลผลแบบคลาวด์ (Cloud Computing)" ซึ่งหลายคนให้ความสนใจเป็นอย่างมาก แต่ก็ยังมีอีกหนึ่งสถาปัตยกรรมทางระบบ IT ที่สำคัญไม่แพ้กัน นั่นก็คือ "การประมวลผลแบบเอดจ์ (Edge computing)" นั่นเอง
ภาพจาก : https://www.techtarget.com/searchdatacenter/definition/edge-computing
โลกในปัจจุบันของเราที่กำลังขับเคลื่อนด้วยข้อมูลจำนวนมหาศาล หากมองในมุมมองของธุรกิจต่าง ๆ ก็จะเห็นได้ว่าการควบคุมระบบทั้งในงานผลิต งานเอกสาร หรือการบันทึกผลจากเซนเซอร์ ทั้งหมดนี้ล้วนทำให้เกิดปริมาณข้อมูลที่สูงมาก ๆ และเป็นประจำทุกวัน ซึ่งการจะถ่ายโอนข้อมูลจำนวนมาก ๆ เหล่านี้ด้วยการใช้ระบบสถาปัตยกรรมเดิม ๆ ที่นำเอาข้อมูลวิ่งเข้าสู่ศูนย์กลางก่อน ย่อมมีข้อจำกัดทั้งทางด้านความเร็วทางการถ่ายโอน ปัญหาที่อาจเกิดขึ้น และใช้ระยะเวลาที่สูง
ปัญหาเหล่านี้จึงทำให้เกิดการออกแบบ Edge Computing ขึ้นมาเพื่อมาแก้ไขข้อบกพร่องที่เกิดขึ้น และในบทความนี้ผมจะพาทุกคนไปทำความรู้จักกับการประมวลผลแบบเอดจ์ และประโยชน์จากการใช้งาน Edge Computing กัน
ด้วยจำนวนอุปกรณ์ที่นำมาเชื่อมต่อกันผ่านระบบเครือข่ายที่ใช้งานในเชิงธุรกิจมีจำนวนเยอะมาก ๆ และจำนวนข้อมูลที่ถูกผลิตออกมาจากอุปกรณ์เหล่านั้นก็มีปริมาณที่มหาศาล เพิ่มขึ้นอย่างรวดเร็วเกินกว่าที่ระบบศูนย์ข้อมูลกลางแบบเดิมที่มีอยู่จะรับไหว โดย Gartner ทำนายเอาไว้ในปี ค.ศ. 2025 (พ.ศ. 2568) ว่า 75 % ของข้อมูลที่สร้างโดยองค์กร จะถูกสร้างขึ้นจากด้านนอกของศูนย์ข้อมูลที่อยู่ส่วนกลาง (Centralized Data Center)
หากเราจะต้องนำเอาข้อมูลจำนวนมาก ๆ วิ่งเข้ามาประมวลผล ณ ศูนย์กลางซึ่งอาจอยู่ห่างไกลจากแหล่งข้อมูล แน่นอนว่าจะต้องเกิดปัญหาขึ้น ไม่ว่าจะเป็นระยะเวลาที่จะต้องใช้ การหยุดชะงักที่อาจส่งผลไปยังระบบอินเทอร์เน็ตทั่วโลก ซึ่งเป็นปัญหาใหญ่ที่ต้องหาทางรับมือ
ภาพจาก : https://www.withum.com/resources/edge-computing-a-threat-to-the-cloud/
จริง ๆ แล้วหลักการในการออกแบบระบบ Edge Computing นั้นไม่ได้มีความซับซ้อนที่มากมายอะไรเลย มันใช้แนวคิดที่ง่ายที่สุดโดยการ นำเอาพื้นที่จัดเก็บ และทรัพยากรในการประมวลผลบางส่วนออกจากศูนย์กลางแล้วเอาเข้ามาให้อยู่ใกล้กับแหล่งกำเนิดข้อมูลแทน
ซึ่งการทำแบบนี้จะเป็นการช่วยให้เราไม่จำเป็นที่จะต้องส่งข้อมูลดิบจากแหล่งที่สร้าง ไปยังศูนย์ข้อมูลส่วนกลาง (Central Data Center) เพื่อที่จะนำเอาข้อมูลไปประมวลผล แต่เราจะประมวลผลข้อมูลในจุดที่ข้อมูลถูกสร้างขึ้นมา ซึ่งนี่จุดที่ Edge Computing เข้ามามีบทบาทเลย จะมีแค่เพียงผลลัพธ์ หรือข้อมูลที่ได้รับการประมวลผลแล้วส่งออกไปยังศูนย์กลาง เพื่อให้มนุษย์ได้ดู และตัดสินใจเป็นลำดับต่อไปนั่นเอง
เราลองมาดูตัวอย่างง่าย ๆ เช่น รถที่มีระบบขับเคลื่อนอัตโนมัติ (Autopilot) หรือระบบขับเคลื่อนด้วยตนเอง (Self-Driving System) ซึ่งทั้งสองมีความคล้ายคลึงกันตรงที่จำเป็นจะต้องอาศัยข้อมูลจากเซนเซอร์ต่าง ๆ มากมาย เช่น กล้องรอบตัวรถ, ข้อมูลสภาพการจราจร, สัญญาณไฟจราจร ฯลฯ
มันมีข้อมูลจำนวนมหาศาลที่ถูกสร้างขึ้นมาตลอดเวลาที่รถคันนี้ขับเคลื่อนอยู่ โดยการที่รถยนต์จะขับเคลื่อนต่อเนื่องได้ ก็มาจากการเอาข้อมูลที่เก็บเกี่ยวได้มาประมวลผลเพื่อตัดสินใจว่าจะเร่งความเร็ว จะเลี้ยว หรือว่าจะหยุด ซึ่งวิธีการดั้งเดิมนั้นคือ การส่งข้อมูลจากที่ตัวรถไปยังคอมพิวเตอร์ที่เป็นศูนย์กลางเพื่อที่จะประมวลผลแล้วส่งคำสั่งกลับมายังตัวรถให้นำไปปฏิบัติใช้นั่นเอง
ภาพจาก : https://www.techaheadcorp.com/blog/future-of-self-driving-cars
แต่การส่งข้อมูลจำนวนมหาศาลไป-กลับ จะทำให้เกิดปัญหาด้านขนาดของข้อมูลที่มีขนาดใหญ่ และนั่นทำให้เกิดอีกปัญหาตามมา นั่นคือระยะเวลาที่ต้องใช้ในการส่งข้อมูลนานขึ้น ในขณะที่รถจะต้องขับเคลื่อนตลอดเวลา หมายความว่าระยะเวลาที่ข้อมูลคำสั่งจะส่งไป-กลับ (Latency) จะต้องต่ำมาก ซึ่งสิ่งที่เป็นข้อจำกัดของการส่งข้อมูลไปประมวลผลที่ศูนย์กลางก็มีดังนี้เลย
แบนด์วิดท์ก็คือก็คือปริมาณของข้อมูลที่สามารถส่งไปได้ในช่วงเวลานั้น ๆ โดยจะแสดงในหน่วย บิทต่อวินาที Bits per Second (bps หรือ bit/sec) ในทุก ๆ เครือข่ายจะมีปริมาณแบนด์วิดท์ที่จำกัด โดยเฉพาะอย่างยิ่งในระบบเครือข่ายที่เป็นระบบไร้สาย นั่นหมายความว่าจำนวนข้อมูลที่จะส่งไปได้นั้นมีจำนวนที่จำกัด แม้ในความเป็นจริงแล้ว เราสามารถเพิ่มจำนวนแบนด์วิดท์ได้ แต่ต้องแลกมาด้วยเงินลงทุนที่สูง และไม่ใช่วิธีการแก้ปัญหาที่ยั่งยืนด้วย
ค่าเวลาแฝงหรือ "Latency" ก็คือระยะเวลาที่ใช้ในการส่งข้อมูลจากอีกจุด ไปยังอีกจุดหนึ่งที่เป็นปลายทาง มีหน่วยวัดเป็นมิลลิวินาที (Millisecond) ซึ่งในทางอุดมคติแล้วการสื่อสารนั้นมีความเร็วเทียบเท่ากับความเร็วแสง แต่ในความเป็นจริงแล้ว ระยะห่างที่สูงมาก ๆ มีผลให้เกิดการหน่วง (Delay) ของข้อมูล และการที่ข้อมูลเกิดการหน่วงขึ้น จะส่งผลโดยตรงต่อการตัดสินใจของระบบปลายทาง อย่างเช่น ที่ยกตัวอย่างในรถยนต์ขับเคลื่อนด้วยตนเอง ซึ่งการตัดสินใจที่ล่าช้านี้อาจส่งผลต่อชีวิตของผู้โดยสารได้เลย
ภาพจาก : https://networkshardware.com/bandwidth-vs-latency
แน่นอนว่าอินเทอร์เน็ตเป็นบริการที่ช่วยให้เราสะดวกสบาย ปริมาณของอุปกรณ์ที่สามารถเข้าถึงอินเทอร์เน็ตได้มีกว่าพันล้านเครื่อง ดังนั้นแล้วจำนวนข้อมูลที่วิ่งผ่านกันไปมาบนระบบเครือข่ายจะมีจำนวนที่สูงมาก ๆ จนมันล้นหลามเลยทีเดียวซึ่งส่งผลให้เกิดความแออัดของข้อมูลในระดับที่สูง จนทำให้ใช้ระยะเวลาในการส่งที่นาน และอาจแออัดรุนแรงจนถึงขั้นที่เกิดการตัดขาดจากอินเทอร์เน็ตในผู้ใช้บางรายเลยทีเดียว
ด้วยการที่เรานำเอาเซิร์ฟเวอร์ และที่จัดเก็บข้อมูลไปไว้ที่ขอบของระบบ (Edge) ซึ่งเป็นที่ที่ข้อมูลถูกสร้างขึ้นมาก็คือการนำเอา Edge Computing เข้าไปใช้งานนั่นเอง โดยมันสามารถที่จะสั่งการหลาย ๆ อุปกรณ์ ผ่าน เครือข่ายคอมพิวเตอร์แบบเชื่อมโยงระยะใกล้ (LAN) มันมีแบนด์วิดท์ที่เพียงพอกับอุปกรณ์ที่ใช้ในวง LAN เท่านั้น ทำให้ค่า Latency และความแออัด แทบไม่มีผลเลย เก็บข้อมูลแค่ในระบบเล็ก ๆ แล้วประมวลผล Edge Analytic ด้วยเซิร์ฟเวอร์ที่อยู่ในวง LAN เพื่อที่จะสร้างการตัดสินใจ และสั่งงานได้อย่างทันถ่วงที แล้วค่อยส่งผลการประมวล หรือข้อมูลที่จำเป็นไปยังศูนย์กลางนั่นเอง
Edge Computing จะมีประโยชน์มาก ๆ ก็ในกรณีที่การเชื่อมต่อกับเครือข่ายนั้นไม่เสถียร หรือมีปริมาณแบนด์วิดท์ที่จำกัด ซึ่งอาจจากสภาพแวดล้อมโดยรอบก็ได้ เช่น อยู่ในไร่ที่ห่างไกลมาก อยู่บนเรือกลางทะเล อยู่ในป่า หรือทะเลทราย และในกรณีแบบนี้ที่ Edge Computing จะได้เปรียบเพราะสามารถทำงานเก็บข้อมูล, ประมวลผล และสั่งการได้เลยที่หน้างาน จากนั้นอาจสามารถส่งข้อมูลกลับไปยังศูนย์กลางได้เพราะจำนวนข้อมูลที่ส่งไปมันลดน้อยลงจนพอกับแบนด์วิดท์ที่มีนั่นเอง
การเคลื่อนย้ายข้อมูลจำนวนมหาศาลไม่ได้เป็นเพียงปัญหาเดียว แต่การที่ข้อมูลเดินทางข้ามไป-มา บนระบบอินเทอร์เน็ต อาจมีความเสี่ยงต่อความปลอดภัย และความเป็นส่วนตัวได้ ด้วยระบบ Edge Computing ที่สามารถประมวลผลข้อมูลที่แหล่งกำเนิดได้จึงสามารถหลีกเลี่ยงปัญหาด้านความปลอดภัยได้นั่นเอง
ในงานระบบ IoT ที่จำเป็นต้องมีการส่งข้อมูลผ่านระบบอินเทอร์เน็ต ยังคงถูกมองว่ามีความเสี่ยงที่อาจเกิดจากการโจรกรรม หรือแอบเข้าถึงข้อมูลโดยไม่ได้รับสิทธิ์ขึ้น ดังนั้นการที่เรามีเครื่องคอมพิวเตอร์ทำงานในขอบเขตของระบบก็จะช่วยให้เราสามารถที่จะ เข้ารหัส (Encrypt) ข้อมูลที่ส่งออกมาจากระบบเซนเซอร์ต่าง ๆ ได้ก็จะทำให้ข้อมูลมีความปลอดภัยสูงขึ้น
แม้ว่าการทำระบบ Edge Computing จะมีให้ผลประโยชน์ที่สูงในหลาย ๆ เคสการใช้งานแต่ก็ยังมีข้อจำกัดที่เป็นอุปสรรคต่อการนำเอาไปใช้อยู่บางประการ โดยมีดังนี้
จริง ๆ แล้วสิ่งที่เป็นตัวชูโรงของ การประมวลผลแบบคลาวด์ (Cloud computing) และ การประมวลผลแบบหมอก (Fog Computing) นั่นก็คือความหลากหลาย และสเกลขนาดของระบบที่สามารถขยายให้ใหญ่ขึ้นได้อย่างอิสระ แต่มุมกลับกันระบบประมวลผลแบบ Edge นั้นถูกสร้างขึ้นมาด้วยทรัพยากรประมวลผลที่มีอยู่อย่างจำกัด หมายความว่า มันสามารถที่จะประมวลผลได้แค่งาน ที่มันถูกออกแบบให้ทำเพียงงานเดียวเท่านั้น
ถึงแม้ว่า Edge computing จะสามารถก้าวข้ามอุปสรรคหลาย ๆ ประการ ทางการเชื่อมต่อเครือข่ายได้ แต่การนำเอา Edge Computing ไปใช้อย่างน้อยที่สุดก็ยังจำเป็นจะต้องมีการเชื่อมต่อเครือข่ายอินเทอร์เน็ตอยู่ดี และก็เป็นการยากที่จะออกแบบระบบ Edge ให้สามารถใช้งานกับเครือข่ายที่ล่าช้า หรือไม่เสถียร ทุกคนลองนึกดูว่า ถ้าสมมติว่าเราเอาระบบ Edge ไปใช้กับงานระบบอัตโนมัติ การเชื่อมต่อที่ไม่เสถียร หรืออาจขาดหายไปช่วงหนึ่ง เราก็จะไม่สามารถรู้ได้เลยว่าระบบ ณ ตอนนั้นมันทำอะไรอยู่
ระบบ IoT ยังมีความปลอดภัยที่ไม่สูงมากนั้น เพราะฉะนั้นการออกแบบระบบประมวลผลแบบ Edge จะต้องทำให้เหมาะสมกับอุปกรณ์นั้น ๆ ที่นำมาใช้ด้วย ตัวอย่างเช่น Policy-Driven Configuration (คือการกำหนดค่าของแต่ละอุปกรณ์ให้เข้าถึงเอกสารประมวลผลของตัวมันเองได้ถูกต้องทำให้สามารถทำงานได้อย่างปกติ) และรวมถึงการรักษาความปลอดภัยของที่จัดเก็บข้อมูล เช่นการอัปเดตซอฟท์แวร์ หรือการแพทช์ และอัปเดต ซึ่งทั้งหมดที่กล่าวมานั้นมีมาให้แน่นอนถ้าหากเป็นการทำระบบคลาวด์ เพียงแต่เราต้องสร้างระบบประมวลผลแบบเอดจ์ขึ้นมาจากศูนย์ จึงเป็นความท้าทายที่ใหญ่เลยทีเดียว
อีกหนึ่งปัญหาที่เกิดขึ้นอย่างต่อเนื่องกับชุดข้อมูลในปัจจุบันที่มีปริมาณสูง ก็คือข้อมูลจำนวนมากนั้นเป็นข้อมูลที่ไม่จำเป็น เราลองมาพิจารณาดูที่ข้อมูลทางการแพทย์กัน อุปกรณ์ที่คอยเฝ้าสังเกตการณ์ (Monitoring) อาการของคนไข้ ซึ่งข้อมูลส่วนใหญ่จะเป็นส่วนของการเก็บค่าแบบเรียลไทม์แล้วนำมาวิเคราะห์โดยทันที ซึ่งไม่ได้ถูกเก็บไว้ในระยะยาว ดังนั้นแล้วผู้ประกอบการที่จะนำระบบประมวลผลแบบเอดจ์ไปประยุกต์ใช้นั้น จำเป็นที่จะต้องตัดสินใจว่าข้อมูลไหนจะเก็บแบบระยะยาว หรือระยะสั้น เพราะข้อจำกัดด้านขนาดของระบบนั่นเอง
ภาพจาก : https://www.techtarget.com/searchdatacenter/definition/edge-computing
ภาพจาก : https://www.techtarget.com/searchdatacenter/definition/edge-computing
ระบบการประมวลผลแบบ Edge Computing นั้นถูกสร้างขึ้นมาเพื่อก้าวข้ามขีดจำกัดของระบบประมวลผลแบบเดิมที่มีอยู่ซึ่งมีข้อจำกัดในเรื่องของการถ่ายโอนข้อมูลนั่นเอง ด้วยความสามารถในการประมวลผลข้อมูลและสั่งการได้ทันทีที่หน้างานของระบบประมวลผลแบบเอดจ์นั้น ทำให้เราสามารถชดเชยความล่าช้า และระบบยังคงทำงานต่อไปได้อย่างปกติ แต่ก็ยังคงมีข้อที่ยังคงเป็นกังวลอยู่ก็คือเรื่องของความปลอดภัยของข้อมูล
ด้วยระบบประมวลผลแบบเอดจ์ ยังคงเป็นเรื่องที่ค่อนข้างใหม่อยู่ และเริ่มมีผู้ประกอบการหันมาให้ความสนใจสูงขึ้น ผมคิดว่าในอนาคตระบบประมวลผลนี้จะมีการพัฒนาให้มีความปลอดภัยมากกว่าปัจจุบันอย่างแน่นอน
|