Skip to main content
Tất cả dự án

Inno2: Hệ thống giám sát nước thải trên cloud

10/2020 đến 7/2021

Pipeline chạy trên Azure cho hệ thống giám sát nước thải COVID-19 của NEA tại 360 điểm. Hơn 100 RTU công nghiệp Tastek (gắn SIM tích hợp) truyền dữ liệu trực tiếp qua mạng di động về một Azure VM duy nhất chạy Mosquitto, database và dashboard. Cảnh báo Twilio WhatsApp gửi tới kỹ sư trực. Góp phần vào giải Lee Hsien Loong IDM Smart Nation Award 2022. Được Straits Times đưa tin.

01

Bối cảnh

Năm 2020, National Environment Agency triển khai giám sát nước thải như một hệ thống cảnh báo sớm COVID-19 ở cấp cộng đồng. Inno2 (sáng kiến của W2 Industrial Services Hub mà tôi làm) xây dựng tầng cloud và edge phục vụ việc triển khai đó.

Phạm vi mở rộng nhanh. Chúng tôi bắt đầu khoảng 200 điểm và scale lên hơn 360 điểm, bao gồm ký túc xá lao động nhập cư, khu dân cư, và các nhà máy xử lý. Kỹ sư phải đến các tủ thiết bị mỗi ngày để kiểm tra uptime.

02

Vai trò của tôi

Kỹ sư Cloud và IoT trong một team nhỏ, ban đầu là thực tập sinh gắn với SP, sau đó làm consultant IoT Solutions cho W2. Tôi phụ trách kiến trúc phía Azure và việc tích hợp giữa các RTU ngoài thực địa, broker, và dashboard vận hành. Tôi cũng viết logic cảnh báo đẩy thông báo thiết bị offline qua Twilio WhatsApp.

03

Kiến trúc

  • Hơn 100 RTU công nghiệp Tastek tại các điểm. Mỗi unit có khe SIM, nên RTU gọi thẳng lên cloud qua mạng di động. Không có edge gateway ở giữa.
  • Một Azure VM chạy mọi thứ: Mosquitto MQTT broker, database, và dashboard web. Monolith thuần, không microservice.
  • Scale dọc qua Auto-Scaling Group. Khi load tăng, VM scale up thay vì scale out. Cơ bản, nhưng đáng tin cậy cho workload này.
  • Twilio WhatsApp Business API cho cảnh báo. Kỹ sư đăng ký số điện thoại một lần, sau đó thông báo RTU offline và vượt ngưỡng tới qua WhatsApp.
04

Kết quả

  • Góp phần vào giải Lee Hsien Loong IDM Smart Nation Award 2022 mà W2 nhận được.
  • Được The Straits Times đưa tin khi NEA công bố tăng gấp đôi số điểm giám sát.
  • Vận hành production đều đặn trên 360 điểm, luồng cảnh báo bắt được các lần mất kết nối trước khi kỹ sư đến hiện trường.
05

Bài học

IoT thực địa ở quy mô này chủ yếu là về các failure mode mà bạn không nhìn thấy trong demo. Thiết bị reboot khi trời mưa. SIM roam sang sai trạm. Reconnect storm xảy ra lúc 3 giờ sáng. Hệ thống phải giả định mọi link là lossy và mọi thiết bị sẽ lừa bạn sớm muộn.

Tầng cảnh báo chính là sản phẩm. Một dashboard không ai mở còn tệ hơn một tin nhắn WhatsApp đánh thức kỹ sư đúng lúc.

Monolith single-VM bị chê nhiều, nhưng với quy mô này thì đây là lựa chọn đúng. Ít phần chuyển động hơn, ít page hơn.

Liên quan trong Dự án