Skip links
View
Drag

EP.1 อุปสรรคในการสื่อสารของ “Core engine”

ปัญหาการสื่อสารมีแม้ในระบบไอที หากมีคนกลางที่ดี ระบบไอทีจะกลายเป็น innovation อย่างก้าวกระโดด

1. ในระบบไอทีที่เราเคยมีมา ล้วนเป็นระบบที่มีคุณประโยชน์อย่างมาก และ เป็นส่วนหนึ่งในชีวิตประจำวันสำหรับคนทั่วไป เช่น- ระบบโอนเงินต่างธนาคาร ที่ต้องมีความถูกต้องแม่นยำ และเกี่ยวข้องกับการเงิน- ระบบข้อมูลตลาดหลักทรัพย์ ที่มีนักลงทุนจำนวนมหาศาลใช้งาน ระบบจึงต้องตอบสนองได้เป็นปัจจุบัน เพราะข้อมูลที่ล่าช้าเพียงไม่กี่วินาที อาจหมายถึง มูลค่าของกำไร/ขาดทุน ที่จะส่งผลให้นักลงทุน หมดความเชื่อถือ- ระบบทางการแพทย์ ที่ต้องเข้าถึงข้อมูลบุคคล ตรวจสอบประวัติไข้ การประกันสุขภาพและประกันชีวิต เพื่อ ให้การรักษาแม่นยำ และ ผู้ป่วยมีการช่วยเหลือด้านค่าใช้จ่าย อย่างถูกต้องตามเงื่อนไขที่ระบุ

ระบบเหล่านี้เป็นเพียงบางส่วน ที่มีแก่นของการประมวลผลสำคัญ ผมจะขอเรียกว่า “Core engine” นะครับ โดยมีต้นกำเนิดจากความต้องการของธุรกิจตั้งต้น และเติมความสามารถต่าง ๆ เฉพาะทางเพิ่มขึ้นเรื่อย ๆ ทำให้ “Core engine” เหล่านั้น มีความเฉพาะตัว และ ยากต่อการสื่อสาร ไปยัง ระบบอื่น ๆ ที่ไม่ได้อยู่ใน ธุรกิจของตนเอง

แต่ในปัจจุบัน การก้าวกระโดดทางความต้องการของผู้บริโภค วิ่งไปข้างหน้าอย่างรวดเร็ว ซึ่งเทคโนโลยีที่หลากหลาย ก็ออกมาเพื่อรองรับความต้องการเหล่านั้น

2. #ระบบคลาวน์ (Cloud computing) ที่มีเทคโนโลยี พร้อมใช้ ต่าง ๆ ทั้งระบบประมวลผล ที่จัดเก็บข้อมูลหลายประเภท ระบบพร้อมใช้งานทันที เรียกว่า พร้อมเหมือนจะทาน บะหมี่กึ่งสำเร็จรูป รสชาติ ต่าง ๆ เลยครับ

#การจัดการผ่านระบบคลาวด์คอนโซล (Cloud console) จะสะดวกสบาย มือไม่เจ็บ (สมัยนั้น ต้องแกะ ถอด ประกอบ ใส่ บางทีก็มีงับมือ บาดมือกันบ้าง ครับ •^^) เพราะเป็นการกดเลือกผ่าน web application จาก Cloud console ที่เป็น Web application จะไปสั่งการผ่านตัวกลาง เหมือนเป็นคนสักคน ให้ไปถอดประกอบคอม ให้เราตามที่เราระบุค่าไว้ โดยตัวกลางนั้นเราเรียกว่า “#API (Application Programming Interface)” เอิ่มมม ผมขอเรียกว่า API เลยละกันนะครับ และเดี๋ยวผม พากลับเข้าเรื่อง ของ “Core Engine” ว่ามาเกี่ยวพันกับ “API” ได้ยังไงกันน๊า

ที่ผมพา มาจุดนี้ เพียงเพราะอยากให้เห็นถึงความ ยาก จากการสั่งงานผ่าน Web application วิ่งไปยัง โครงสร้างพื้นฐานของระบบไอที เบื้องหลัง อาจจะมีทั้ง Virtualization, Container management, Multi-type of storage, Software define network และ อื่น ๆ ที่แต่ละชื่อ คือระบบที่ ทำหน้าที่ของตนเองเป็นหลัก แต่ไม่สามารถ รู้จัก ระบบข้างเคียงได้โดยง่าย

3. ยกตัวอย่างเปรียบเทียบเหมือนเป็นบุคคลสักนิดนะครับ– ให้ ระบบ Virtualization เป็น Mr. Virtual– ให้ ระบบ Multi-type of storage เป็น นายจัดเก็บหากผู้อ่านแค่ใช้ Web application เป็นตัวส่งใบงาน (ค่ากำหนด ต่างๆ ไปยังระบบทั้งสอง) ผู้อ่านส่งใบงานว่าอยากได้เครื่องคอมพิวเตอร์ 16vCPU, 64G of RAM, Disk 1TB แบบนี้ พอใบงานไปถึงสองคนนี้ก็อ่านและก็ต้องทำงานร่วมกัน งานก็จะเข้านิดนึง

Mr. Virtual กับ นายจัดเก็บ ก็อาจจะพอสื่อสารกันได้ นายจัดเก็บ ก็พูดภาษาอังกฤษได้หล่ะ แต่ไม่ native อย่างเข้าของภาษาอังกฤษ แต่ เผอิญว่า Mr. Virtual ฟังไม่ออก หรืออาจฟังแล้วเข้าใจผิดของที่ได้ก็จะผิดไปเลย แต่จริงแล้วตัว Web application ที่ว่า มีเพื่อนคนนึงที่ชื่อว่า “API” เป็นคนช่วยสื่อสารระหว่างระบบทั้งสองนี้

โดย Mr. API จะพูดได้ทุกภาษาของระบบที่รู้จักจะช่วยสื่อสาร และมีความสามารถในการจัดการให้ประสานกัน สร้างสิ่งนี้ก่อนหลัง ตามลำดับ เพื่อให้ได้ของที่ต้องการออกมาตามใบงาน

มาถึงตรงนี้ หากไม่งงก็หลงป่ากันละครับเพราะผมเองอยากเขียนให้เข้าใจง่าย เข้าถึงผู้อ่านได้หลากหลาย

4. เครื่องมือในปัจจุบันนี้ มีสิ่งที่เรียกว่า “API Gateway” (เดี๋ยวภายหลัง ผมจะเรียกว่า “API Management” นะครับ ไว้ค่อยขยายความสามารถให้ฟังนะครับ) มาช่วยในการจัดการ เป็นตัวกลาง ในการสื่อสารโดยมีมาตรฐานกลางร่วมกัน สามารถเติมความปลอดภัย ทั้ง มั่นใจว่าระบบที่คุยระหว่างกันนั้น คือ ตัวจริง (ไม่ถูกระบบอื่นใด มาปลอมแปลง เพื่อลักลอบเอาข้อมูลสำคัญไป) และ การพิสูจน์ตัวตน กำหนดสิทธิ์การเข้าถึง ให้ได้เลย

เพราะว่า “Core Engine” ที่เราต่อเติม มาตั้งแต่แรกเริ่มสร้างระบบ การจะเพิ่ม ความสามารถบางอย่าง หรือ ใช้ภาษา สื่อสาร ตอบรับระบบอื่น ๆ โดยตรง จะเป็นเรื่องที่ เสี่ยงมาก เสี่ยงทั้ง การแก้ไข แกนหลักของระบบ อาจส่งผลกระทบ จากที่ใช้งานได้ดี อาจลดประสิทธิภาพ หรือ ใช้งานไม่ได้เลยหรือ เติมความสามารถที่ต้องการได้ แต่ กลับมีช่องวาง ของการเข้าถึง ทำให้เกิดความไม่ปลอดภัยตามที่ต้องการ (บางทีก็เรียกว่า Bug บางที ก็หยวน ๆ เรียกว่า unknown feature ไปละกัน)

ดังนั้น “API Gateway” จึงเข้ามามีบทบาท ในการเป็น #ตัวกลาง ที่ช่วยในการสื่อสารระหว่างกัน โดย “Core Engine” ของแต่ละระบบ ไม่ต้องแก้ไขเพิ่มเติมอะไร สามารถเติมความสามารถต่างๆ เข้าไปได้อย่างมีประสิทธิภาพ โดยสามารถเพิ่มเข้าหรือนำออกได้โดยไม่ต้องแก้ไข “Core Engine”

เพื่อความเข้าใจให้เห็นภาพ ลองไปดูตัวอย่างภาพที่ผมอธิบายเพิ่มเติมใต้ภาพดูครับ

สำหรับ EP นี้ ผมขอจบไว้ตรงนี้ก่อนนะครับใน EP ถัดไป จะพาให้รู้จัก คนกลางที่ขีดความสามารถสูง ใช้ได้ทั้ง บนระบบ Cloud, On-premise, Hybrid เรียกว่า บนฟ้า ภาคพื้นดิน หรือ เชื่อมต่อสื่อสารระหว่างกัน ได้อย่างครบถ้วนเลยครับ •^^