Everything are connected together

“ทุกสรรพสิ่งเชื่อมต่อกัน”

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

กล่าวถึงหัวข้อที่ผู้เขียนเรื่อง “Everything are connected together” เป็นเรื่องราวที่ผู้เขียนได้สกัดมาจากงานที่ผู้เขียนปฏิบัติจริงและได้มีการดำเนินการมาเป็นระยะเวลา 2 ปี ตั้งแต่เริ่มตั้งไข่ จนกระทั่งเริ่มยืนและเดินได้ เติบโตขึ้นทีละเล็ก ทีละน้อย ค่อยๆ เพิ่มทักษะในการเรียนรู้ไปพร้อม ๆ กัน

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

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

เรามาเข้าเรื่องที่จะนำเสนอในบทความนี้กัน…. เพิ่งได้เข้าเรื่องนะ OK ใจเย็น ๆ ไม่ต้องรีบร้อนค่อย ๆ อ่านไปแล้วกันนะ ^_^

จากการที่ศูนย์คอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์ เป็นเจ้าภาพในการจัดการประชุมปฏิบัติการ “ระบบเทคโนโลยีสารสนเทศและการสื่อสารมหาวิทยาลัยสงขลานครินทร์” ครั้งที่ 1 (The 1st PSU ICT Workshop) นับเป็นนิมิตหมายอันดีที่ทำให้เราได้เชื่อมต่อถึงกัน ในการประชุมครั้งนั้นผู้เขียนได้มีส่วนร่วมในการนำเสนอ ” แพลตฟอร์มสำหรับการพัฒนา web app และ mobile app บนสถาปัตยกรรมไมโครเซอร์วิส (Microservices Architecture)”

สถาปัตยกรรมของแพลตฟอร์มใหม่ ของคณะวิศวกรรมศาสตร์
สามารถอ่านรายละเอียด Story ได้ที่นี่(เปิดดูได้เฉพาะเครือข่ายภายใน มอ.)
https://dev-paas.eng.psu.ac.th

สถาปัตยกรรมของแพลตฟอร์มใหม่ ของคณะวิศวกรรมศาสตร์ ได้ออกแบบขึ้นบนพื้นฐานของสถาปัตยกรรม Microservice ซึ่งทุกสิ่งอย่างเชื่อมต่อกัน แต่ละ Service มีหน้าที่เฉพาะตัว ไม่ยึดติดภาษาที่ใช้พัฒนา แต่เราจะควบคุมให้ทำงานตามที่เราต้องการและสามารถปรับแต่งได้ เพื่องรองรับการเปลี่ยนแปลง นั่นคือภาพโดยรวมของเพลตฟอร์ม

การเลือกเครื่องมือ (Tools) ทีนำมาใช้ในการพัฒนาหรือการ Operation ระบบทั้งหมดนั้นมีความสำคัญต่อการปฏิบัติงาน หลักการเลือกเครื่องมือของผู้เขียนมีดังนี้

  1. ตรงตามความต้องการ
  2. มีรายละเอียด (Docs) อธิบายชัดเจน
  3. มีชุมชน (Community) ที่มีการ update ปัญหาอย่างสมำเสมอ
  4. มี Road map ของการพัฒนาที่ชัดเจน
  5. มีช่องทางเชื่อมต่อแบบต่างเพลตฟอร์ม (Cross Platform)

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

ชุดเครื่องมือ Open source สำหรับการบริหารจัดการเพลตฟอร์ม

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

  1. Kong API Gateway เป็นเครื่องมือสำหรับจัดการ การเข้าถึง APIs จากภายนอกแล้วไปเรียก APIs ภายในโดยใช้หลักการ Reverse proxy ได้อย่างง่าย สะดวก ไม่ต้องเขียน config ให้ยุ่งยากปลอดภัยและรวดเร็ว ในตัว Kong API Gateway นั้น มี Logging UDP/TCP Plugin  ให้เราสามารถส่ง logs ไปบันทึกตามตำแหน่งที่เราต้องการได้ Reference:  https://konghq.com
  2. ELK API Analytic เป็นเครื่องมือที่หลายคนน่าจะรู้จักดีและมีบทความดี ๆ ที่ผ่านมาเกี่ยวกับ ELK อยู่ในชุมชนนี้ด้วย เครื่องมือนี้ช่วยวิเคราะห์ปัญหาการเรียกใช้ APIs ตรวจสอบความผิดปกติในการใช้งาน เป็นต้น Reference: https://www.elastic.co
  3. Grafana API Monitoring เป็นเครื่องมือสำหรับใช้สร้าง Dashboard / Visualize กราฟ และวิเคราะห์ในเชิงสถิติ โดยตัวมันมี Plugin connection data source หลายแบบ หนึ่งใน data source ที่ใช้อยู่คือการดึงมาจาก elastic search ที่ผ่านการทำ indexing มาแล้ว รวมถึงมีความสามารถในการตั้งค่า threshold เพื่อกำหนดเงื่อนไขในการส่ง Notification ได้หลายช่องทาง เช่น Email , Line เป็นต้น Reference: https://grafana.com

บทสรุป

“Everything are connected together” ทุกสรรพสิ่งเชื่อมต่อกัน ล้วนมีช่องทางให้เชื่อมต่อ แม้ในการทำงานก็เช่นกัน การเชื่อมต่อกันเป็นการประสานการทำงานกันได้อย่างดี แม้จะมีหน้าที่งานระดับใดก็ตามขอเพียงแค่เปิดใจรับฟังและไม่ใช้เหตุผลส่วนตัวในการตัดสินใจ ขอให้ใช้เหตุผลเพื่อส่วนรวม คุณพร้อมหรือยังที่จะเชื่อมต่อ….

สำหรับขั้นตอนวิธีอย่างละเอียดในการเชื่อมต่อทำอย่างไร หากสนใจ ติดต่อสอบถาม หรือปรึกษาได้ครับ โทร. 749931 / email: thawat.va@psu.ac.th

ผู้เขียน: นายธวัช วราไชย
ตำแหน่งนักวิชาการคอมพิวเตอร์
สังกัดฝ่ายคอมพิวเตอร์ทางวิศวกรรมศาสตร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยสงขลานครินทร์