ELK Stack จากโปรแกรมค้นเอกสารสู่ระบบเก็บ log ศูนย์กลางองค์กร

ELK Stack จากโปรแกรมค้นเอกสารสู่ระบบเก็บ log ศูนย์กลางองค์กร งานกันเยอะขึ้นมาในช่วงหลังคือ Elasticsearch ที่เดิมเคยเป็นซอฟต์แวร์สำหรับค้นหาเอกสารด้วยความเร็วสูง เวลาที่เราสร้างแอปพลิเคชันเก็บข้อมูล หากเราต้องการฟีเจอร์ค้นหาหากข้อมูลไม่มากนักเราก็มักจะสามารถค้นเอกสารลงไปในฐานข้อมูลของแอปพลิเคชันได้โดยง่าย แต่สำหรับแอปพลิเคชันที่มีข้อมูลปริมาณมาก การค้นเอกสารบนฐานข้อมูล SQL มักมีปัญหาประสิทธิภาพ แถมการค้นหาเอกสารด้วยคำในเอกสารบางครั้งก็มีเอกสารจำนวนมากที่มีคำเหมือนๆ กัน การเรียงลำดับว่าเอกสารไหนควรอยู่บนสุดกลายเป็นเรื่องซับซ้อนและเป็นศาสตร์ในตัวมันเอง จึงมักแยกระบบค้นหา เช่นนี้ออกจากระบบฐานข้อมูลที่เก็บข้อมูลในแอปพลิเคชัน Elasticsearch เป็นเซิร์ฟเวอร์สำหรับค้นเอกสารตัวหนึ่งที่ได้รับความนิยมอย่างสูง โดยเราสามารถใส่ไฟล์ ที่อาจจะแยกฟิลด์ เช่น ชื่อสินค้า, รายละเอียดสินค้า, หรือราคา ลงไปใน Elasticsearch แล้วค้นหาข้อมูลกลับออกมาทั้งแบบการค้นหาคำไม่ว่าจะอยู่ในฟิลด์ใด หรือการค้นที่ซับซ้อนขึ้น เช่น ตั้งเงื่อนไขว่าหาสินค้าเฉพาะบางหมวด หรือบางช่วงราคา หลังจาก Elasticsearch ได้รับความนิยมก็มีอีกสองโครงการเกิดขึ้นมา คือ Logstash ซอฟต์แวร์รับข้อมูลจากแหล่งต่างๆ โดยเฉพาะ log จากแหล่งต่างๆ รวมถึงอุปกรณ์เน็ตเวิร์ค และเซิร์ฟเวอร์ ทำให้ Elasticsearch กลายเป็นถังเก็บ log ที่สามารถค้นกลับมาได้โดยง่าย แก้ปัญหาการเก็บ log ปริมาณมหาศาลแต่ไม่สามารถใช้งานได้จริง อีกโครงการที่เกิดขึ้นไล่เลี่ยกันคือ Kibana…

Kubernetes ยุคต่อไปของการจัดการโครงสร้างพื้นฐานในองค์กร

Kubernetes ยุคต่อไปของการจัดการโครงสร้างพื้นฐานในองค์กร ปีที่ผ่านมาเราได้ยินคำว่า Kubernetes กันมากมาย องค์กรจำนวนมากที่มีระบบไอทีที่ซับซ้อนสักหน่อยคงสนใจอยากศึกษาดูว่าการใช้ Kubernetes จะช่วยให้องค์กรบริหารระบบไอทีมีประสิทธิภาพดีขึ้นได้อย่างไร ก่อนหน้าที่ Kubernetes จะโด่งดังขึ้นมานั้น การใช้คอนเทนเนอร์หรือที่มักเรียกตามแบรนด์ว่า Docker เป็นระบบจัดสร้าง “สภาพแวดล้อม” สำหรับรันแอปพลิเคชั่นที่ได้รับความนิยมอย่างสูง การแพ็กแอปพลิเคชั่นเป็นคอนเทนเทอร์ทำให้ไม่ต้องกังวลว่าจะเจอเหตุการณ์ขัดกัน เช่นตัวแอปต้องการระบบปฎิบัติการรุ่นหนึ่งแต่ระบบฐานข้อมูลต้องการอีกรุ่นหนึ่ง หลังเราแพ็กแอปพลิเคชั่นทั้งหมดไปอยู่บนคอนเทนเนอร์แล้ว แอปพลิเคชั่นทั้งหมดก็จะอยู่ร่วมกันได้ โดยมีข้อดีกว่าการแบ่งเครื่องเป็น virtual machine (VM) ทุกวันนี้ คือการใช้ทรัพยากรของตัวคอนเทนเนอร์น้อยกว่า VM มาก มีโอกาสที่เราจะอัดแอปพลิเคชั่นจำนวนมากขึ้นเข้าไปในฮาร์ดแวร์เดิมโดยประสิทธิภาพไม่ลดลง หากเรามีแอปจำนวนไม่มากนัก หรือระบบที่ไม่ซับซ้อน การย้ายแอปพลิเคชั่นเป็นคอนเทนเนอร์ก็มักเพียงพอ แต่หากระบบมีความซับซ้อนมาก ต้องเพิ่มจำนวนเครื่องเพื่อรับโหลดมากน้อยต่างกันในแต่ละช่วงเวลา การแพ็กแอปพลิเคชั่นเป็นคอนเทนเนอร์ก็จะไม่เพียงพออีกต่อไป แต่ต้องมีแพลตฟอร์มมาช่วยจัดการคอนเทนเนอร์เหล่านี้ หรือที่เรียกว่า container orchrestration ระบบของเราอาจจะมีแอปพลิเคชั่นสำคัญในองค์กร 5-10 แอปพลิเคชั่น แต่ละตัวใช้ระบบฐานข้อมูลคนละชนิด มีโหลดต่างกัน ในบางช่วงเวลามีบางระบบโหลดสูงเป็นพิเศษ เช่นระบบบัญชีในช่วงสิ้นเดือน หรือบางแอปพลิเคชั่นทำงานหนักหลังเลิกงานเพื่อสรุปผลประจำวัน container orchestration เข้ามาดูแลการใช้ทรัพยากรเหล่านี้ โดยแพลตฟอร์มจะรับผิดชอบในการหาทรัพยากร อย่างซีพียูและแรม เพื่อให้แอปพลิเคชั่นรันได้อย่างเต็มประสิทธิภาพ มันจะคอยตรวจสอบว่ามีส่วนไหนมีโหลดสูงเกินกำหนดและพยายามขยายระบบเพื่อรองรับโหลดโดยอัตโนมัติ หลายปีที่ผ่านมีผู้พัฒนา…

เกมสตรีมมิ่ง อนาคตยุคต่อไปของความบันเทิง

เกมสตรีมมิ่ง อนาคตยุคต่อไปของความบันเทิง บริการสตรีมมิ่งกำลังเข้ามา disrupt โลกอย่างรวดเร็วในช่วงสิบปีที่ผ่านมา จากบริการผิดกฎหมายที่ถูกตามจับ ทุกวันนี้คนไทยจำนวนมากสามารถเข้าถึงบริการสตรีมมิ่งทั้งเพลงและภาพยนตร์ได้จากบริการที่หลากหลาย อย่างบริการเพลง เช่น Apple Music, Spotify, JOOX หรือฝั่งภาพยนตร์ก็มีทั้ง Netflix, iflix, VIU แต่อีกอุตสาหกรรมที่อาจจะมีความเปลี่ยนแปลงคืออุตสาหกรรมเกมที่กำลังจะมีบริการสตรีมมิ่งแล้วเหมือนกัน ตลาดเกมเป็นตลาดที่มีมูลค่าสูง มูลค่าร่วมแต่ละปีประมาณ 3.6 ล้านล้านบาท โดยประมาณครึ่งหนึ่งเป็นเกมบนโทรศัพท์มือถือ ที่เราหลายๆ คนอาจจะมีโอกาสเล่นเกมฟรี และบางครั้งก็ซื้อไอเท็มในเกมกันอยู่บ้าง แต่อีกครึ่งหนึ่งเป็นตลาดที่ค่อนข้างจริงจัง คือกลุ่มผู้เล่นเกมบนพีซีและคอนโซล เกมในครึ่งหลังนี้หลายครั้งเป็นเกมขนาดใหญ่ ใช้เทคโนโลยีใหม่ ภาพกราฟิกสวยงาม มีการลงทุนสูงนับพันล้านบาทต่อเกมและผู้เล่นเองก็ต้องลงทุนซื้อเครื่องคอนโซลหรือพีซีราคาแพงเพื่อเล่นเกมเหล่านี้ แต่เทคโนโลยีสตรีมมิ่งอาจจะกำลังงขยายตลาดเกมพีซีและคอนโซลให้ทุกคนเข้าถึงได้ภายในอีกไม่กี่ปีข้างหน้า เมื่อปีที่แล้วกูเกิลเปิดบริการ Stadia บริการสตรีมเกมที่ผู้ใช้ต้องมีเพียงเครื่องพีซีราคาถูก โทรศัพท์มือถือ หรือแม้แต่ Chromecast ก็สามารถเล่นเกมที่เคยต้องใช้เกมมิ่งพีซีได้แล้ว ผู้เล่นรายใหม่ที่สามารถจ่ายเงินไม่กี่ร้อยบาทเพื่อเล่นเกมบนอุปกรณ์ของตัวเองได้ทันที ฝั่งไมโครซอฟท์เองก็มีบริการ Project xCloud ที่เริ่มเปิดทดสอบแล้ว ทำให้สามารถเล่นเกมบนโทรศัพท์ Android และ iOS ได้ เทคโนโลยีเบื้องหลังของเกมสตรีมมิ่งมีทั้งบริการคลาวด์ ที่สามารถเตรียมการ์ดกราฟิกไว้รองรับผู้ใช้จำนวนมากพร้อมๆ กัน และเน็ตเวิร์คที่เร็วขึ้นมาก หลายพื้นที่มีบริการคลาวด์ตั้งอยู่ใกล้ๆ…

MQTT โปรโตคอลเชื่อมทุกอุปกรณ์ในโลก Internet of Things

MQTT โปรโตคอลเชื่อมทุกอุปกรณ์ในโลก Internet of Things อินเทอร์เน็ตทุกวันนี้เราอาจจะมองแทบทุกอย่างเป็นเว็บไปได้เพราะการสื่อสารส่วนมากบนอินเทอร์เน็ตส่งข้อมูลผ่านโปรโตคอล HTTP แต่ในโลกยุค Internet of Things (IoT) อีกโปรโตคอลที่กำลังมีการใช้งานมากขึ้นเรื่อยๆ คือ MQTT หรือ MQ Telemetry Transport โปรโตคอลสำหรับการเชื่อมต่อแบบ machine-to-machine หรือคอมพิวเตอร์สู่คอมพิวเตอร์ โดยตัวโปรโตคอล MQTT เองไม่ได้ออกแบบให้เชื่อมต่อจากเซิร์ฟเวอร์เข้าไปยังไคลเอนต์แบบ HTTP ที่เว็บเบราว์เซอร์เชื่อมต่อกับเว็บเซิร์ฟเวอร์ แต่ MQTT อาศัยตัวกลางที่เรียกว่า broker ในการเชื่อมต่อไคลเอนต์ในระบบเข้าด้วยกัน ทำให้ไคลเอนต์แต่ละตัวสามารถรับข้อมูลจากไคลเอนต์ตัวอื่นๆ ได้ รูปแบบการเชื่อมต่ออาจจะดูซับซ้อน แต่รูปแบบการใช้งานในบ้านนั้น อุปกรณ์ไฟฟ้าทุกตัวจะทำหน้าที่เป็นไคลเอนต์ในระบบ MQTT ได้ ระบบง่ายๆ เช่น การปิด-เปิดไฟส่องบันได นั้นควบคุมด้วยสวิตช์สองตัว ตัวหลอดไฟเชื่อมต่อกับ broker แล้วแจ้งว่าต้องการรับข้อมูลสวิตช์ โดยกำหนดชื่อรอรับคำสั่ง switch/stairA จากนั้นจะเปิดหรือปิดหลอดไฟทุกครั้งที่มีอุปกรณ์ใดๆ ยิงคำสั่งนี้เข้ามา ตัวสวิตช์ที่หัวบันใดทั้งชั้นบนและล่างสามารถคอนฟิกให้ยิงคำสั่งได้ตรงกันทั้งคู่ ทำให้สามารถใช้สวิตช์กี่ตัวก็ได้ในการควบคุมหลอดไฟดวงเดียวกัน รวมถึงในบ้านอาจจะมีระบบกลางที่คอยดูสถานะหลอดไฟทั้งบ้านเพื่อควบคุมการใช้พลังงาน นอกจากการส่งคำสั่งเปิดปิดไฟแล้ว MQTT…

ภาษา Rust ภาษาโปรแกรมมิ่งที่อาจจะเป็นอนาคตของวงการไอที

ภาษา Rust ภาษาโปรแกรมมิ่งที่อาจจะเป็นอนาคตของวงการไอที ในช่วงหลายปีที่ผ่านมานี้วงการไอทีจะพบว่าความนิยมของภาษาเปลี่ยนไปมาก โครงการใหม่ๆ อย่าง Kubernetes นั้นใช้ภาษา Go ในการพัฒนาแทบทั้งระบบ แต่อีกภาษาหนึ่งที่เริ่มได้รับความนิยมเพิ่มขึ้นอย่างต่อเนื่องคือภาษา Rust ภาษา Rust สร้างโดยวิศวกรของ Mozilla ผู้ดูแลโครงการเบราว์เซอร์ Firefox มันถูกออกแบบให้มีประสิทธิภาพสูงเทียบเท่ากับภาษา C/C++ จนสามารถใช้งานพัฒนาซอฟต์แวร์พื้นฐานที่ต้องการประสิทธิภาพสูง เช่น เอนจินของเบราว์เซอร์ หรือจะเป็นระบบปฎิบัติการ จุดเด่นของภาษา Rust คือการป้องกันการใช้หน่วยความจำผิดพลาด ที่เป็นปัญหาที่พบบ่อยในการเขียนโปรแกรมภาษา C โดยโครงสร้างภาษาไม่อนุญาตให้ใช้งานตัวแปรที่เลิกใช้งานไปแล้ว ฟีเจอร์เช่นนี้คล้ายกับฟีเจอร์ในภาษายุคใหม่ ไม่ว่าจะเป็น Java, Python, หรือ Go แต่ Rust ใช้เทคนิคการจัดการหน่วยความจำรูปแบบที่ต่างออกไป ทำให้โปรแกรมไม่ต้องหยุดการทำงานมาจัดการหน่วยความจำ ภาษายุคใหม่อย่าง Java, Go, Python นั้นจะเรียกโค้ดส่วน garbage collector (GC) ขึ้้นมาตรวจสอบการใช้ตัวแปรเป็นช่วงๆ หากพบว่าตัวแปรไม่ได้ใช้งานแล้วก็จะกวาดตัวแปรเหล่านั้นออกจากระบบ จังหวะที่ GC ทำงานโปรแกรมรวมก็จะช้าลงไป แม้จะเล็กน้อยแต่ก็อาจจะกระทบต่อประสิทธิภาพระบบได้ แต่…

Visualization กับการสื่อสารเหตุการณ์ Coronavirus

Visualization กับการสื่อสารเหตุการณ์ Coronavirus ข่าว Coronavirus ที่ระบาดออกมาจากเมืองอู่ฮั่นประเทศจีนสร้างความวิตกเป็นวงกว้าง แต่ก็เป็นตัวอย่างแสดงให้เห็นว่าเราสามารถใช้เทคโนโลยีมาช่วยจัดการวิกฤติได้บางส่วน ส่วนหนึ่งที่สำคัญคือการสื่อสารข้อมูลให้ครบถ้วนเข้าใจง่าย เช่นกระทรวงสาธารณะสุขของไทย มีหน้าจอเฝ้าระวังเชื้อ nCoV-2019 นี้โดยเฉพาะ ทำให้ประชาชนสามารถมองเห็นได้ว่าโรคแพร่ไปในบริเวณใด และมีผู้ป่วยมากน้อยแค่ไหน ขณะที่สาธารณะสุขของสิงคโปร์มีการรายงานข้อมูลผู้ป่วยค่อนข้างละเอียดโดยแจ้งวันที่ผู้ป่วยเดินทางมาถึงสิงคโปร์, พื้นที่ที่พักอาศัย, และโรงพยาบาลที่เข้ารับการรักษา ข้อมูลเหล่านี้หากอ่านจากข้อความก็จะนึกภาพตามได้ยาก จึงมีผู้นำข้อมูลทั้งหมดมาพล็อตเป็นแผนที่บนเว็บ https://sgwuhan.xose.net/ ทำให้สามารถดูได้โดยง่ายว่ามีพื้นที่ไหนอยู่ในความเสี่ยงบ้าง การนำเสนอข้อมูลในรูปกราฟิกเช่นนี้ทำให้ผู้เกี่ยวข้องสามารถรับข้อมูลจำนวนมากได้ง่ายขึ้น สามารถตัดสินใจได้รวดเร็วและแม่นยำ ในประเทศไทยเองช่วงเหตุการณ์ฝุ่น PM2.5 ก็มีแอปสร้างแผนที่ฝุ่นออกมามากมาย ทำให้เราสามารถตัดสินใจใส่หน้ากากออกจากบ้านในช่วงเวลาที่ไม่ปลอดภัย จะเห็นว่าการสร้าง dashboard ที่สื่อสารข้อมูลได้ครบถ้วน ทั้งในเวลาปกติและเวลาฉุกเฉินเป็นเรื่องสำคัญอย่างมากต่อจากการสร้างระบบรายงานและจัดเก็บข้อมูลที่ดี – – – โดยวสันต์ ลิ่วลมไพศาล Chief Technology Officer, MFEC  

MFEC ประชุมใหญ่สามัญผู้ถือหุ้น ประจำปี 2563

บริษัท เอ็ม เอฟ อี ซี จำกัด (มหาชน) หรือ MFEC จัดงานประชุมใหญ่สามัญผู้ถือหุ้นครั้งที่ 1/2563 เพื่อแถลงผลการดำเนินงานและรายงานผลประกอบการให้กับผู้ถือหุ้นฯ