Azure Data
Fusion Solution ให้บริการพัฒนา และออกแบบ Azure Data สำหรับการนำไปใช้ในเชิงธุรกิจต่าง ๆ บริษัทเป็น Microsoft Partner มาตั้งแต่ปี 2007 ด้วยประสบการณ์กว่า 15 ปี ของการพัฒนาระบบทำให้เรามีประสบการณ์ด้าน Microsoft Tool ต่างๆ ในการนำไปใช้ในธุรกิจ โดยหากอยากรู้จัก Azure มากขึ้น อ่านได้จาก Azure Cloudilar.com (ขอบคุณ Cloudilar.com สำหรับข้อมูล)
ทำไมต้องเป็น Azure Data
- เพราะการเริ่มต้นธุรกิจต้องทำอย่างรวดเร็ว และ Azure Data เป็นคำตอบที่ง่ายที่สุด เพียงไม่กี่นาที เราสามารถสร้าง Database สำหรับจัดเก็บข้อมูลได้ในทันที ภายใต้งบประมาณที่ประหยัดที่สุด ( หมวด PaaS )
- เป็น Cloud เพียงยี่ห้อเดียวที่เป็นเจ้าของ Technology เอง ทำให้เมื่อเทียบค่าใช้จ่ายในการเช่าแล้ว Microsoft ทำได้ประหยัดที่สุด
- มาพร้อมเครื่องมือในการบริการจัดการ เช่น เครื่องในการ debug ที่หาไม่ได้จาก ยี่ห้ออืน
- มีหลากหลาย Solution พร้อมใช้งานให้เลือก เช่น Big Data , Data Warehouse , IoT
Big Data
สถาปัตยกรรมข้อมูลขนาดใหญ่ได้รับการออกแบบมาเพื่อจัดการกับการนำเข้าประมวลผลและวิเคราะห์ข้อมูลที่มีขนาดใหญ่หรือซับซ้อนเกินไปสำหรับระบบฐานข้อมูลแบบเดิม
สถาปัตยกรรมข้อมูลขนาดใหญ่ส่วนใหญ่มีส่วนประกอบบางส่วนหรือทั้งหมดต่อไปนี้:
- แหล่งข้อมูล : โซลูชันข้อมูลขนาดใหญ่ทั้งหมดเริ่มต้นด้วยแหล่งข้อมูลอย่างน้อยหนึ่งแหล่ง ตัวอย่าง ได้แก่ :
- ที่เก็บข้อมูล Data ที่เป็น Structure
- ไฟล์คงที่สร้างโดยแอปพลิเคชันเช่นไฟล์บันทึกของเว็บเซิร์ฟเวอร์
- แหล่งข้อมูลแบบเรียลไทม์เช่นอุปกรณ์ IoT
- การจัดเก็บข้อมูล : โดยทั่วไปข้อมูลสำหรับการประมวลผลชุดงานจะถูกเก็บไว้ในที่เก็บไฟล์แบบกระจายซึ่งสามารถเก็บไฟล์ขนาดใหญ่ในรูปแบบต่างๆได้เป็นจำนวนมาก ชนิดของร้านนี้มักจะเรียกว่า data lake ตัวเลือกสำหรับการนำที่เก็บข้อมูลนี้ไปใช้ ได้แก่ Azure Data Lake Store หรือ blob container ใน Azure Storage
- การประมวลผลแบบกลุ่ม : เนื่องจากชุดข้อมูลมีขนาดใหญ่ดังนั้นโซลูชันข้อมูลขนาดใหญ่จึงต้องประมวลผลไฟล์ข้อมูลโดยใช้งานแบทช์ที่ใช้งานมายาวนานเพื่อกรองรวบรวมและเตรียมข้อมูลสำหรับการวิเคราะห์ โดยปกติงานเหล่านี้เกี่ยวข้องกับการอ่านไฟล์ต้นฉบับประมวลผลและเขียนผลลัพธ์ไปยังไฟล์ใหม่ ตัวเลือกรวมถึงการเรียกใช้งาน U-SQL ใน Azure Data Lake Analytics โดยใช้ Hive, Pig หรืองานแผนที่ / ลดที่กำหนดเองในคลัสเตอร์ HDInsight Hadoop หรือใช้โปรแกรม Java, Scala หรือ Python ในคลัสเตอร์ HDInsight Spark
- การนำเข้าข้อความแบบเรียลไทม์: หากโซลูชันมีแหล่งที่มาแบบเรียลไทม์สถาปัตยกรรมต้องมีวิธีการบันทึกและจัดเก็บข้อความแบบเรียลไทม์สำหรับการประมวลผลสตรีม นี่อาจเป็นที่เก็บข้อมูลธรรมดาซึ่งข้อความขาเข้าจะถูกทิ้งลงในโฟลเดอร์เพื่อประมวลผล อย่างไรก็ตามโซลูชันจำนวนมากจำเป็นต้องมีที่เก็บการนำเข้าข้อความเพื่อทำหน้าที่เป็นบัฟเฟอร์สำหรับข้อความและเพื่อสนับสนุนการประมวลผลแบบขยายขนาดการส่งที่เชื่อถือได้ ตัวเลือก ได้แก่ Azure Event Hubs, Azure IoT Hubs และ Kafka
- การประมวลผลสตรีม : หลังจากจับข้อความแบบเรียลไทม์โซลูชันจะต้องประมวลผลโดยการกรองการรวมและการเตรียมข้อมูลสำหรับการวิเคราะห์ จากนั้นข้อมูลสตรีมที่ประมวลผลแล้วจะถูกเขียนไปยังซิงก์เอาท์พุท Azure Stream Analytics ให้บริการประมวลผลสตรีมที่มีการจัดการโดยยึดตามคำสั่ง SQL ที่รันอยู่ตลอดเวลาซึ่งดำเนินการกับสตรีมที่ไม่ถูกผูกไว้ คุณยังสามารถใช้เทคโนโลยีการสตรีม Apache แบบโอเพนซอร์สเช่น Storm และ Spark Streaming ในคลัสเตอร์ HDInsight
- ที่เก็บข้อมูลเชิงวิเคราะห์ : โซลูชันข้อมูลขนาดใหญ่จำนวนมากเตรียมข้อมูลสำหรับการวิเคราะห์จากนั้นให้บริการข้อมูลที่ประมวลผลในรูปแบบที่มีโครงสร้างซึ่งสามารถสืบค้นได้โดยใช้เครื่องมือวิเคราะห์ ที่เก็บข้อมูลเชิงวิเคราะห์ที่ใช้ในการตอบคำถามเหล่านี้อาจเป็นคลังข้อมูลเชิงสัมพันธ์แบบ Kimball ดังที่เห็นในโซลูชัน Business Intelligence (BI) แบบดั้งเดิมส่วนใหญ่ หรืออาจนำเสนอข้อมูลผ่านเทคโนโลยี NoSQL ที่มีเวลาแฝงต่ำเช่น HBase หรือฐานข้อมูล Hive แบบโต้ตอบที่ให้ข้อมูลเมตาดาต้าบนไฟล์ข้อมูลในที่เก็บข้อมูลแบบกระจาย Azure Synapse Analytics ให้บริการที่มีการจัดการสำหรับคลังข้อมูลบนคลาวด์ขนาดใหญ่ HDInsight รองรับ Interactive Hive, HBase และ Spark SQL ซึ่งสามารถใช้เพื่อให้บริการข้อมูลสำหรับการวิเคราะห์
- การวิเคราะห์และการรายงาน : เป้าหมายของโซลูชันข้อมูลขนาดใหญ่ส่วนใหญ่คือการให้ข้อมูลเชิงลึกเกี่ยวกับข้อมูลผ่านการวิเคราะห์และการรายงาน เพื่อให้ผู้ใช้สามารถวิเคราะห์ข้อมูลได้สถาปัตยกรรมอาจรวมถึงเลเยอร์การสร้างแบบจำลองข้อมูลเช่นคิวบ์ OLAP หลายมิติหรือแบบจำลองข้อมูลแบบตารางใน Azure Analysis Services นอกจากนี้ยังอาจสนับสนุน BI แบบบริการตนเองโดยใช้เทคโนโลยีการสร้างแบบจำลองและการแสดงภาพใน Microsoft Power BI หรือ Microsoft Excel การวิเคราะห์และการรายงานยังสามารถอยู่ในรูปแบบของการสำรวจข้อมูลเชิงโต้ตอบโดยนักวิทยาศาสตร์ข้อมูลหรือนักวิเคราะห์ข้อมูล สำหรับสถานการณ์เหล่านี้บริการ Azure จำนวนมากรองรับสมุดบันทึกเชิงวิเคราะห์เช่น Jupyter ซึ่งช่วยให้ผู้ใช้เหล่านี้สามารถใช้ประโยชน์จากทักษะที่มีอยู่ด้วย Python หรือ R สำหรับการสำรวจข้อมูลขนาดใหญ่คุณสามารถใช้ Microsoft R Server ไม่ว่าจะเป็นแบบสแตนด์อโลนหรือกับ Spark
- การจัดเตรียม : โซลูชันข้อมูลขนาดใหญ่ส่วนใหญ่ประกอบด้วยการดำเนินการประมวลผลข้อมูลซ้ำห่อหุ้มในเวิร์กโฟลว์ที่แปลงข้อมูลต้นทางย้ายข้อมูลระหว่างแหล่งข้อมูลและซิงก์หลายแหล่งโหลดข้อมูลที่ประมวลผลแล้วลงในที่เก็บข้อมูลเชิงวิเคราะห์หรือส่งผลลัพธ์ไปยังรายงานหรือแดชบอร์ดโดยตรง . ในการทำให้เวิร์กโฟลว์เหล่านี้เป็นไปโดยอัตโนมัติคุณสามารถใช้เทคโนโลยีการจัดระเบียบเช่น Azure Data Factory หรือ Apache Oozie และ Sqoop
Azure IoT Architecture
สถาปัตยกรรมอ้างอิงนี้แสดงสถาปัตยกรรมที่แนะนำสำหรับแอปพลิเคชัน IoT บน Azure โดยใช้ส่วนประกอบ PaaS (platform-as-a-service)
สถาปัตยกรรมนี้ประกอบด้วยส่วนประกอบต่อไปนี้ แอพพลิเคชั่นบางตัวอาจไม่ต้องการส่วนประกอบทั้งหมดที่ระบุไว้ที่นี่
อุปกรณ์ IOT อุปกรณ์สามารถลงทะเบียนกับระบบคลาวด์ได้อย่างปลอดภัยและสามารถเชื่อมต่อกับระบบคลาวด์เพื่อส่งและรับข้อมูล อุปกรณ์บางอย่างอาจเป็นอุปกรณ์ขอบที่ดำเนินการประมวลผลข้อมูลบางอย่างในอุปกรณ์เองหรือในเกตเวย์สนาม เราขอแนะนำAzure IoT Edgeสำหรับการประมวลผลขอบ
เกตเวย์เมฆคลาวด์เกตเวย์ให้ฮับคลาวด์สำหรับอุปกรณ์ต่างๆเพื่อเชื่อมต่อกับคลาวด์อย่างปลอดภัยและส่งข้อมูล นอกจากนี้ยังมีการจัดการอุปกรณ์ความสามารถรวมถึงการสั่งการและควบคุมอุปกรณ์ เกตเวย์เมฆเราขอแนะนำIOT Hub IoT Hub เป็นบริการคลาวด์ที่โฮสต์ซึ่งนำเข้าเหตุการณ์จากอุปกรณ์ทำหน้าที่เป็นนายหน้าส่งข้อความระหว่างอุปกรณ์และบริการแบ็กเอนด์ IoT Hub ให้การเชื่อมต่อที่ปลอดภัยการส่งผ่านข้อมูลเหตุการณ์การสื่อสารแบบสองทิศทางและการจัดการอุปกรณ์
การจัดเตรียมอุปกรณ์ สำหรับการลงทะเบียนและเชื่อมต่ออุปกรณ์จำนวนมากเราขอแนะนำให้ใช้IoT Hub Device Provisioning Service (DPS) DPS ช่วยให้คุณกำหนดและลงทะเบียนอุปกรณ์ให้กับปลายทาง Azure IoT Hub ที่เฉพาะเจาะจงตามขนาด
การประมวลผลสตรีมการประมวลผลสตรีมจะวิเคราะห์สตรีมข้อมูลจำนวนมากและประเมินกฎสำหรับสตรีมเหล่านั้น สำหรับการประมวลผลสตรีมเราขอแนะนำAzure กระแส Analytics Stream Analytics สามารถดำเนินการวิเคราะห์ที่ซับซ้อนตามขนาดโดยใช้ฟังก์ชันการกำหนดเวลาการรวมสตรีมและการรวมแหล่งข้อมูลภายนอก ตัวเลือกหนึ่งคือ Apache Spark บนAzure Databricks
การเรียนรู้ของเครื่องช่วยให้สามารถดำเนินการอัลกอริทึมเชิงทำนายผ่านข้อมูลทางไกลในอดีตได้ทำให้สถานการณ์ต่างๆเช่นการบำรุงรักษาเชิงคาดการณ์ สำหรับการเรียนรู้ของเครื่องเราขอแนะนำAzure เครื่องเรียนรู้
พื้นที่จัดเก็บ Warm path เก็บข้อมูลที่ต้องพร้อมใช้งานทันทีจากอุปกรณ์สำหรับการรายงานและการแสดงภาพ สำหรับการจัดเก็บเส้นทางอบอุ่นเราขอแนะนำคอสมอส DB Cosmos DB เป็นฐานข้อมูลหลายรุ่นที่กระจายอยู่ทั่วโลก
พื้นที่จัดเก็บเส้นทางเย็นเก็บข้อมูลที่เก็บไว้ในระยะยาวและใช้สำหรับการประมวลผลชุดงาน สำหรับการจัดเก็บเส้นทางเย็นเราขอแนะนำAzure Blob การจัดเก็บข้อมูล สามารถจัดเก็บข้อมูลในที่จัดเก็บข้อมูล Blob ได้อย่างไม่มีกำหนดด้วยต้นทุนที่ต่ำและสามารถเข้าถึงได้ง่ายสำหรับการประมวลผลแบบกลุ่ม
การแปลงข้อมูลจะจัดการหรือรวบรวมกระแสข้อมูลทางไกล ตัวอย่าง ได้แก่ การแปลงโปรโตคอลเช่นการแปลงข้อมูลไบนารีเป็น JSON หรือการรวมจุดข้อมูล หากต้องแปลงข้อมูลก่อนถึง IoT Hub เราขอแนะนำให้ใช้เกตเวย์โปรโตคอล (ไม่แสดง) มิฉะนั้นข้อมูลจะเปลี่ยนรูปได้หลังจากถึง IoT Hub ในกรณีนี้เราขอแนะนำให้ใช้Azure Functionsซึ่งมีการผสานรวมในตัวกับ IoT Hub, Cosmos DB และ Blob Storage
การรวมกระบวนการทางธุรกิจดำเนินการตามข้อมูลเชิงลึกจากข้อมูลอุปกรณ์ ซึ่งอาจรวมถึงการจัดเก็บข้อความที่ให้ข้อมูลการแจ้งเตือนการส่งอีเมลหรือข้อความ SMS หรือการผสานรวมกับ CRM เราขอแนะนำให้ใช้Azure Logic Appsสำหรับการรวมกระบวนการทางธุรกิจ
การจัดการผู้ใช้จะจำกัด ผู้ใช้หรือกลุ่มที่สามารถดำเนินการกับอุปกรณ์ได้เช่นการอัปเกรดเฟิร์มแวร์ นอกจากนี้ยังกำหนดความสามารถสำหรับผู้ใช้ในแอปพลิเคชัน เราขอแนะนำให้ใช้Azure Active Directoryเพื่อรับรองความถูกต้องและให้สิทธิ์ผู้ใช้
การตรวจสอบความปลอดภัย Azure Security Center สำหรับ IoTมอบโซลูชันการรักษาความปลอดภัยแบบ end-to-end สำหรับปริมาณงาน IoT และลดความซับซ้อนในการป้องกันโดยมอบการมองเห็นและการควบคุมแบบครบวงจรการป้องกันภัยคุกคามแบบปรับตัวและการตรวจจับภัยคุกคามที่ชาญฉลาดและตอบสนองต่อปริมาณงานจากอุปกรณ์ Leaf ผ่าน Edge ตลอดจน ผ่านเมฆ
โดยทั่วไปโซลูชันข้อมูลขนาดใหญ่เกี่ยวข้องกับภาระงานประเภทใดประเภทหนึ่งต่อไปนี้
- การประมวลผลแหล่งข้อมูลขนาดใหญ่แบบแบตช์ในขณะพัก
- การประมวลผลข้อมูลขนาดใหญ่แบบเรียลไทม์
- การสำรวจข้อมูลขนาดใหญ่แบบโต้ตอบ
- การวิเคราะห์เชิงคาดการณ์และการเรียนรู้ของเครื่อง