Edge Computing ระบบการประมวลผลขนาดจิ๋ว ๆ แต่ไม่จิ๋วอย่างที่คิด

สวัสดีครับ ชาว IT ทุกท่าน กลับมาพบกันอีกครั้งกับ Blog ของ Cloud HM ในเดือนมกราคม 2564 สวัสดีปีใหม่
ทุก ๆ ท่านนะครับ ในหลาย ๆ ปีที่ผ่าน “Data” หรือ “ข้อมูล” เริ่มถูกพูดถึง และมีการนำไปใช้หาประโยชน์ต่าง ๆ มากมาย จนถึงขั้นมีคนนำไปให้คำนิยามว่า “DATA IS THE NEW OIL” ซึ่งจะกล่าวอย่างนั้น ก็ไม่ผิดแปลกอะไรครับ เพราะว่าในยุคปัจจุบัน ใครเข้าถึงข้อมูลได้มากกว่า ละเอียดกว่า เชิงลึกมากกว่า หรือตอบโจทย์กลุ่มความต้องการมากกว่า ก็จะได้เปรียบคู่แข่ง หรือผู้อื่น เสมอครับสำหรับ Blog ของเราในวันนี้จะมาแนะนำเทคโนโลยีที่เริ่มมีการใช้งานการอย่างแพร่หลาย และเกี่ยวกับ Data เช่นกัน นั่นก็คือ Edge Computing ครับ

Edge Computing คืออะไร?

Edge Computing  เป็นเรื่องเกี่ยวกับระบบ Network ที่ต้องการที่จะนำ Compute ไปตั้งอยู่ใกล้กับแหล่งที่สร้างข้อมูลมากที่สุด เพื่อที่จะลด Latency และ Bandwidth ที่ใช้ในการส่งข้อมูลถ้ามองให้เห็นภาพง่าย ๆ การใช้ Edge Computing จะมีการรัน Process ที่ Cloud น้อยลง และย้าย Process เหล่านั้นไปอยู่ที่สถานที่ต้นทางแทน เช่น อุปกรณ์คอมพิวเตอร์ของผู้ใช้งานที่ Site งาน,อุปกรณ์ IoT หรืออาจจะเป็น Edge Server  การที่นำ Compute ไปไว้ที่ Network Edge จะช่วยลดระยะทางในการติดต่อกันระหว่าง Client กับ Server นั่นเองครับ

Network Edge คืออะไร?

สำหรับอุปกรณ์ที่เกี่ยวข้องกับ Internet, Network Edge เป็นอุปกรณ์ที่มีอุปกรณ์ที่สามารถเชื่อมต่อกับ Internet ได้อยู่ติดตั้งภายใน ตัวอย่าง เช่น คอมพิวเตอร์ของผู้ใช้งาน หรือ Processor ที่อยู่ภายกล้อง IoT ก็มองว่าเป็น Network Edge เช่นกันครับจุดประสงค์ของ Network Edge คือการที่ได้วางอุปกรณ์ใกล้กับแหล่งข้อมูล ต่างจาก Physical Server และ Cloud Server ทั่วไปที่จะติดตั้งอยู่ที่ไหนก็ได้ถ้าสามารถติดต่อสื่อสารกับต้นทางได้

ความแตกต่างของ Edge Computing กับ Computing แบบอื่น ๆ

ทุกท่านอาจจะเคยเห็นคอมพิวเตอร์เครื่องแรกของโลกกันใช่ไหมครับ เครื่องค่อนข้างใหญ่เลยใช่ไหมครับ ซึ่งการใช้งานก็จะต้องต่อสายต่าง ๆ ระโยงระยางมากมาย และสิ่งต่าง ๆ ก็พัฒนาตามนวัตกรรมเรื่อยมา จนได้เป็น Personal computer หรือ PC ที่เราใช้งานกันทุกวันนี้ App ต่าง ๆ ที่ใช้งาน และ Data ที่เกิดขึ้นส่วนใหญ่จะถูกเก็บไว้ในอุปกรณ์ของผู้ใช้งาน หรืออาจจะเก็บไว้ที่ On-Premise data center ก็ได้Cloud Computing คือสิ่งที่พัฒนาขึ้นเป็นลำดับถัดมา ให้ข้อดีที่มากกว่าการติดตั้ง Server ไว้ที่ต้นทางแบบ On-Premise, Cloud Service เป็นจุดศูนย์รวมต่าง ๆ ในการจัดการข้อมูลต่าง ๆ ซึ่งสามารถเข้าใช้งานจากที่ไหนและอุปกรณ์ใดก็ได้ถ้ามี Internet  สนใจบริการ  Cloud Service ติดต่อได้ที่นี่


แต่อย่างไรก็ตาม Model Cloud Computing จะมี Latency ค่อนข้างสูงเนื่องจาความห่างระหว่าง User ที่ใช้งานและ Data Center ที่ Cloud ติดตั้งอยู่ Edge Computing จะย้าย Compute ไปวางใกล้กับ User เพื่อลดระยะห่างที่ข้อมูลจะใช้เวลาเดินทางจาก Data Center ไปหา User โดยที่ยังคง Concept เรื่องศูนย์กลางในการจัดการข้อมูลเหมือนกับ Cloud Computing ครับสรุปสั้น ๆ คือ

  • Computing ช่วงแรก ๆ: App ต่าง ๆ Run อยู่บนคอมพิวเตอร์เครื่องเดียว
  • Personal Computer (PC): กระจายการใช้งาน Application ไปอยู่ที่เครื่องของแต่ละคน
  • Cloud Computing: เป็นศูนย์กลางในการ Run App ติดตั้งอยู่ที่ Data Center
  • Edge Computing: เป็นศูนย์กลางในการ Run App ที่ใกล้ลูกค้าที่สุด จะด้วยอุปกรณ์ของตัวเองหรือผ่านทาง Network Edge

ทำไมถึงต้องใช้ Edge Computing?

ลองพิจารณาที่จะติดตั้งกล้องวงจรปิดหลาย ๆ ตัวที่เป็นแบบ IoT โดยกล้องพวกนี้ก็จะให้ Output ออกมาเป็นวิดีโอซึ่งจะส่งข้อมูลต่าง ๆ ไปหา Cloud Server ซึ่งก็จะ Process ผ่าน Application ที่ใช้ตรวจจับการเคลื่อนไหวเพื่อให้มั่นใจว่ามีเฉพาะแค่บางคลิปที่จะบันทึกไปยัง Database จากขั้นตอนที่กล่าวมานั่นก็หมายถึง Bandwidth ที่จะโดนดึงไปใช้งาน ยิ่งถ้ามีข้อมูลของวิดีโอที่ต้อง Transfer data ไป Cloud ก็จะมีการใช้งานปริมาณ Bandwidth มหาศาล


ทีนี้ลองนึกภาพตามว่า ถ้าเราย้าย Motion Sensor ไปไว้ที่ Network edge แทนล่ะ ผลลัพธ์ที่ได้คือ กล้องแต่ละตัวก็จะเหมือนมีคอมพิวเตอร์เป็นของตัวเองเพื่อใช้กับ App ตรวจจับการเคลื่อนไหว และส่งข้อมูลเท่าที่จำเป็นไปหา Cloud นั่นเอง วิธีนี้จะช่วยลดการใช้งาน Bandwidth ลง เนื่องจากภาพ หรือวิดีโอจากกล้องทั้งหมดไม่ต้องส่งตรงไปหา Cloud


ทำให้เราสรุปกันได้ว่า Cloud Server จะเก็บแค่ข้อมูลสำคัญ ๆ เท่านั้น และเราจะมีกล้องจำนวนเยอะแค่ไหนก็จะไม่กระทบกับการทำงานของ Cloud Server การทำแบบนี้คือหน้าที่ของ Edge Computing นั่นเองครับ

ตัวอย่างการนำ Edge Computing ไปใช้งาน

Edge Computing สามารถนำไปใช้งานร่วมกับ App, สินค้า หรือบริการต่าง ๆ ได้มากมาย เช่น

รถยนต์ขับเองที่ติดตั้ง Compute ไว้ในตัวรถ
การใช้งาน Edge Computing กับเครื่องจักรในโรงงาน
  • ระบบ Security: การใช้งานกล้อง ตามที่ได้ยกตัวอย่างไปด้านบน
  • อุปกรณ์ IoT: อุปกรณ์ Smart ที่ต้องเชื่อมต่อ Internet ถ้าจะใช้งานจะใช้ประโยชน์จากการ Run code ภายในตัวอุปกรณ์มากกว่าการใช้งานผ่าน Cloud เพื่อให้มีประสิทธิภาพตอบสนองกับผู้ใช้ได้ดีกว่า
  • รถยนต์ขับเอง: รถยนต์ที่ขับเองได้ต้องการการตอบสนองแบบทันทีทันใด (Real time) โดยที่ไม่ต้องมาข้อมูลจาก Server
  • Caching: การใช้งาน Caching จะมีประสิทธิภาพมากขึ้น โดยการ Run code ที่ CDN edge network ทำให้ Application สามารถตรวจสอบได้ว่ามี Content ไหนที่ดึงจาก Cache ได้แทนที่จะไปดึงจาก Server โดยตรง
  • ระบบ Monitor ทางการแพทย์: เป็นเรื่องที่สำคัญมากในทางการแพทย์ที่จะต้องตอบสนองออกมาแบบทันทีทันใด โดยที่ไม่ต้องการประมวลผลจาก Cloud Server
  • ระบบ Video Conference: Live Video ส่วนใหญ่จะกินปริมาณ Bandwidth ระดับหนึ่ง ดังนั้นการย้ายระบบหลังบ้านไปให้ใกล้กับต้นทางของวิดีโอจะช่วยลดอาการค้างลง

ประโยชน์ของการใช้งาน Edge Computing

ประหยัดเงิน จากตัวอย่างทางด้านบน Edge Computing จะช่วยลด Bandwidth ในการใช้งาน และลด Resource ที่ต้องใช้บน Server ลง ทำให้สามารถประหยัดเงินได้พอสมควร
ประสิทธิภาพ – นอกจากเรื่อง Latency ที่ลดลงแล้ว ทุก ๆ ครั้งที่อุปกรณ์จะติดต่อสื่อสารกับ Server ที่ห่างออกไปจะมี Delay ตัวอย่าง เช่น พนักงาน 2 คน อยู่ที่ Office เดียวกัน chat หากัน อาจจะเคยมีปัญหาเรื่องการได้รับข้อความช้าเนื่องจากข้อความจะต้องส่งไปหา Server ของผู้ให้บริการ Chat รายนั้น แล้วค่อยส่งกลับไปหาปลายทาง ซึ่งถ้าขั้นตอนที่ย้ายมาใช้ที่ Edge ได้ ก็จะไม่เจอปัญหาเรื่องได้รับข้อความช้าอีก
การใช้งานแบบใหม่ – บริษัทสามารถใช้ edge computing เพื่อประมวลผลและวิเคราะห์ข้อมูลของตัวเองได้ที่ edge ซึ่งทำให้สามารถทำได้แบบ Real time

ข้อเสียของการใช้งาน Edge Computing

มีประโยชน์ก็ต้องมีข้อเสีย หนึ่งในข้อเสียของ Edge Computing คือเพิ่มโอกาสในการโจมตีจากผู้ไม่หวังดี เนื่องจากการเพิ่มอุปกรณ์ Smart เข้าไป เช่น Edge Server และอุปกรณ์ IoT ที่มีคอมพิวเตอร์จิ๋วอยู่ในตัว ทำให้มีช่องทางที่จะสามารถโจมตีได้อีกข้อเสียหนึ่ง Edge Computing ต้องมี Local Hardware ติดตั้งอยู่ด้วยเสมอ เช่น กล้องวงจรปิด IoT จะต้องส่งข้อมูลไปให้ Computer ก่อนที่จะส่งไป Web Server ซึ่งต้องใช้คอมพิวเตอร์ที่สามารถรองรับการ Process Algorithms ของการตรวจจับการเคลื่อนไหวได้ ทำให้อาจจะมีค่าใช้จ่ายในส่วนนี้เพิ่มเติม แต่ก็แลกมากับการที่คุณจะได้ใช้อุปกรณ์ Smart ครับ

เป็นอย่างไรกันบ้างครับกับ Edge Computing หวังว่าจะได้รับประโยชน์กันนะครับ Blog หน้า ผมจะมาแนะนำเรื่องของ Serverless และต่อด้วยเทรนด์ยอดนิยม Self-driving car เดี๋ยวมาดูกันว่ามีหลักการทำงานอย่างไร สำหรับ Blog นี้ มีเพียงเท่านี้ ขอบคุณทุกท่านที่ติดตามกันนะครับ

— Cloud HM