ย้ายระบบขึ้น Microsoft Azure ไม่ยากอย่างที่คิด! Microsoft จับมือ Startup ไทย เปลี่ยนโค้ดมาใช้งานบน Azure แทน

ทาง Microsoft ได้เชิญทีมงาน TechTalkThai ไปร่วมรับฟังกรณีศึกษาที่น่าสนใจเกี่ยวกับการย้ายระบบ GTaxi ซึ่งเป็นเทคโนโลยี Smart Taxi ที่ใช้งาน Internet of Things (IoT) สำหรับใช้ติดตามและสื่อสารกับรถ Taxi เพื่อให้บริการข้อมูลแก่ผู้ขับขี่ และแจ้งรับผู้โดยสารได้อย่างง่ายดาย ขึ้นไปใช้ Microsoft Azure อย่างเต็มตัว เพื่อให้เข้าใจถึงขั้นตอนต่างๆ ที่ต้องทำสำหรับองค์กรที่ต้องการย้ายระบบขึ้นไปยัง Cloud และข้อดีของการย้ายระบบขึ้นไปยังบริการ Cloud อย่าง Microsoft Azure ที่จะช่วยเปิดโอกาสความเป็นไปได้ใหม่ๆ ให้กับธุรกิจ จึงขอนำมาสรุปให้ผู้อ่านทุกท่านได้อ่านกันดังนี้ครับ

 

รู้จักระบบ Intelligence Transportation System รากฐานของ GTaxi โดย Transcode บริษัท Startup ไทยกันก่อน

Transcode เป็นธุรกิจ Startup สัญชาติไทยซึ่งเป็นหนึ่งใน ISV Partner ของ Microsoft ที่มุ่งเน้นด้านการพัฒนาระบบ Intelligent Transportation Services (ITS) โดยเฉพาะ และสามารถนำเสนอทั้งระบบ ITS, Logistics และ IoT Gateway ที่ตอบโจทย์ด้านการนำไปติดตั้งใช้งานบนยานพาหนะได้หลากหลายรูปแบบ โดย GTaxi ซึ่งเป็นระบบรถแท็กซี่อัจฉริยะ (Smart Taxi) ที่มีการใช้งานจริงแล้วในประเทศไทยก็เป็นหนึ่งในผลงานของทีม Transcode ด้วยเช่นกัน

ระบบ GTaxi จาก Transcode

 

โจทย์ IoT ต้องตีด้วย Cloud

เดิมที่นั้นระบบ Application ของ Transcode ยังไม่ได้อยู่บน Microsoft Azure และยังคงออกแบบด้วยการใช้ Application Server เชื่อมต่อกับระบบ Database ที่ทำการติดตั้งบนระบบปฏิบัติการต่างๆ เอง ทำให้พบกับปัญหาว่าหากในอนาคตระบบมีการเพิ่มขยายจำนวนผู้ใช้งานหรืออุปกรณ์ IoT ต่างๆ นั้น ก็อาจเกิดปัญหาคอขวดภายในระบบได้ อีกทั้งหากมีการเพิ่มความสามารถใหม่ๆ เข้าไปในระบบ ก็อาจต้องมีการเปลี่ยนแปลงสถาปัตยกรรมภายในระบบครั้งใหญ่ ซึ่งก็อาจกลายเป็นอุปสรรคต่อการเติบโตในอนาคตได้

แน่นอนว่าภายในระบบที่ยังคงมีการพัฒนาอย่างต่อเนื่องเพื่อรองรับความสามารถใหม่ๆ, การเชื่อมต่ออุปกรณ์ IoT ใหม่ๆ รวมถึงยังมีการเพิ่มขยายเพื่อรองรับการเติบโตของลูกค้าแต่ละราย และการเปิดรับลูกค้ารายใหม่ๆ นั้น เทคโนโลยี Cloud ก็ถือเป็นทางเลือกหนึ่งที่เหมาะสมที่สุด และ Microsoft เองที่ต้องการช่วยให้เหล่าธุรกิจไทยเติบโตได้อย่างยั่งยืน พร้อมขยายฐานลูกค้าไปทั่วประเทศไทยและทั่วโลก ก็ได้จับมือกับ Transcode เพื่อทำการทดลองการย้ายโค้ดของระบบทั้งหมดขึ้นไปยัง Microsoft Azure นั่นเอง

แนวคิดระบบ Smart Taxi จาก Transcode

 

Transcode ทดลองย้ายโค้ดขึ้น Microsoft Azure ด้วยเป้าหมาย รองรับผู้ใช้งานให้ได้ 200,000 รายพร้อมกัน

ภายในการทดลองนี้ ทาง Microsoft และ Transcode ได้ตั้งเป้าหมายร่วมกันว่าจะเพิ่มขยายระบบ จากเดิมที่ใช้งานเพื่อรองรับผู้ใช้งานได้ 500 คนหรือรถ Taxi 500 คัน ให้สามารถตอบโจทย์การรองรับผู้ใช้งานได้พร้อมกันถึง 200,000 คน พร้อมทั้งเพิ่มขยายระบบได้อย่างง่ายดายในอนาคต ทำให้การออกแบบสถาปัตยกรรมระบบแบบเดิมๆ นั้นไม่ตอบโจทย์สำหรับ Transcode อีกต่อไป และก็เป็นการบ้านของ Microsoft ที่จะต้องนำเครื่องมือต่างๆ บน Cloud มาใช้เพื่อให้ระบบของ Transcode เพิ่มขยายได้นั่นเอง

 

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

System Diagram ของระบบ Transcoder GTaxi ที่ทดลองย้ายขึ้นมาบน Microsoft Azure

 

การทดลองครั้งนี้เรียกได้ว่ามีการเปลี่ยนแปลงสถาปัตยกรรมของระบบเดิมค่อนข้างมาก โดยในภาพรวมของการทำงานของทั้งระบบนั้นไม่ได้มีการเปลี่ยนแปลงเท่าไหร่ แต่ภายในแต่ละ Workflow ย่อยของการประมวลผลข้อมูล ได้มีการเปลี่ยนองค์ประกอบของระบบย่อยภายในเพื่อให้ระบบทั้งหมดของ Transcode สามารถปรับแต่ง, แก้ไข และเพิ่มขยายได้อย่างง่ายดายกว่าก่อนเป็นอย่างมาก

ในส่วนของการรับข้อมูลจากอุปกรณ์ IoT นั้น ทาง Microsoft ได้เลือกที่จะนำเสนอ Azure IoT Hub เพื่อรวบรวมข้อมูลจากอุปกรณ์ IoT ทั้งหมดผ่านทาง MQTT ทำให้แทบไม่ต้องแก้ไขโค้ดใดๆ เลย อีกทั้งยังรองรับอุปกรณ์ IoT จำนวนหลายแสนหรือหลายล้านชิ้นได้ และส่งต่อข้อมูลไปยังระบบอื่นๆ ภายใน Microsoft Azure ได้อย่างง่ายดาย

ข้อมูลจาก Azure IoT Hub นี้ จะถูกส่งต่อไปยัง Azure Stream Analytics ซึ่งเป็นระบบ Real-time Analytics ที่สามารถเชื่อมต่อข้อมูลจากอุปกรณ์ IoT และฐานข้อมูลที่หลากหลายรูปแบบมาทำการวิเคราะห์ผลร่วมกัน สำหรับใช้ควบคุม Business Logic ของ IoT Application โดยเฉพาะ ทำให้การประมวลผลมีความเร็วสูง และยืดหยุ่นจากการนำข้อมูลหลายแหล่งมาวิเคราะห์ร่วมกัน

ถัดจากนั้น ผลการวิเคราะห์ข้อมูลจาก Azure Stream Analytics ก็จะถูกส่งต่อไปยัง Azure Event Hubs บริการ Telemetry Ingestion Service ที่รองรับข้อมูล Event ได้นับล้านรายการต่อวินาที และมีการใช้งาน Advanced Messege Queuing Protocol (AMQP) ภายใน สำหรับจัดเก็บข้อมูล Event และส่งต่อไปยัง Web Application ที่พัฒนาด้วย Node.js ได้อย่างรวดเร็วในรูปแบบไฟล์ข้อมูลที่เป็น JSON ซึ่งก็แทบไม่ต้องมีการแก้ไขโค้ดอีกเลยเช่นกัน

อย่างไรก็ดี การที่ Azure Stream Analytics จะสามารถวิเคราะห์ Event รูปแบบต่างๆ ที่เกิดขึ้นมาจากการรับข้อมูลจาก Azure IoT Hub ได้นั้น ก็จำเป็นต้องมีการเทียบข้อมูลกับระบบ Data Dictionary ที่ถูกจัดเก็บอยู่เป็นไฟล์ภายใน Azure Blob Storage ที่รองรับกาารจัดเก็บไฟล์ได้หลัก Exabyte และข้อมูลที่เป็น NoSQL Key-value Store ภายใน Azure Table Storage ที่รองรับการจัดเก็บข้อมูลได้หลัก Petabyte และแก้ไข Schema ได้อย่างยืดหยุ่น ทำให้ข้อมูลในส่วน Data Dictionary นี้สามารถเพิ่มขยายได้อย่างไม่ต้องกังวลใจอีกต่อไป

สำหรับที่มาของข้อมูลที่ถูกจัดเก็บอยู่ภายในระบบ Storage ทั้ง 2 นี้ ก็เกิดจากการอ่านข้อมูลใหม่ๆ ที่ถูกบันทึกลงไปใน Azure SQL Database ระบบฐานข้อมูล SQL ความทนทานสูงที่สามารถเพิ่มขยายความจุและประสิทธิภาพได้อย่างต่อเนื่อง ที่ถูกแปลงรูปแบบโดยอัตโนมัติด้วย Data Factory ที่เป็นระบบ Data Pipeline สำหรับการเตรียมข้อมูลให้กลายเป็นรูปแบบที่ต้องการนำไปใช้งานได้อย่างง่ายดาย เพื่อนำมาใช้เป็น Data Dictionary นั่นเอง และในอนาคต Data Factory เองนี้ก็จะยังช่วยแปลงข้อมูลให้เป็นรูปแบบต่างๆ ที่ต้องการเพิ่มเติมได้อย่างยืดหยุ่นอีกด้วย

ในมุมของการทำ Report นั้น ข้อมูลจาก DocumentDB (ปัจจุบันถูกเปลี่ยนชื่อเป็น Azure Cosmos DB แทนแล้ว) ซึ่งเป็นฐานข้อมูลแบบ Multi-model ที่รองรับการจัดเก็บและเข้าถึงข้อมูลได้หลากหลายรูปแบบด้วย API ที่รองรับทั้ง SQL, JavaScript, Gremlin, MongoDB, Azure Table Storage และอื่นๆ เพื่อให้ง่ายต่อการจัดการข้อมูลและนำมาใช้งานนี้ จะถูกเชื่อมต่อไปยัง Data Factory เพื่อแปลงข้อมูลให้อยู่ในรูปของ SQL และบันทึกลงไปยัง Azure SQL Database เพื่อให้ Microsoft Power BI Embedded ระบบ Business Intelligence สามารถนำข้อมูลนี้ไปสร้างเป็นรายงานแบบ Interactive บน Web Application ได้

ทั้งหมดนี้ก็เป็นภาพรวมของระบบใหม่ที่ Transcode ได้ทำการออกแบบและทดลองพัฒนาขึ้นมาใช้งานได้จนสำเร็จ จะเห็นได้ว่าหลักๆ คือการเปลี่ยนจากการใช้เทคโนโลยีแบบเดิมๆ กลายมาเป็นเทคโนโลยีแบบ Cloud-native ที่รองรับ Workload ปริมาณมหาศาลและเพิ่มขยายได้ง่าย รวมถึงมี API หลากหลายให้ใช้งานได้อย่างสะดวก ทำให้ไม่ต้องแก้ไขโค้ดเดิมมากนัก ไปจนถึงการใช้งานเครื่องมือต่างๆ ของ Microsoft ที่จะช่วยให้การประมวลผลและวิเคราะห์ข้อมูลในแต่ละส่วนเป็นไปได้อย่างมีประสิทธิภาพ, ดูแลรักษาง่าย และไม่ต้องพึ่งพา System Engineer มากนัก

 

เปลี่ยนสถาปัตยกรรมให้ยืดหยุ่นขึ้น แต่ไม่ต้องแก้ไขโค้ดมากนัก ทำให้การย้ายขึ้น Microsoft Azure กลายเป็นเรื่องง่ายกว่าที่คิด

ในระหว่างการทดลองนั้น ประเด็นหนึ่งที่ถือว่าเป็นส่วนสำคัญในการตัดสินใจเลือกใช้เทคโนโลยีต่างๆ บน Microsoft Azure ก็คือการที่จะต้องเลือก Component ต่างๆ ที่ไม่ต้องมีการเปลี่ยนแปลง Source Code ของระบบมากนัก เพื่อให้ทดสอบแนวคิดได้อย่างรวดเร็ว และเพื่อให้เกิดบั๊กใหม่ๆ ในระบบน้อยที่สุด แต่โจทย์ข้อนี้ก็ถือว่าไม่ยากมากนักเพราะ Component ต่างๆ ของ Microsoft นั้นมีความ Compatible กับโครงการ Open Source Software หลากหลายโครงการ เช่น Microsoft Azure SQL Database เองก็ Compatible กับ SQL Database ทั่วไปอยู่แล้ว โดยมีการเปลี่ยนแปลงโค้ดเพียงเล็กน้อยเท่านั้นก็สามารถใช้งานได้, DocumentDB เองก็ Compatible กับ MongoDB ทำให้ไม่ต้องเปลี่ยนแปลงโค้ดใดๆ เลยในการ Query ข้อมูล, Microsoft IoT Hub เองก็รองรับ MQTT ได้อยู่แล้ว ทำให้การเชื่อมต่อกับอุปกรณ์ IoT ไม่ต้องมีการเปลี่ยนแปลงมากนัก

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

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

 

ค่าใช้จ่ายด้าน Infrastructure ไม่เปลี่ยนแปลงนัก แต่ได้ความทนทานที่สูงขึ้น และมีค่าใช้จ่ายในการดูแลรักษาน้อยลง

อีกหนึ่งประเด็นที่น่าสนใจจากผลลัพธ์ของการทดลองครั้งนี้ ก็คือเรื่องราวในแง่มุมของค่าใช้จ่าย ที่หลายๆ คนมักจะเข้าใจว่าหากย้ายมาใช้ Cloud แล้วค่าใช้จ่ายจะถูกลงเสมอ แต่ในโครงการนี้ทาง Microsoft และ Transcode ก็ได้เห็นผลลัพธ์ทางด้านค่าใช้จ่ายที่น่าสนใจและน่าพึงพอใจไม่น้อย

ประเด็นแรกคือการที่ค่าใช้จ่ายด้านการลงทุนระบบ Infrastructure นั้นไม่เปลี่ยนแปลงมากนัก จากระบบเดิมที่มีการใช้งาน Server และติดตั้งระบบต่างๆ ลงไปเอง ซึ่งเป็นการลงทุนเพียงครั้งเดียว เมื่อนำมาหารเฉลี่ยเป็นค่าใช้จ่ายต่อเดือนแล้วก็ถือว่าพอๆ กับการเช่าใช้บริการจาก Microsoft Azure แต่บน Microsoft Azure นี้มีการทำระบบ Redundant ให้มีความทนทานสูง และรับประกัน Service Level Agreement (SLA) แบบชัดเจน ทำให้ถึงแม้ค่าใช้จ่ายทางตรงจะใกล้เคียงกัน แต่การใช้บริการ Cloud ก็คุ้มค่ากว่าในแง่ของการดูแล

ประเด็นถัดมานั้นก็คือการที่ Application ถูกเปลี่ยนสถาปัตยกรรมไปใช้เครื่องมือใหม่ๆ ของ Microsoft มากมาย ไม่ว่าจะเป็น Azure SQL Database, DocumentDB, IoT Hub, Event Hub, Data Factory, PowerBI ทำให้การปรับแต่ง, เพิ่มขยาย และรองรับความสามารถใหม่ๆ นั้นแทบจะไม่ต้องพึ่งพาอาศัยทักษะทางด้าน System Engineering เลย ทำให้การพัฒนาความสามารถใหม่ๆ นั้นคล่องตัวมากยิ่งขึ้นกว่าแต่ก่อน ส่งผลให้ Software Development Life Cycle ในแต่ละรอบสั้นลงเป็นอย่างมาก

เรียกได้ว่าในการทดลองครั้งนี้ ค่าใช้จ่ายในเชิง CapEx นั้นไม่เปลี่ยนแปลงมาก แต่เปลี่ยนรูปแบบไปเป็นการทะยอยจ่ายรายเดือน ในขณะที่ OpEx นั้นถือว่าลดลงอย่างมหาศาลเลยทีเดียว

 

รองรับการต่อยอดในอนาคตได้ด้วยการเชื่อมต่อกับ Microsoft Office 365 และ Microsoft Dynamics 365

ถือเป็นอีกจุดแข็งของ Microsoft Azure เลยก็ว่าได้ที่สามารถทำการเชื่อมต่อกับบริการของ Microsoft Office 365 ในฐานะของ User Interface ที่คนทั่วโลกต่างก็คุ้นชินกันอยู่แล้ว และ Microsoft Dynamics 365 ระบบ ERP ที่รองรับองค์กรได้ทุกขนาด ทำให้บริการต่างๆ ที่อยู่บน Microsoft Azure สามารถเชื่อมต่อเข้ากับ Business Application ที่มีผู้ใช้งานหลายสิบล้านคนทั่วโลกนี้ เพื่อตอบโจทย์ธุรกิจจริงได้ด้วยความเป็นไปได้ที่กว้างขวางกว่าใคร

 

โครงลักษณะนี้เกิดขึ้นมาแล้วทั่วโลก ไปศึกษากันได้ฟรีๆ ทันทีใน GitHub

สำหรับเหล่านักพัฒนาที่สนใจเทคโนโลยีในฝั่งของ IoT เป็นพิเศษ ทาง Microsoft เองก็ได้จัดทำโครงการการทดลองลักษณะนี้ขึ้นทั่วโลก และเปิดเผยรายละเอียดของโครงการรวมถึง Source Code เอาไว้ที่ https://microsoft.github.io/techcasestudies/ ให้เราได้เข้าไปศึกษากันฟรีๆ ด้วยครับ

 

ติดต่อกับทีมงาน Microsoft ในประเทศไทย เพื่อเรียนรู้รายละเอียดเพิ่มเติมได้ทันที

สำหรับองค์กรที่สนใจจะเริ่มต้นย้าย Application สำคัญของธุรกิจขึ้นไปยังบน Cloud ทางทีมงาน Microsoft พร้อมจะช่วยเหลือ, ให้คำปรึกษา, ช่วยทำการทดสอบ และร่วมออกแบบระบบเพื่อให้ Application ของคุณได้ใช้งานเครื่องมือต่างๆ บน Microsoft Azure ได้อย่างมีประสิทธิภาพสูงสุด และทำให้ทีม Developer สามารถเริ่มต้นเรียนรู้เทคโนโลยีใหม่ๆ ได้อย่างรวดเร็ว ไม่ต้องลองผิดลองถูกเอง โดยสามารถติดต่อและพูดคุยกับทีมงาน Microsoft ได้ที่ https://www.facebook.com/groups/azurethailand/ ทันทีครับ

ทั้งนี้ทาง Microsoft ในประเทศไทยเองก็มีจัด Azure Developer Camp อัปเดตความรู้ให้กับลูกค้าและพาร์ทเนอร์อยู่อย่างต่อเนื่อง อีกทั้งยังมีทีมงานผู้เชี่ยวชาญช่วยสนับสนุนการใช้งาน เปิดรับ ISV ที่ต้องการช่วยลูกค้าทำ Digital Transformation ได้ในไทย อีกทั้ง Microsoft เองก็ยังมีโครงการ Microsoft BizSpark ช่วยผลักดันธุรกิจ Startup ให้เติบโตได้ด้วยความช่วยเหลือและทรัพยากรต่างๆ จาก Microsoft ดังนั้นหากใครสนใจที่จะทำธุรกิจร่วมกับ Microsoft และเติบโตไปพร้อมๆ กัน ก็สามารถติดต่อทีมงาน Microsoft ไปได้เลยครับ



About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

พบมัลแวร์ CCleaner พุ่งเป้าโจมตีบริษัท IT ขนาดใหญ่

หลังจากเมื่อต้นสัปดาห์มีข่าว CCleaner โปรแกรมสำหรับลบไฟล์ขยะยอดนิยมถูกแฮ็ค และใช้เป็นฐานในการแพร่กระจายมัลแวร์ จากการตรวจสอบล่าสุดของ Cisco Talos พบว่าแฮ็คเกอร์ได้ลอบโจมตีบริษัท IT ขนาดใหญ่ไม่ต่ำกว่า 20 บริษัทโดยใช้ Backdoor Payload ที่สองจาก …

Dell EMC ปรับปรุง SAN Storage รุ่น SC สำหรับ Entry-Level เพิ่มฟังก์ชั่น Auto-Tiering รองรับ All-Flash ความจุสูงสุด 1PB

Dell EMC ประกาศอัปเกรด SAN Storage รุ่นยอดฮิต SC Series ปรับปรุงทั้งฮาร์ดแวร์และซอร์ฟแวร์ เหมาะสำหรับองค์กรหรือธุรกิจขนาดเล็กไปจนถึงขนาดกลาง   SCv3000 มาพร้อมกับการเปลี่ยนแปลงหลายอย่างรวมถึงฮาร์ดแวร์แบบใหม่ โดยมีสเปคดังนี้