UMH Core'u üretim hattının kenarına koymak neyi değiştirir?
Bir atölyede üç kesim tezgâhının durumunu görmek için önce PLC ağına erişim izni, sonra ayrı bir veri toplama sunucusu, ardından uygulamanın okuyacağı ortak bir akış gerekiyor. İlk denemede bütün bu parçaları merkezi bir altyapıya taşımak cazip görünebilir. Oysa kimi zaman mesele daha dar: tezgâha yakın bir noktada veriyi alıp düzenli bir veri katmanına aktarmak. United Manufacturing Hub’ın UMH Core sürümü bu başlangıç noktası için tek Docker konteyneri olarak sunuluyor.
Bu yazının konusu ortak veri ad alanının nasıl tasarlandığı ya da hazır bağlayıcıların hangi protokolleri konuştuğu değil. Tek konteynerli edge geçidinin üretim sahasındaki kurulum ve işletim kararlarını nasıl etkilediğine bakalım. Tek konteyner demek tek süreç, kendiliğinden güvenli ağ ya da bakım gerektirmeyen sistem demek değil.
Neden tezgâhın yanına bir geçit?
Varsayımsal bir sac işleme hattında PLC’lerin bulunduğu ağ ile ofisin raporlama ağı birbirinden ayrılmış olsun. Operatör, vardiya sırasında tezgâhın çalıştığını görüyor; planlamacı ise aynı bilgiyi daha sonra elektronik tabloda topluyor. Ofis uygulamasının doğrudan her PLC’ye bağlanması hem ağ kuralını karmaşıklaştırır hem de üretim cihazlarına yeni istemci yükü getirir. Sınırda konuşlandırılan geçit, izin verilen kaynaklardan veriyi alıp tüketicilere tanımlı bir arayüz üzerinden sunabilir.
UMH Core bu noktada bir endüstriyel veri merkezi görevi üstlenir. Resmî belgelere göre konteynerin içinde Kafka uyumlu gömülü Redpanda, akışları çalıştıran Benthos-UMH, yapılandırma ve sağlık durumunu yöneten bir agent ve süreçleri gözeten S6 bulunur. Bir Docker nesnesi olarak başlatılması, bunların tek bir işlem olduğu anlamına gelmez. Arıza ararken hangi iç bileşenin durduğunu ayrı ayrı görmek hâlâ gerekir.
Kurulumun küçülmesi ilk denemede işe yarar. Klasik UMH’nin Kubernetes tabanlı Helm mimarisini kurmadan Core için bir Docker çalışma ortamı hazırlanabilir. Bu fark, özellikle tek hattaki veri akışını sınamak isteyen ekip için önemlidir. Yine de “tek komutla başladı” ile “üretim için hazır” aynı eşik değildir. İşletim sistemi güncellemesi, disk kapasitesi, ağ izinleri, sürüm sabitleme ve yedekleme hâlâ işletmenin işidir.
Pilotun sınırını önce çizmek
İlk pilotu bir tezgâhın tek bir durum alanıyla sınırlayalım. Kaynaktaki alanın neyi anlattığını operatörle doğrulayın: running sinyali motorun enerjili olmasını mı, gerçekten parça işlenmesini mi gösteriyor? Geçidin sağlıklı olduğunu göstermek, bu iş anlamının doğru olduğunu kanıtlamaz. Ardından PLC için izin verilen okuma yöntemi ve sorgu sıklığı belirlenir. Üretim kontrol sistemini deneme sırasında gereksiz trafikle meşgul etmemek gerekir.
Geçidin nereye konacağı ayrı bir karardır. UMH güvenlik belgeleri Core’u operasyon ve bilgi teknolojisi ağlarının sınırında, bölümlenmiş bir ortamda konumlandırmayı öneriyor. Bu, konteyneri doğrudan internetten erişilebilir yapma izni değildir. Hangi protokol için hangi yönde bağlantı açılacağı, güvenlik duvarında tek tek tanımlanmalı. Kaynak PLC’ye erişimi olan makine ile ofis uygulamasının erişimi aynı güven alanı olarak kabul edilmemeli.
Bir başka sınır, yönetim bağlantısıdır. UMH’nin güncel güvenlik belgesi Core’un yapılandırma eşitlemesi için yönetim hizmetine dışarıya HTTPS erişimi gerektiğini, tamamen ağdan yalıtılmış kurulum için tasarlanmadığını söylüyor. Bu yüzden “edge’de çalışıyor” ifadesinden “internetsiz ortamda bütün işlevleriyle çalışır” sonucu çıkarılamaz. Fabrikanın dış bağlantı politikası kuruluma izin vermiyorsa önce bunu netleştirmek gerekir. Kimlik doğrulama belirtecinin saklanması ve yenilenmesi de bu tasarımın parçasıdır; belirteci görsel akışlara veya uygulama günlüklerine kopyalamak çözüm değildir.
Tek konteynerin işletme borcu
Geçit veri akışının tek çıkış noktası olursa yeniden başlatma sırasında neler olacağı sorulur. Kalıcı veri dizini nereye bağlanacak? Konteyner yeniden yaratıldığında yapılandırma ve bekleyen veriler nasıl korunacak? Disk dolarsa üretim ekibi nasıl haberdar olacak? Resmî Docker Compose örneği /data için kalıcı bir volume tanımlar. Bu volume’un bulunması tek başına kurtarma planı değildir. Yedek alınması ve geri yüklemenin test edilmesi ayrıca kararlaştırılmalı.
Aynı şekilde gömülü broker mesajları tamponlayabilir, fakat bunu sınırsız saklama ya da uçtan uca teslim garantisi olarak okumamak gerekir. Kaynak bir süre veri gönderemediğinde ve geçit tekrar ayağa kalktığında beklenen davranış, kaynağın tekrar gönderme yeteneğine ve tanımlanan akışa bağlıdır. Pilot testinde bağlantıyı kontrollü biçimde kesip geri getirin. Geçit çevrimiçi görünürken hedefte eksik veya çift kayıt olup olmadığını hedef uygulamanın kayıtlarından kontrol edin.
Sürüm değiştirmek de yalnızca yeni imajı indirmek değildir. Çalışan yapılandırmanın kopyası, kullanılan imaj sürümü, veri dizininin durumu ve geri dönüş yolu yazılı olmalı. Pilot için kaynak makineden durum alma, akışı hedefe yazma, bağlantı kesintisinden dönme ve sürüm geri alma adımlarını ayrı ayrı prova etmek yeterli bir başlangıçtır. Kurulumu yapan kişi izinli değilken bir başkası aynı adımları uygulayabiliyorsa sistem gerçekten işletilebilir hale gelmeye başlar.
Sonuçta UMH Core’un tek konteynerli biçimi, ilk endüstriyel veri geçidini ayağa kaldırmak için gereken dağıtım katmanını sadeleştirir. Ancak üretim değeri konteyner sayısıyla değil, doğru anlamlandırılmış veri, açık ağ sınırı ve arıza sonrasında doğrulanabilen kayıtla ölçülür. Edge geçidinin nerede duracağına karar verirken başlangıç kolaylığını bu üç sorumluluktan ayrı düşünmemek gerekir.
Kaynaklar: Luke van Enkhuizen’in açık kaynak üretim yazılımları derlemesi, UMH Core mimari özeti, UMH Core kurulum rehberi ve UMH güvenlik ve dağıtım belgesi. Atölye örneği kurgusaldır.