Skip to Content
ArchitekturaPrzegląd

Architektura

IronFlock to system rozproszony składający się z dwóch warstw: autonomicznych urządzeń brzegowych, które uruchamiają aplikacje w miejscu pracy, oraz centralnych usług zapewniających przechowywanie danych na poziomie całej floty, panele, AI i koordynację. Broker wiadomości w czasie rzeczywistym łączy wszystkie elementy.

Nie jest to czysta platforma brzegowa ani czysta platforma chmurowa. To obie naraz — architektura została zaprojektowana tak, aby każda warstwa robiła to, w czym jest najlepsza.

Jak system jest zorganizowany

┌─────────────────────────────────────────────────────────┐ ┌──────────┐ │ Usługi centralne │ │ Urządze- │ │ │ │ nie │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │ wirtualne│ │ │ FleetDB │ │ Backend │ │ Usługa │ │ Web │ │ │┌────────┐│ │ │ Cluster │ │ Service │ │ AI │ │ UI │ │ ││ Własna ││ │ │(Timescale│ │ │ │ │ │ │ │ ││ Usługa ││ │ │ DB) │ │ │ │ │ │ │ │ │└────────┘│ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └───┬────┘ │ │ Agent │ │ │ │ │ │ │ └────┬─────┘ │ └─────────────┴──────┬──────┴────────────┘ │ │ │ │ │ │ │ ┌───────┴───────┐ │ │ │ │ Broker WAMP ├────────────────────────────┘ │ │ (wiadomości) │ │ │ └───────┬───────┘ │ │ │ │ └────────────────────────────┼────────────────────────────┘ ┌──────────────┼─────────────┐ │ │ │ ┌───────┴──┐ ┌───────┴──┐ ┌──────┴───┐ │ Urządze- │ │ Urządze- │ │ Urządze- │ │ nie 1 │ │ nie 2 │ │ nie 3 │ │┌────────┐│ │┌────────┐│ │┌────────┐│ ││ Apli- ││ ││ Apli- ││ ││ Apli- ││ ││kacje ││ ││kacje ││ ││kacje ││ ││(Docker)││ ││(Docker)││ ││(Docker)││ │└────────┘│ │└────────┘│ │└────────┘│ │ Agent │ │ Agent │ │ Agent │ └──────────┘ └──────────┘ └──────────┘

Trzy warstwy

1. Urządzenia brzegowe — autonomiczne węzły wykonawcze

Urządzenia brzegowe to główne węzły wykonawcze IronFlock. Każde urządzenie uruchamia lekki agent i jedną lub więcej konteneryzowanych aplikacji (Docker). Urządzenia są autonomiczne: kontynuują działanie nawet po odłączeniu od usług centralnych i automatycznie ponownie łączą się po przywróceniu sieci.

Urządzeniami brzegowymi może być dowolny sprzęt z systemem Linux — Raspberry Pi, komputery przemysłowe, NVIDIA Jetson, bramy x86 lub niestandardowe płytki ARM.

Co działa na urządzeniach brzegowych:

  • Agent IronFlock — zarządza cyklem życia urządzenia, obsługuje aktualizacje OTA, uruchamia kontenery i utrzymuje połączenie z brokerem wiadomości
  • Twoje aplikacje — wdrożone jako kontenery Docker w dowolnym języku programowania. Te aplikacje zbierają dane ze sterowników PLC i czujników, wykonują logikę sterowania, obsługują lokalne interfejsy HMI, uruchamiają modele AI lub robią cokolwiek, co może zrobić aplikacja Linux

Urządzenia brzegowe domyślnie inicjują wszystkie połączenia wychodzące — nie trzeba otwierać portów przychodzących. Jednak porty urządzenia mogą być selektywnie otwierane w razie potrzeby.

2. Usługi centralne — dane, UI i AI na poziomie floty

Warstwa centralna zapewnia możliwości wymagające widoku całej floty lub trwałej infrastruktury. Każda usługa centralna jest niezależnie skalowalna:

  • FleetDB — Klaster baz danych PostgreSQL/TimescaleDB przechowujący wszystkie dane telemetryczne zebrane z urządzeń. Każdy projekt otrzymuje własną izolowaną instancję bazy danych.
  • Backend Service — Zarządza urządzeniami, projektami, aplikacjami, kontami użytkowników, wydaniami i wszystkimi operacjami na poziomie floty.
  • FleetDB Service — Przetwarza przychodzące strumienie danych z urządzeń, obsługuje transformacje danych, dostarcza dane paneli w czasie rzeczywistym i zarządza oceną alarmów.
  • Usługa AI — Orkiestruje konwersacje agentów AI, dynamicznie dodając i usuwając wyspecjalizowanych agentów w miarę rozwoju rozmowy.
  • Web UI — Przeglądarkowy panel sterowania, gdzie operatorzy zarządzają flotą, przeglądają panele, konfigurują alarmy, tworzą aplikacje i wchodzą w interakcje z asystentem AI.
  • Rejestr kontenerów — Przechowuje obrazy Docker dla wszystkich aplikacji, umożliwiając wdrożenie OTA na dowolnym urządzeniu w flocie.

3. Urządzenia wirtualne — niestandardowe węzły obliczeniowe

Oprócz fizycznych urządzeń brzegowych, IronFlock umożliwia provisioning urządzeń wirtualnych — chmurowych węzłów obliczeniowych, które dołączają do projektu obok fizycznej floty. Urządzenie wirtualne uruchamia tego samego agenta IronFlock co urządzenie fizyczne i może uruchamiać dowolną konteneryzowaną aplikację.

Typowe zastosowania urządzeń wirtualnych:

  • Uruchamianie centralnych usług floty takich jak Grafana, Node-RED, Netdata lub Jupyter
  • Hostowanie potoków przetwarzania danych agregujących dane z wielu urządzeń fizycznych
  • Uruchamianie usług wnioskowania AI zbyt wymagających obliczeniowo dla sprzętu brzegowego
  • Działanie jako mosty protokołów łączące systemy zewnętrzne (SAP, ERP, interfejsy API chmury) z projektem IronFlock

Broker wiadomości — spoiwo systemu

Wszystkie komponenty IronFlock komunikują się przez centralny broker wiadomości WAMP (Web Application Messaging Protocol). Broker zapewnia:

  • Komunikację pub/sub w czasie rzeczywistym — Urządzenia publikują telemetrię, panele subskrybują dane na żywo
  • Zdalne wywoływanie procedur (RPC) — Usługa AI wywołuje funkcje po stronie urządzenia, backend wyzwala operacje na kontenerach
  • Izolację projektów — Każda kombinacja projekt-aplikacja ma własny kryptograficznie izolowany realm komunikacyjny

Skalowalność i aktualizacje bez przestojów

Każdy komponent architektury IronFlock jest zaprojektowany z myślą o horyzontalnej skalowalności. Backend, FleetDB, usługa AI, broker wiadomości i rejestr kontenerów mogą być niezależnie skalowane bez wpływu na inne części systemu.

Architektura a tradycyjny SCADA

Tradycyjne platformy SCADA (Ignition, WinCC, Wonderware) stosują model skoncentrowany na bramie: jeden centralny serwer robi wszystko. IronFlock odwraca to podejście. Urządzenia brzegowe są autonomicznymi węzłami wykonawczymi z pełnymi możliwościami obliczeniowymi.

AspektTradycyjny SCADAIronFlock
Rola urządzenia brzegowegoPasywne źródło danych (PLC → brama)Autonomiczny węzeł obliczeniowy z pełnymi aplikacjami
Rola centralnaRobi wszystko (serwer bramy)Dane floty, UI, AI i koordynacja
Wdrożenie aplikacjiModuły na centralnej bramieKontenery Docker na urządzeniach brzegowych
Działanie offlineUrządzenie brzegowe przestaje działać bez bramyUrządzenia brzegowe kontynuują działanie autonomicznie

Opcje wdrożenia

TrybUsługi centralneUrządzenia brzegowePrzypadek użycia
Chmura (domyślnie)Zarządzana chmura IronFlockPołączenie przez internetWiększość wdrożeń
ApplianceWstępnie skonfigurowane urządzenie on-site — działa też jako urządzenie brzegowePołączenie przez sieć lokalnąProducenci maszyn / OEM
Private CloudTwoja strefa DMZ / VPC / centrum danychPołączenie przez sieć lokalnąSieci izolowane, regulowane

Zobacz Opcje wdrożenia, aby poznać pełne porównanie wszystkich trzech modeli.

Last updated on