Thuật ngữ IoT hay Internet of Things đã rất phổ biến trong thơi gian gần đây. Bạn có thể dê dàng xây dựng một hệ thống được gọi là “IoT” với những cảm biến và hệ thống phần mềm có sẵn. Cũng không khó nếu như chúng ta có thể dễ dàng tìm kiếm trên google những hướng dẫn để xây hay một ví dụ về viêc kết nối, gửi nhận thông tin tới thiết bị phần cứng, tuy nhiên những ví dụ đơn lẻ như vậy chỉ là những bước rât cơ bản đê bắt đầu làm việc với một hệ thống IoT. Vậy để tham gia vào một hê thống IoT chúng ta cần quan tâm những vấn đề gì và kiến trúc một hế thống IoT có những thành phần nhu thế nào? Chúng ta hãy xem nhưng yếu tố sau:

1. Overview

Trong hệ thống IoT chúng ta có “Things”, đươc hiểu ở đây là các thiêt bị, cảm biên có nhiệm vụ thu thập, cung cấp dữ liệu cho hệ thống. Tiếp đến là hệ thống xử lý, thu thập dữ liệu và cung cấp những thông số, dashboard cho phép người dùng có thể hiểu biết về tình trạng hê thống, hay những thông tin có ích (Insight)từ đó có những “Action” để cải tiến, hay bảo trì hệ thống,etc. Trên thực tế, ta có thể hình dung một ví dụ cụ thê về một user case liên quan đến máy giặt như sau: Khi máy giặt của bạn hoàn thành một chu trình giặt, máy giặt sẽ phát sinh một sự kiện tới máy chủ (server). Server sẽ thực hiện những nghiệp vụ như lưu trữ thông tin, và thông báo tình trạng giặt của máy giặt tới người dùng (Insight). Khi nhận được thông tin, người dùng có thể biết quá trình giặt đã xong mà không cần phaỉ đến máy giặt để biết máy giặt đã giặt xong chưa (Action). Đó là một ví dụ về Things, Insight , Action trong một hệ thống IoT dưới đây, ngoài ra thì còn rất nhiêu các usercases khác chúng ta sẽ gặp phai trong thưc tê hàng ngày. IoT_1

2. Architecture Overview

Trong phần 1 chúng ta đã hình dung về các thành phần trong hệ thống IoT, vậy kiến trúc tổng thể của một ứng dụng IoT sẽ như thê nào? Khi xây dựng hệ thống IoT, chúng ta nên tiếp cận hệ thống theo kiến trúc Cloud native, và tất nhiên sẽ là MicroSservice và Serverless-based. Các thành phần/ kiến trúc trong hệ thống (Sub System) nên có những đặc tinh sau:

  • Tính độc lâp về khả năng triển khai (deployable), và mở rộng (scale).
  • Những sub system này nên được thiết kế co khả năng giao tiếp với nhau thông qua REST/HTTPS.
  • Hệ thống nên được thiết kế để hô trợ hybrid cloud, edge computing để có thể dễ dàng tuỳ chỉnh, hỗ trợ nhiều chiến lược triển khai.

IoT_2

3. Technology options

Về cơ một hệ thông IoT sẽ support những protocol sau:

  • AMPQP
  • MQTT
  • Websocket
  • HTTP