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