Skip to Content
아키텍처개요

아키텍처

IronFlock은 두 개의 레이어로 구성된 분산 시스템입니다: 운영 현장에서 애플리케이션을 실행하는 자율 엣지 디바이스, 그리고 플릿 전반의 데이터 스토리지, 대시보드, AI, 조율을 제공하는 중앙 서비스. 실시간 메시지 브로커가 모든 것을 연결합니다.

이것은 순수 엣지 플랫폼도, 순수 클라우드 플랫폼도 아닙니다. 양쪽 모두를 포함하며, 각 레이어가 가장 잘하는 것을 수행하도록 아키텍처가 설계되었습니다.

시스템 구성

┌─────────────────────────────────────────────────────────┐ ┌──────────┐ │ 중앙 서비스 │ │ 가상 │ │ │ │ 디바이스 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │┌────────┐│ │ │ FleetDB │ │ 백엔드 │ │ AI │ │ 웹 │ │ ││ 커스텀 ││ │ │ 클러스터 │ │ 서비스 │ │ 서비스 │ │ UI │ │ ││ 서비스 ││ │ │(Timescale│ │ │ │ │ │ │ │ │└────────┘│ │ │ DB) │ │ │ │ │ │ │ │ │ 에이전트 │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └───┬────┘ │ └────┬─────┘ │ │ │ │ │ │ │ │ └─────────────┴──────┬──────┴────────────┘ │ │ │ │ │ │ │ ┌───────┴───────┐ │ │ │ │ WAMP 메시지 ├────────────────────────────┘ │ │ 브로커 │ │ │ └───────┬───────┘ │ │ │ │ └────────────────────────────┼────────────────────────────┘ ┌──────────────┼─────────────┐ │ │ │ ┌───────┴──┐ ┌───────┴──┐ ┌──────┴───┐ │ 엣지 │ │ 엣지 │ │ 엣지 │ │디바이스 1│ │디바이스 2│ │디바이스 3│ │┌────────┐│ │┌────────┐│ │┌────────┐│ ││ 앱 ││ ││ 앱 ││ ││ 앱 ││ ││(Docker)││ ││(Docker)││ ││(Docker)││ │└────────┘│ │└────────┘│ │└────────┘│ │ 에이전트 │ │ 에이전트 │ │ 에이전트 │ └──────────┘ └──────────┘ └──────────┘

세 가지 레이어

1. 엣지 디바이스 — 자율 애플리케이션 실행 노드

엣지 디바이스는 IronFlock의 핵심 실행 노드입니다. 각 디바이스는 경량 에이전트와 하나 이상의 컨테이너화된 애플리케이션(Docker)을 실행합니다. 디바이스는 자율적입니다: 중앙 서비스와의 연결이 끊겨도 계속 운영되며, 네트워크가 복원되면 자동으로 재연결됩니다.

엣지 디바이스는 Raspberry Pi, 산업용 PC, NVIDIA Jetson, x86 게이트웨이, 커스텀 ARM 보드 등 Linux를 지원하는 모든 하드웨어가 될 수 있습니다.

엣지 디바이스에서 실행되는 것:

  • IronFlock 에이전트 — 디바이스 라이프사이클을 관리하고, OTA 업데이트를 처리하며, 컨테이너를 실행하고, 메시지 브로커와의 연결을 유지
  • 귀하의 애플리케이션 — 모든 프로그래밍 언어의 Docker 컨테이너로 배포. 이 앱들은 PLC와 센서에서 데이터를 수집하고, 제어 로직을 실행하며, 로컬 HMI를 제공하고, AI 모델을 실행하거나 Linux 애플리케이션이 할 수 있는 모든 것을 수행

엣지 디바이스는 기본적으로 모든 연결을 아웃바운드로만 시작합니다 — 인바운드 포트를 열 필요가 없습니다. 그러나 로컬 HMI나 API 엔드포인트를 노출하는 등 필요한 경우 디바이스 포트를 선택적으로 열 수 있습니다. 자세한 내용은 엣지 디바이스 및 에이전트를 참조하십시오.

2. 중앙 서비스 — 플릿 전반의 데이터, UI, 인텔리전스

중앙 레이어는 플릿 전반의 관점이나 영구적 인프라가 필요한 기능을 제공합니다. 각 중앙 서비스는 독립적으로 확장 가능합니다:

  • FleetDB — 디바이스에서 수집된 모든 텔레메트리 데이터를 저장하는 PostgreSQL/TimescaleDB 데이터베이스 클러스터. 각 프로젝트는 전용 테이블과 자격 증명을 가진 독립적인 데이터베이스 인스턴스를 보유합니다.
  • 백엔드 서비스 — 디바이스, 프로젝트, 앱, 사용자 계정, 릴리스, 모든 플릿 수준 운영을 관리합니다. 웹 API를 노출하고 비즈니스 로직 레이어를 처리합니다.
  • FleetDB 서비스 — 디바이스의 수신 데이터 스트림을 처리하고, 데이터 변환을 수행하며, 프론트엔드에 실시간 대시보드 데이터를 제공하고, 알람 평가를 관리합니다.
  • AI 서비스 — AI 에이전트 대화를 조율하고, 자연어 쿼리를 라우팅하며, 메시지 브로커를 통해 디바이스 측 함수를 호출합니다. 실시간으로 차트와 분석을 생성합니다.
  • 웹 UI — 운영자가 플릿을 관리하고, 대시보드를 보고, 알람을 구성하고, 앱을 개발하고, AI 어시스턴트와 상호 작용하는 브라우저 기반 제어 플레인입니다.
  • 컨테이너 레지스트리 — 모든 앱의 Docker 이미지를 저장하여 플릿의 모든 디바이스에 OTA 배포를 가능하게 합니다.

중앙 서비스는 IronFlock 클라우드(IronFlock이 관리)에서 실행하거나 온프레미스 배포를 위해 자체 인프라에서 실행할 수 있습니다. 자세한 내용은 중앙 서비스를 참조하십시오.

3. 가상 디바이스 — 커스텀 중앙 컴퓨팅 노드

물리적 엣지 디바이스 외에 IronFlock은 가상 디바이스 — 클라우드 호스팅 컴퓨팅 노드로 물리적 플릿과 함께 프로젝트에 참여 — 를 프로비저닝할 수 있습니다. 가상 디바이스는 물리적 디바이스와 동일한 IronFlock 에이전트를 실행하고, 동일한 메시지 라우팅에 참여하며, 컨테이너화된 모든 애플리케이션을 실행할 수 있습니다.

가상 디바이스의 일반적인 용도:

  • 플릿 전반의 관점이 필요한 Grafana, Node-RED, Netdata, Jupyter 같은 중앙 플릿 서비스 실행
  • 여러 물리적 디바이스의 데이터를 집계하는 데이터 처리 파이프라인 호스팅
  • 엣지 하드웨어에 너무 많은 컴퓨팅이 필요한 AI 추론 서비스 실행
  • 외부 시스템(SAP, ERP, 클라우드 API)을 IronFlock 프로젝트에 연결하는 프로토콜 브리지 역할

가상 디바이스는 별도의 기능이 아닙니다 — 프로젝트의 완전한 참여자입니다. 디바이스 목록에 표시되고, OTA 업데이트를 받으며, 앱들이 동일한 메시지 브로커를 통해 엣지 디바이스 앱들과 통신합니다.

자세한 내용은 가상 디바이스를 참조하십시오.

메시지 브로커 — 연결 기반

IronFlock의 모든 컴포넌트는 중앙 WAMP(Web Application Messaging Protocol) 메시지 브로커를 통해 통신합니다. 브로커는 다음을 제공합니다:

  • 실시간 pub/sub 메시징 — 디바이스가 텔레메트리를 게시하고, 대시보드가 실시간 데이터를 구독하며, 앱들이 양방향으로 통신합니다
  • RPC(원격 프로시저 호출) — AI 서비스가 디바이스 측 함수를 호출하고, 백엔드가 디바이스에서 컨테이너 작업을 트리거하며, 운영자가 명령을 전송합니다
  • 프로젝트 격리 — 각 프로젝트-앱 조합은 자체 암호화 격리된 메시징 렐름을 갖습니다. 한 프로젝트의 디바이스는 다른 프로젝트의 메시지를 볼 수 없습니다
  • 인증 — 브로커에 대한 모든 연결은 유효한 자격 증명이 필요합니다

메시지 브로커는 IronFlock을 연결되지 않은 부품들의 모음이 아닌 분산 시스템으로 만드는 것입니다. 중앙 클라우드에서 실행되는 AI 에이전트가 공장 현장의 물리적 디바이스에서 함수를 호출하고 실시간으로 결과를 받을 수 있는 것은 모두 동일한 브로커에 연결되어 있기 때문입니다.

자세한 내용은 메시지 브로커(WAMP)를 참조하십시오.

확장성 및 무중단 업데이트

IronFlock 아키텍처의 모든 컴포넌트는 수평 확장성을 위해 설계되었습니다. 백엔드, FleetDB, AI 서비스, 메시지 브로커, 컨테이너 레지스트리는 각각 독립적으로 확장하여 증가하는 플릿, 데이터 볼륨, 동시 사용자를 처리할 수 있습니다 — 시스템의 다른 부분에 영향을 미치지 않고.

이제 모든 시스템 컴포넌트가 거의 무중단 업데이트를 지원합니다 — 활성 연결이나 데이터 흐름을 거의 중단하지 않고 새 버전으로 업그레이드할 수 있습니다. 클러스터링된 메시지 브로커가 이 방식으로 전환한 마지막 컴포넌트로, 이제 플랫폼 전체를 거의 서비스 중단 없이 업데이트할 수 있습니다.

아키텍처 대 전통적 SCADA 비교

측면전통적 SCADAIronFlock
엣지 역할수동적 데이터 소스(PLC → 게이트웨이)완전한 애플리케이션을 실행하는 자율 컴퓨팅 노드
중앙 역할모든 것을 처리(게이트웨이 서버)플릿 전반의 데이터, UI, AI, 조율
앱 배포중앙 게이트웨이의 모듈엣지 디바이스의 Docker 컨테이너
오프라인 동작게이트웨이 없이는 엣지 중단엣지 디바이스가 자율적으로 계속 운영
확장게이트웨이 서버 추가엣지 디바이스 추가
통신게이트웨이에서 PLC로 폴링/OPC실시간 양방향 메시징(WAMP)

배포 옵션

IronFlock의 중앙 서비스는 세 가지 구성으로 실행할 수 있습니다:

모드중앙 서비스엣지 디바이스사용 사례
클라우드(기본)IronFlock 관리 클라우드인터넷을 통해 연결대부분의 배포
어플라이언스현장의 사전 구성된 박스 — 엣지 디바이스 역할도 수행로컬 네트워크를 통해 연결기계 제조업체 / OEM
프라이빗 클라우드고객의 DMZ / VPC / 데이터센터로컬 네트워크를 통해 연결에어갭, 규제 환경

세 가지 모델의 전체 비교는 배포 옵션을 참조하십시오.

Last updated on