IoT (Internet of Things) đang là 1 làn sóng lớn trong thế giới công nghệ. Phát triển IoT trong doanh nghiệp không nằm ngoài mục tiêu đẩy nhanh quá trình chuyển đổi kỹ thuật số trong quản trị và sản xuất, thúc đẩy tăng trưởng kinh doanh và tạo ra dòng lợi nhuận mới. Do đó, mỗi hãng công nghệ lớn như Microsoft, IBM, Amazon, Google đều tung ra những bộ công cụ và nền tảng để phục vụ cho một giải pháp tổng thể về IoT.
Cụ thể, Microsoft đã tạo ra các phiên bản dịch vụ điện toán cloud Azure IoT, một mảng dịch vụ được vận hành trên nền tảng Microsoft Azure. Microsoft Azure là một bộ sưu tập các dịch vụ điện toán cloud khác nhau, bao gồm các phiên bản công nghệ độc quyền của Microsoft và các dịch vụ công nghệ khác đến từ các đối tác của Microsoft.
Và Azure IoT là một mảng dịch vụ nằm trong số đó, bao gồm 3 phiên bản đã được phát hành đáng chú ý là: Microsoft IoT Central, Azure IoT Hub, Azure Stream Analytics on IoT Edge. Bài viết này sẽ mô tả tổng quan về Azure IoT Edge giúp cho các developer hểu rõ hơn về các giải pháp của Microsoft dành cho điện toán biên.
Xxm thêm : Edge Computing : nơi hội tụ IT / OT
Azure IoT Edge là gì ?
Microsoft là một trong những người đầu tiên cung cấp nền tảng IoT end-to-end trên public cloud . Khách hàng đã sử dụng một tập hợp các dịch vụ cloud tạo thành các khối xây dựng của giải pháp IoT doanh nghiệp.
- IoT Central – Cung cấp thiết bị, quản lý, kiểm soát và giao tiếp
- Event Hubs – Dịch vụ nhập dữ liệu tốc độ cao
- Phân tích luồng (Stream Analytics) – Truy vấn và xử lý luồng theo thời gian thực
- Bộ nhớ Blob – Lưu trữ dữ liệu phi cấu trúc
- CosmosDB – Cơ sở dữ liệu NoSQL để lưu trữ siêu dữ liệu
- Thông tin chi tiết về chuỗi thời gian – Cơ sở dữ liệu chuỗi thời gian để lưu trữ và truy vấn dữ liệu cảm biến
- Azure Databricks / HDInsight – Xử lý luồng theo thời gian thực (Spark) và xử lý hàng loạt (Hadoop)
- Chức năng – Mô hình máy tính không máy chủ hướng sự kiện
- Cơ sở dữ liệu SQL – RDBMS để lưu trữ dữ liệu có cấu trúc
- ML Studio – IDE dựa trên web để xây dựng và triển khai các mô hình ML
- Power BI – Trang tổng quan và công cụ trực quan hóa phong phú
Azure IoT Edge là một bổ sung gần đây cho danh mục Azure IoT. Những gì ban đầu được xây dựng như một Gateway kết nối IoT đã trở thành một nền tảng điện toán biên hoàn chỉnh. Nó được đặt ngay giữa lớp thiết bị và public cloud .
Azure IoT Edge là một dự án mã nguồn mở có sẵn trên Github. Nền tảng này có thể được triển khai trên cả hệ điều hành Linux (ARM & x64) và Microsoft Windows. Tùy thuộc vào các yêu cầu và môi trường thời gian chạy, Azure IoT Edge có thể chạy trên thiết bị hạn chế tài nguyên như Raspberry Pi Zero hoặc máy chủ x86 mạnh mẽ chạy trong trung tâm dữ liệu doanh nghiệp. Tính linh hoạt này khiến nó trở thành một trong những nền tảng mạnh mẽ trong ngành.
Azure IoT Edge thể hiện một phần chức năng của IoT Hub để xác thực thiết bị và giao tiếp giữa các thiết bị cục bộ. Điều này rất hữu ích trong việc chạy các ứng dụng IoT ở chế độ ngoại tuyến mà không cần nói chuyện trực tiếp với public cloud .
Chúng ta hãy xem xét kỹ hơn kiến trúc.
Kiến trúc Azure IoT Edge
Azure IoT Edge được thiết kế theo mô-đun và có thể mở rộng. Microsoft đã đưa ra một số quyết định giúp ích cho cả nhóm sản phẩm và khách hàng trong dài hạn. Nó được xây dựng dựa trên Moby , một chuỗi công cụ mã nguồn mở cung cấp năng lượng cho Docker. Nền tảng này có một footprint nhỏ có thể dễ dàng cài đặt bằng một vài lệnh.
Các thiết bị chạy edge platform thường được triển khai ở những nơi xa xôi không dễ tiếp cận. Chúng chỉ cần được subscribe trong quá trình giới thiệu ban đầu sau đó được quản lý từ xa từ public cloud . Nếu edge device ngoại tuyến khi áp dụng cấu hình mới, thiết bị sẽ được đẩy thông tin ngay khi thiết bị có kết nối.
Vì các edge device là các thiết bị IoT có khả năng chạy các dịch vụ bổ sung, Azure IoT xử lý chúng giống như bất kỳ thiết bị đã subscribe nào khác. Control plate của Azure IoT được sử dụng để quản lý các edge device trên quy mô lớn.
Azure IoT Edge quản lý liền mạch sự tương tác giữa các thiết bị và public cloud . Nó thực hiện tất cả các hệ thống pipeline cần thiết liên quan đến xác thực và giao tiếp giữa các thiết bị cục bộ.
Dưới đây là sơ đồ đại diện của Azure IoT Edge. Hãy hiểu vai trò của các thành phần này.
Thiết bị
Đây là các cảm biến và bộ truyền động chịu trách nhiệm thu thập dữ liệu hoặc điều khiển một thiết bị. Các thiết bị này không được kết nối trực tiếp với cloud . Thay vào đó, chúng nói chuyện với lớp tính toán biên cục bộ. Azure IoT Edge hoạt động như một Gateway trong suốt có thể dịch các giao thức và định dạng dữ liệu được sử dụng bởi các thiết bị cấp lá này. Mỗi thiết bị có một mô-đun tương ứng được subscribe với lớp cạnh. Các mô-đun này được khởi tạo dưới dạng các container được quản lý bởi tác nhân thời gian chạy.
Mô-đun
Mô-đun là các container Docker đơn giản thường được ánh xạ tới một thiết bị. Ví dụ, nếu có hai thiết bị được gắn vào cạnh, bóng đèn và cảm biến nhiệt độ, chúng được mô hình hóa thành hai mô-đun riêng biệt chứa cơ chế giao tiếp và logic để giao tiếp với thiết bị. Các mô-đun được xây dựng từ các định nghĩa Dockerfile tiêu chuẩn và được đẩy vào sổ subscribe công khai hoặc riêng tư. Chúng không thể được coi là container độc lập vì phụ thuộc vào runtime và ngữ cảnh.
Các mô-đun có thể nói chuyện với nhau thông qua một giao diện được xác định rõ ràng được thiết lập bởi thời gian chạy. Không phải mọi mô-đun đều cần được ánh xạ tới một thiết bị. Ví dụ: mô hình TensorFlow dùng để thực hiện phát hiện đối tượng không có thiết bị liên quan. Thay vào đó, nó được liên kết với một mô-đun máy ảnh để lấy các khung hình được chuyển sang mô-đun tiếp theo.
Vì các mô-đun là đại diện trực tiếp của các thiết bị, chúng có một bản sinh đôi kỹ thuật số được định nghĩa là tài liệu JSON. Bộ đôi này có thể đọc cấu hình tốt đã biết cuối cùng và cũng có thể đặt các thuộc tính mong muốn trên thiết bị thực tế. Cặp song sinh kỹ thuật số mang siêu dữ liệu bổ sung hữu ích trong việc truy vấn và lọc thiết bị dựa trên các thuộc tính như vị trí, kiểu máy, sản phẩm và số sê-ri.
Azure IoT Edge coi các mô-đun như các thành phần độc lập được ghép nối lỏng lẻo. Tương tự như các đường ống UNIX, đầu ra của một mô-đun này được cấp cho mô-đun khác. Quyết định thiết kế này làm cho nó có thể xác định các đường ống phức tạp theo mô-đun và có thể mở rộng.
Azure IoT Edge Runtime
Đây là nền tảng của Azure IoT Edge, quản lý tương tác với mặt phẳng điều khiển Azure IoT trên public cloud . Mọi edge device được subscribe với Azure cần phải cài đặt thành phần này. Nó thiết lập kết nối an toàn với Azure IoT và thiết lập cơ sở hạ tầng PKI theo yêu cầu của các mô-đun bảo mật. IoT Edge Runtime sở hữu giao tiếp trên cả hai phía của spectrum – thiết bị và cloud .
Nó được cài đặt dưới dạng bản nhị phân gốc trên hệ điều hành mục tiêu như Raspbian, Debian, Ubuntu, CentOS và Microsoft Windows. IoT Edge Runtime, đang chạy dưới dạng daemon trong hệ điều hành, giao diện với Moby để quản lý vòng đời của các container được triển khai dưới dạng mô-đun.
Azure IoT Edge Agent
IoT Edge Agent là thành phần đầu tiên của IoT Edge Runtime chạy như một container . Nó tự khởi động mỗi khi edge device được bật. IoT Edge Agent chịu trách nhiệm tải xuống bản kê khai triển khai từ cloud và duy trì trạng thái cấu hình mong muốn của edge device .
Nó kéo tất cả các container image từ các sổ subscribe và chạy chúng dựa trên cấu hình được xác định trước. Trách nhiệm chính của nó là đảm bảo rằng trạng thái và cấu hình của các container phù hợp với định nghĩa ban đầu được liên kết với edge device .
Nếu một mô-đun mới được thêm vào tệp config thông qua Gateway Azure IoT, tác nhân sẽ kéo image ngay khi phát hiện ra thay đổi. Tương tự, nó kết thúc các container khi chúng không còn là một phần của tệp config .
Azure IoT Edge Hub
Thành phần thứ hai của runtime Azure IoT Edge là Edge Hub bắt chước IoT Central trong public cloud . Về cơ bản, nó cung cấp các khả năng ngoại tuyến của IoT Central bằng cách hiển thị các dịch vụ xác thực và truyền thông cho các thiết bị lá. Một mô-đun đại diện cho một thiết bị có logic để được xác thực với trung tâm cục bộ. Tương tự, nó có thể gửi dữ liệu đo từ xa đến trung tâm sẽ chuyển tiếp dữ liệu đó đến các thành phần thượng nguồn là các mô-đun khác được định nghĩa là một phần của bản kê khai.
Edge Hub dùng cùng một API với đối tác public cloud của nó. Thiết kế này làm giảm nỗ lực cần thiết để cấu trúc lại các thiết bị edge. Vì nó lưu trữ thông tin đăng nhập sau khi runtime được xác thực trong quá trình bắt tay với IoT Hub trên cloud .
Edge Hub hoạt động như một broker giao tiếp hỗ trợ giao tiếp thiết bị cục bộ. Nó hỗ trợ các giao thức tiêu chuẩn của IoT Hub bao gồm AMQP, MQTT và HTTP. Tuy nhiên, HTTP không khả dụng trong phiên bản Edge Hub hiện tại.
Tóm lại, các mô-đun được đặt gần các thiết bị trong khi Edge Agent và Edge Hub gần với mặt phẳng điều khiển của cloud . runtime quản lý và sắp xếp quy trình công việc liên quan đến việc kết nối các đầu của hệ thống.Nếu để ý kỹ, bạn sẽ hiểu rằng Edge Runtime rất giống với một nền tảng quản lý container như Swarm hoặc Kubernetes. Tận dụng thiết kế này, Microsoft đã xây dựng một đầu nối Kubernetes cho Azure IoT Hub, dựa trên Virtual Kubelet.
Thiết bị tiêu chuẩn OPC UA
Microsoft hợp tác chặt chẽ với các nhà sản xuất thiết bị IoT để cung cấp cách dễ dàng hơn để triển khai các tiêu chuẩn OPC UA và tích hợp dễ dàng hơn với các dịch vụ cloud Azure. Tất cả các thiết bị này đều tương thích với tiêu chuẩn OPC UA và sẵn sàng để sử dụng trong sản xuất. Chúng có thể được sử dụng làm proxy giữa các trường của nhà máy và cloud Azure.
Để bắt đầu tích hợp dễ dàng hơn và xác minh các yêu cầu cụ thể của bạn, có bộ khởi động sẵn sàng sản xuất được tạo ra với sự hợp tác giữa Microsoft, Softing và Hewlett Packard. Nó cho phép kết nối các thiết bị IoT hiện có của bạn với cloud Azure – nó đang hoạt động như một proxy giữa các thiết bị và cloud . Tất nhiên cũng có những thiết bị khác- đã sẵn sàng để sử dụng trong sản xuất.
Như bạn có thể thấy trong hình trên, có hai mô-đun quan trọng trong kiến trúc này:
Mô-đun Proxy OPC
Mô-đun Proxy OPC cho phép giao tiếp hai chiều giữa cloud Azure (Azure IoT Hub trong trường hợp này) và các máy móc và thiết bị IoT. Có nghĩa là với mô-đun Proxy, chúng tôi có thể thu thập dữ liệu từ các thiết bị và gửi một số dữ liệu đến chúng, tạo thành cloud Azure.
Mô-đun publisher OPC
Mô-đun publisher OPC tích hợp với các máy và thiết bị IoT hiện có, thu thập dữ liệu do chúng tạo ra và sau đó chuyển đổi dữ liệu này để có thể gửi đến cloud Azure.
Điều quan trọng cần đề cập là OPC đã dựa trên kiến trúc máy khách / máy chủ và trong năm 2016, kiến trúc của nó đã được cải tiến với việc bao gồm publisher / subscribe để cung cấp một cơ sở hạ tầng vững chắc. Điều này cho phép tích hợp thông tin từ các thiết bị nhúng vào cloud .
OPC UA Gateway Partners
Dưới đây là một số partner OPC UA Gateway tiêu biểu của Micorosft Azure
Connected Factory Microsoft Azure IoT Suite
Connected Factory là một trong những Trình tăng tốc Giải pháp IoT do Microsoft tạo ra và cung cấp. Các bộ tăng tốc giải pháp IoT là các giải pháp IoT hoàn chỉnh, sẵn sàng triển khai để thực hiện các kịch bản IoT chung.
Gateway giao thức IoT của Microsoft Azure
Có một số trường hợp trong đó các thiết bị hoặc field gateway có thể không sử dụng được một trong các giao thức chuẩn này và yêu cầu thích ứng với giao thức. Azure IoT Hub nguyên bản hỗ trợ giao tiếp qua các giao thức MQTT, AMQP và HTTPS và trong trường hợp không thể sử dụng trực tiếp các giao thức này, Microsoft Azure IoT Protocol Gateway là cần thiết. Gateway giao thức Azure IoT cung cấp một mô hình lập trình để xây dựng bộ điều hợp giao thức tùy chỉnh cho nhiều giao thức khác nhau.
Nguồn : Microsoft.