Skip links
View
Drag

CTO Brief

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

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

หยวนดิจิทอล ความท้าทายใหม่ของธนาคารกลางจีน

ช่วงปีที่ผ่านมาในโลกการเงินมีข่าวเกี่ยวกับเงินหยวนดิจิทัลกันมาก แม้ในช่วงแรกชื่อจะทำให้เข้าใจไปได้ว่าหยวนดิจิทัลเป็นเหมือนคริปโตเคอเรนซี่ที่มีมากมายหลายสกุลในโลกตอนนี้ แต่เมื่อรัฐบาลจีนเริ่มทดสอบหลายครั้งทำให้มีข้อมูลออกมาเพิ่มขึ้นว่าหยวนดิจิทัลนั้นคล้ายกับพร้อมเพย์ของไทยเป็นอย่างมากเนื่องจากเป็นแอปที่ผูกเงินเข้ากับบัญชีธนาคารโดยตรง เมื่อร้านค้ารับเงินจากลูกค้าแล้วก็จะได้รับเงินเข้าบัญชีธนาคารทันที แนวทางการใช้เงินอิเล็กทรอนิกส์ของจีนนั้นเริ่มต้นจากเอกชนเป็นหลัก โดยบริษัทเช่น Alipay และ WeChat สร้างระบบของตัวเองทั้งระบบ ไม่ว่าจะเป็นการออกแบบ QR ของตัวเอง กระบวนการโอนเงินระหว่างกันก็เป็นระบบภายใน หากต้องการโอนเงินกลับไปยังบัญชีธนาคารต้องเสียค่าธรรมเนียม แม้ว่าแนวทางนี้จะทำให้พัฒนาการเงินอิเล็กทรอนิกส์ในจีนเปลี่ยนแปลงอย่างรวดเร็ว แต่ก็สร้างความกังวลต่อการผูกขาดตลาดมากขึ้น ธนาคารกลางของจีนพยายามผลักดันหยวนดิจิทัล ด้วยการ “ทดสอบ”

ทดลองใช้ Amazon CodeGuru ผู้ช่วยตรวจสอบคุณภาพโค้ดอัตโนมัติจาก AWS

การพัฒนาแอปพลิเคชั่นให้มีความปลอดภัยนั้นเป็นความท้าทายอย่างยิ่งในทุกวันนี้ ไม่ว่าโปรแกรมเมอร์แต่ละคนจะมีความเชี่ยวชาญเพียงใดก็มีโอกาสที่จะพลั้งเผลอเขียนโค้ดในรูปที่แม้จะทำงานได้ แต่มีโอกาสแสดงบั๊กเมื่อทำงานในโลกความเป็นจริง การตรวจสอบโค้ดด้วยเครื่องมือต่างๆ จึงเป็นเรื่องที่เราควรต้องทำเสมอ ทุกวันนี้ภาษาโปรแกรมส่วนมากมีโครงการตรวจสอบโค้ดที่เรียกว่า Lint อยู่ภาษาที่ได้รับความนิยมสูงๆ ก็จะมีโครงการในกลุ่มเดียวกันอยู่หลายตัวให้เลือกใช้⠀⠀⠀⠀แต่ Lint มักมีข้อจำกัดจากการวิเคราะห์โค้ดตามกฎตายตัวชุดหนึ่งเท่านั้น ไม่สามารถแนะนำแนวทางการเขียนโค้ดที่ซับซ้อนขึ้นไป เช่น การใช้ไลบรารีอย่างถูกวิธี ข้อจำกัดเช่นนี้ทำให้หลายโครงการมีเงื่อนไขให้นักพัฒนารีวิวโค้ดกันเองเป็นขั้นสุดท้ายก่อนรับโค้ดเข้าระบบ แต่หลายทีมก็อาจจะไม่พร้อมวางกระบวนการรีวิวโค้ดเช่นนั้น (และแม้แต่คนรีวิวเองหลายครั้งก็มองข้ามจุดผิดพลาดกันได้) การใช้เครื่องมือตรวจสอบโค้ดที่เก่งกาจขึ้นจึงเป็นทางเลือกที่ดีสำหรับหลายๆ คน⠀⠀⠀⠀ผู้ให้บริการคลาวด์รายใหญ่อย่าง AWS

Pull Backup ทางรอดภัย Ransomware

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

Kubernetes ตลาดที่ยังไปได้อีกไกล

ปี 2020 หากไม่เกิด COVID เสียก่อน เราอาจจะได้เห็นธีมเทคโนโลยีของปีนี้ว่าเป็นปีแห่ง Kubernetes ของโลกองค์กร ความนิยมในเทคโนโลยี Kubernetes ที่องค์กรจำนวนมากมองว่าเป็นโอกาสที่จะรวมแพลตฟอร์มที่กระจัดกระจายเข้าเป็นแพลตฟอร์มมาตรฐาน แม้จะใช้ Kubernetes หลากหลายยี่ห้อก็มีโอกาสจัดการได้ด้วยเครื่องมือชุดเดียวกัน ผู้เล่นรายใหญ่อย่าง IBM ซื้อ Red Hat แทบจะเรียกได้ว่าซื้อ

On-Premise Cloud คลื่นลูกใหม่ที่กำลังเป็นความท้าทายของธุรกิจ SI

นาทีนี้หากจะมีองค์กรใดวางระบบไอที หากเป็นไปได้องค์กรเหล่านั้นมักวางระบบบนคลาวด์แทบทั้งหมด ด้วยเหตุผลสำคัญจากการลดระยะเวลาการพัฒนาบริการใหม่ๆ ที่องค์กรไม่ต้องเสียเวลาจัดซื้อเซิร์ฟเวอร์, วางโครงสร้างเน็ตเวิร์ค และการประเมินความเสี่ยงในระยะยาวอื่นๆ ที่ผ่านมาบริการคลาวด์เหล่านี้กระทบรายผู้ให้บริการวางระบบไอทีไปไม่น้อย จากเดิมที่องค์กรต่างๆ มักต้องวางระบบไอทีด้วยตัวเอง มีการจัดซื้อฮาร์ดแวร์และซอฟต์แวร์จำนวนมาก มาเป็นการซื้อสร้างเซิร์ฟเวอร์ทีละน้อยๆ และขยายตามโหลดที่จำเป็นต่อการใช้งานได้ทันที การวางระบบขนาดใหญ่ๆ เพื่อรองรับการใช้งานทีละ 3-5 ปีข้างหน้าจึงหายไปในกลุ่มองค์กรที่ใช้งานคลาวด์ไปแล้ว Naver Cloud Platform คลาวด์จากเกาหลีใต้ที่ประกาศว่าจะเข้าไทย

Serverless การพัฒนาแอปพลิเคชันยุคต่อไปที่ไม่ต้องเผื่อทรัพยากรไว้ล่วงหน้า

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

Spear Phishing ภัยธุรกิจสร้างความเสียหายได้มากกว่าที่คิด

ภัยไซเบอร์กลายเป็นความเสี่ยงทางธุรกิจอย่างมากในช่วงหลายปีมานี้ หลายคนอาจจะคิดว่าการโจมตีไซเบอร์นั้นแฮกเกอร์ต้องสร้างโปรแกรมพิเศษมาเจาะเข้าเครือข่าย เข้าถึงข้อมูลในเซิร์ฟเวอร์ ไปจนถึงแอบดูข้อมูลทุกอย่างในเครื่องเราได้ แต่การโจมตีส่วนใหญ่แล้วมาจากการส่งเมลหลอก หรือฟิชชิ่ง (phishing) ที่ไม่จำเป็นต้องอาศัยความรู้ทางเทคนิคอะไรมากมายนัก แต่อาศัยการปรับแต่งอีเมลและสร้างเว็บให้แนบเนียน เพื่อหลอกเอาข้อมูลเท่านั้น ฟิชชิ่งสมัยก่อนนั้นมักอาศัยการส่งอีเมลหว่าน โดยปลอมตัวว่าเป็นอีเมลจากบริการยอดนิยม ไม่ว่าจะเป็นเฟซบุ๊ก, ทวิตเตอร์, อีเมลฟรี, หรือธนาคารดัง เพื่อหลอกให้ผู้ใช้ยอมใส่รหัสผ่าน และแม้แต่ OTP ที่ส่งมาทาง

Continuous Integration เปลี่ยนกระบวนการพัฒนาให้เป็นเรื่องอัตโนมัติ

กระบวนการพัฒนาซอฟต์แวร์แบบเดิมๆ นั้นหากมีการควบคุมคุณภาพ เราก็มักจะรวบรวมฟีเจอร์ต่างๆ จากทีมพัฒนาเข้ามารวมกันเป็นรอบๆ แล้วส่งทีมควบคุมคุณภาพเพื่อทดสอบและหาบั๊กในโค้ดที่กำลังพัฒนาต่อไป กระบวนการเช่นนี้ทำให้โปรแกรมเมอร์อาจจะต้องรอเป็นเวลานาน กว่าจะรับรู้ว่าฟีเจอร์ที่ตัวเองพัฒนาไปนั้นไปสร้างบั๊กให้กับโครงการโดยรวมในจุดอื่นๆ หรือไม่ ทำให้แนวทาง Continuous Integration (CI) ได้รับความสนใจขึ้นมามากในช่วงหลัง แนวทาง CI คือการสร้างระบบที่รวบรวมโค้ดจากนักพัฒนาเข้ามาเป็นชุดเดียวกันอย่างต่อเนื่อง โดยไม่ปล่อยให้โค้ดที่อยู่ในมือนักพัฒนาแต่ละคนต่างกันนานเกินไป แนวทางนี้มักรวบเข้ากันกระบวนการทดสอบซอฟต์แวร์โดยอัตโนมัติ (automated test)

Grafana ทางเลือกสำหรับการทำ dashboard ในองค์กร

งาน dashboard เป็นงานที่เกิดขึ้นเสมอๆ โดยแพลตฟอร์มข้อมูลต่างๆ มักมีระบบสร้าง dashboard ที่เหมาะกับตัวเอง เช่น Kibana ที่ออกแบบมาสำหรับใช้ร่วมกับ Elasticsearch เฉพาะ แต่ซอฟต์แวร์ dashboard อย่าง Grafana สามารถเชื่อมต่อข้อมูลได้หลายแหล่ง ทำให้ใช้งานได้หลากหลาย รูปแบบของ Grafana