Mimari
IronFlock, iki katmanlı bir dağıtık sistemdir: operasyon noktasında uygulama çalıştıran otonom kenar cihazlar ve filo genelinde veri depolama, gösterge panelleri, AI ve koordinasyon sağlayan merkezi hizmetler. Gerçek zamanlı bir mesaj aracısı her şeyi birbirine bağlar.
Bu ne saf bir kenar platformu ne de saf bir bulut platformudur. Her ikisi de — ve mimari, her katmanın en iyi yaptığı şeyi yapması için tasarlanmıştır.
Sistem Nasıl Bir Araya Gelir
┌─────────────────────────────────────────────────────────┐ ┌──────────┐
│ Central Services │ │ Virtual │
│ │ │ Device │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │┌────────┐│
│ │ FleetDB │ │ Backend │ │ AI │ │ Web │ │ ││ Custom ││
│ │ Cluster │ │ Service │ │ Service │ │ UI │ │ ││ Service││
│ │(Timescale│ │ │ │ │ │ │ │ │└────────┘│
│ │ DB) │ │ │ │ │ │ │ │ │ Agent │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └───┬────┘ │ └────┬─────┘
│ │ │ │ │ │ │
│ └─────────────┴──────┬──────┴────────────┘ │ │
│ │ │ │
│ ┌───────┴───────┐ │ │
│ │ WAMP Message ├────────────────────────────┘
│ │ Broker │ │
│ └───────┬───────┘ │
│ │ │
└────────────────────────────┼────────────────────────────┘
│
┌──────────────┼─────────────┐
│ │ │
┌───────┴──┐ ┌───────┴──┐ ┌──────┴───┐
│ Edge │ │ Edge │ │ Edge │
│ Device 1 │ │ Device 2 │ │ Device 3 │
│┌────────┐│ │┌────────┐│ │┌────────┐│
││ Apps ││ ││ Apps ││ ││ Apps ││
││(Docker)││ ││(Docker)││ ││(Docker)││
│└────────┘│ │└────────┘│ │└────────┘│
│ Agent │ │ Agent │ │ Agent │
└──────────┘ └──────────┘ └──────────┘Üç Katman
1. Kenar Cihazlar — Otonom Uygulama Çalıştırıcılar
Kenar cihazlar, IronFlock’taki temel yürütme düğümleridir. Her cihaz, hafif bir ajan ve bir veya daha fazla Docker konteynerli uygulama çalıştırır. Cihazlar özerktir: merkezi hizmetlerden bağlantı kesilse bile çalışmaya devam ederler ve ağ geri geldiğinde otomatik olarak yeniden bağlanırlar.
Kenar cihazlar, Linux destekli herhangi bir donanım olabilir — Raspberry Pi, endüstriyel PC’ler, NVIDIA Jetson, x86 ağ geçitleri veya özel ARM kartları.
Kenar cihazlarda ne çalışır:
- IronFlock ajanı — cihaz yaşam döngüsünü yönetir, OTA güncellemelerini gerçekleştirir, konteynerleri çalıştırır ve mesaj aracısına bağlantıyı sürdürür
- Uygulamalarınız — herhangi bir programlama dilinde Docker konteyneri olarak dağıtılır. Bu uygulamalar PLC’lerden ve sensörlerden veri toplar, kontrol mantığı çalıştırır, yerel HMI’lara hizmet eder, AI modellerini yürütür veya bir Linux uygulamasının yapabileceği her şeyi yapar Kenar cihazlar varsayılan olarak yalnızca giden bağlantılar başlatır — gelen portların açılması gerekmez. Ancak, yerel bir HMI veya API uç noktasını açığa çıkarmak için gerektiğinde cihaz portları seçici olarak açılabilir. Ayrıntılar için Kenar Cihazlar & Ajan bölümüne bakın.
2. Merkezi Hizmetler — Filo Genelinde Veri, UI ve Zeka
Merkezi katman, filo genelinde bir görünüm veya kalıcı altyapı gerektiren yetenekler sağlar. Her merkezi hizmet bağımsız olarak ölçeklenebilir — hizmetler, birbirini etkilemeden büyüyen filolarla başa çıkmak için yatay olarak ölçeklendirilebilir:
- FleetDB — Cihazlardan toplanan tüm telemetri verilerini depolayan PostgreSQL/TimescaleDB veritabanları kümesi. Her proje, özel tablolar ve kimlik bilgileriyle kendi izole veritabanı örneğini alır. Küme mimarisi, projeler arasında yatay ölçeklendirme sağlar. FleetDB, zaman serisi depolamayı ve zamanlanmış toplamaları yönetir; gösterge panelleri ile AI sorguları için veri arka ucu olarak işlev görür.
- Backend Hizmeti — Cihazları, projeleri, uygulamaları, kullanıcı hesaplarını, sürümleri ve tüm filo düzeyindeki işlemleri yönetir. Web API’sini açığa çıkarır ve iş mantığı katmanını yönetir. Artan API yükü ve cihaz kayıtlarını karşılamak için yatay olarak ölçeklenir.
- FleetDB Hizmeti — Cihazlardan gelen veri akışlarını işler, veri dönüşümlerini gerçekleştirir, ön uç için gerçek zamanlı gösterge paneli verisi sunar ve alarm değerlendirmesini yönetir. Veri alım hacmiyle eşleşecek şekilde bağımsız olarak ölçeklenir.
- AI Hizmeti — AI ajan konuşmalarını orkestre eder, konuşma geliştikçe uzmanlaşmış ajanları dinamik olarak ekler ve kaldırır. Doğal dil sorgularını yönlendirir, mesaj aracısı aracılığıyla cihaz tarafındaki işlevleri çağırır ve gerçek zamanlı olarak grafikler ve analizler üretir. Projeler arasında eş zamanlı AI konuşmalarını desteklemek için ölçeklenir.
- Web UI — Operatörlerin filolarını yönettikleri, gösterge panellerini görüntüledikleri, alarmları yapılandırdıkları, uygulama geliştirdikleri ve AI asistanıyla etkileşime girdikleri tarayıcı tabanlı kontrol düzlemi.
- Konteyner Kaydı — Tüm uygulamalar için Docker görüntülerini depolar ve filodaki herhangi bir cihaza OTA dağıtımını sağlar. Uygulama kataloğunuz büyüdükçe depolama ve aktarım hızını bağımsız olarak ölçeklendirir.
Merkezi hizmetler, IronFlock bulutunda (IronFlock tarafından yönetilen) veya yerinde dağıtımlar için kendi altyapınızda çalışabilir. Ayrıntılar için Merkezi Hizmetler bölümüne bakın.
3. Sanal Cihazlar — Özel Merkezi Hesaplama Düğümleri
Fiziksel kenar cihazlara ek olarak, IronFlock projenizde fiziksel filonuzun yanı sıra sanal cihazlar — bulut barındırılan hesaplama düğümleri — sağlamanıza olanak tanır. Sanal cihazlar, fiziksel bir cihazla aynı IronFlock ajanını çalıştırır, aynı mesaj yönlendirmesine katılır ve herhangi bir konteynerli uygulamayı çalıştırabilir.
Sanal cihazlar için yaygın kullanım alanları:
- Filo genelinde bir bakış açısına ihtiyaç duyan Grafana, Node-RED, Netdata veya Jupyter gibi merkezi filo hizmetleri çalıştırma
- Birden fazla fiziksel cihazdan veri toplayan veri işleme hatları barındırma
- Kenar donanımı için çok yoğun hesaplama gerektiren AI çıkarım hizmetleri çalıştırma
- Harici sistemleri (SAP, ERP, bulut API’leri) IronFlock projenize bağlayan protokol köprüleri olarak görev yapma
Sanal cihazlar ayrı bir özellik değildir — projenizde tam katılımcılardır. Cihaz listesinde görünürler, OTA güncellemeleri alırlar ve uygulamaları, aynı mesaj aracısı aracılığıyla kenar cihaz uygulamalarıyla iletişim kurar.
Ayrıntılar için Sanal Cihazlar bölümüne bakın.
Mesaj Aracısı — Yapıştırıcı
IronFlock’taki tüm bileşenler, merkezi bir WAMP (Web Application Messaging Protocol) mesaj aracısı aracılığıyla iletişim kurar. Aracı şunları sağlar:
- Gerçek zamanlı yayınla/abone ol mesajlaşması — Cihazlar telemetri yayınlar, gösterge panelleri canlı verilere abone olur, uygulamalar çift yönlü iletişim kurar
- RPC (Uzak Prosedür Çağrıları) — AI hizmeti kenar cihazlarındaki işlevleri çağırır, arka uç cihazlarda konteyner işlemlerini tetikler, operatörler komut gönderir
- Proje izolasyonu — Her proje-uygulama kombinasyonu kendi kriptografik olarak izole edilmiş mesajlaşma alanını alır. Bir projedeki cihazlar başka bir projenin mesajlarını göremez
- Kimlik doğrulama — Aracıya her bağlantı geçerli kimlik bilgileri gerektirirler
Mesaj aracısı, IronFlock’u birbirinden kopuk parçalar yerine dağıtık bir sistem yapan şeydir. Merkezi bulutta çalışan bir AI ajanı, bir fabrika zeminindeki fiziksel bir cihazda bir işlevi çağırabilir — ve sonucu gerçek zamanlı olarak geri alabilir — çünkü her ikisi de aynı aracıya bağlıdır.
Ayrıntılar için Mesaj Aracısı (WAMP) bölümüne bakın.
Ölçeklenebilirlik ve Sıfır Kesinti Güncellemeleri
IronFlock mimarisindeki her bileşen yatay ölçeklenebilirlik için tasarlanmıştır. Arka uç, FleetDB, AI hizmeti, mesaj aracısı ve konteyner kaydı; büyüyen filolar, artan veri hacimleri ve daha fazla eş zamanlı kullanıcıyı karşılamak için birbirinden bağımsız olarak ölçeklendirilebilir.
Artık tüm sistem bileşenleri neredeyse sıfır kesintili güncellemeleri desteklemektedir — aktif bağlantıları veya veri akışlarını neredeyse hiç kesintiye uğratmadan yeni sürümlere yükseltilebilirler. Bu adımı atan son bileşen kümelenmiş mesaj aracısı (message broker) oldu; böylece tüm platform artık neredeyse hiç hizmet kesintisi olmadan güncellenebilir.
Geleneksel SCADA ile Mimari Karşılaştırması
Geleneksel SCADA platformları (Ignition, WinCC, Wonderware) ağ geçidi merkezli model izler: bir merkezi sunucu her şeyi yapar — etiket toplama, geçmiş depolama, ekran sunma, alarm işleme ve betik yazma. “Kenar”, yalnızca o merkezi sunucuya veri besleyen PLC’lerdir.
IronFlock bunu tersine çevirir. Kenar cihazlar, tam hesaplama kapasitesine sahip otonom uygulama çalıştırıcılardır. Merkezi hizmetler, filo genelinde bir görünüm gerektiren şeyleri yönetir: kalıcı veri depolama, gösterge panelleri, AI orkestrasyonu ve filo yönetimi. Hiçbir katman diğerine bağımlı değildir — birbirini tamamlarlar.
| Özellik | Geleneksel SCADA | IronFlock |
|---|---|---|
| Kenar rolü | Aptal veri kaynağı (PLC → ağ geçidi) | Tam uygulamalar çalıştıran otonom hesaplama düğümü |
| Merkezi rol | Her şeyi yapar (ağ geçidi sunucusu) | Filo genelinde veri, UI, AI ve koordinasyon |
| Uygulama dağıtımı | Merkezi ağ geçidinde modüller | Kenar cihazlarda Docker konteynerleri |
| Çevrimdışı davranış | Ağ geçidi olmadan kenar durur | Kenar cihazlar özerk olarak çalışmaya devam eder |
| Ölçeklendirme | Daha fazla ağ geçidi sunucusu ekle | Daha fazla kenar cihaz ekle |
| İletişim | Ağ geçidinden PLC’ye yoklama/OPC | Gerçek zamanlı çift yönlü mesajlaşma (WAMP) |
Dağıtım Seçenekleri
IronFlock’un merkezi hizmetleri üç yapılandırmada çalışabilir:
| Mod | Merkezi Hizmetler | Kenar Cihazlar | Kullanım Durumu |
|---|---|---|---|
| Bulut (varsayılan) | IronFlock yönetilen bulut | İnternet üzerinden bağlanır | Çoğu dağıtım |
| Appliance | Sahada önceden yapılandırılmış kutu — aynı zamanda uç cihaz olarak çalışır | Yerel ağ üzerinden bağlanır | Makine üreticileri / OEM’ler |
| Özel Bulut | DMZ’niz / VPC’niz / veri merkeziniz | Yerel ağ üzerinden bağlanır | Hava boşluklu, düzenlenmiş |
Üç modelin tam karşılaştırması için Dağıtım Seçenekleri bölümüne bakın.