IoT & Gömülü Sistemler

Edge Computing ve IoT: Buluttan Uca Veri İşleme

Fatih Algül
23.03.2026 204 görüntülenme

Edge Computing Nedir ve Neden Önemlidir?

Edge computing, veri işleme süreçlerini merkezi bulut sunucularından verinin üretildiği noktaya (uca) taşıyan bir bilişim paradigmasıdır. Geleneksel bulut mimarisinde tüm veriler uzaktaki veri merkezlerine gönderilir, işlenir ve sonuç geri döndürülür. Edge computing ise bu işlemi verinin kaynağına mümkün olduğunca yakın bir noktada gerçekleştirerek gecikmeyi (latency) minimize eder, bant genişliği tüketimini azaltır ve gerçek zamanlı karar alma kapasitesini artırır.

IoT cihazlarının sayısının 2026 itibarıyla dünya genelinde 20 milyarı aştığı düşünüldüğünde, bu cihazların ürettiği devasa veri hacminin tamamını buluta göndermek hem maliyetli hem de verimsizdir. Edge computing, bu soruna yapısal bir çözüm sunar.

Edge Computing ve Bulut Arasındaki Temel Farklar

  • Gecikme (Latency): Bulut mimarisinde ortalama 50-200ms olan gecikme, edge'de 1-10ms seviyelerine düşer. Otonom araçlar ve endüstriyel otomasyon gibi senaryolarda bu fark hayati önem taşır.
  • Bant Genişliği: Edge'de veri yerel olarak filtrelenir ve yalnızca anlamlı veriler buluta iletilir. Bu, ağ trafiğini %60-80 oranında azaltabilir.
  • Veri Egemenliği: Hassas veriler yerel olarak işlendiğinden KVKK ve GDPR gibi düzenlemelere uyum kolaylaşır.
  • Çevrimdışı Çalışma: İnternet bağlantısı kesilse bile edge cihazlar otonom olarak çalışmaya devam edebilir.

Edge-IoT Mimarisi: Katmanlı Yaklaşım

Modern edge-IoT sistemleri genellikle üç katmanlı bir mimari üzerine inşa edilir:

1. Cihaz Katmanı (Device Layer)

Sensörler, aktüatörler ve mikrodenetleyiciler bu katmanda yer alır. ESP32, Raspberry Pi veya Arduino gibi platformlar üzerinde hafif veri işleme gerçekleştirilir. Sıcaklık, nem, basınç gibi ham veriler burada toplanır ve ilk filtreleme yapılır.

2. Edge Gateway Katmanı

Cihaz katmanından gelen veriler burada toplanır, birleştirilir ve daha karmaşık analizlere tabi tutulur. NVIDIA Jetson, Intel NUC veya endüstriyel gateway cihazları bu katmanda kullanılır. Makine öğrenmesi çıkarımları (inference) genellikle bu katmanda çalıştırılır.

3. Bulut Katmanı

Uzun vadeli depolama, model eğitimi, dashboard görselleştirme ve merkezi yönetim gibi görevler bulut katmanında kalır. AWS IoT Core, Azure IoT Hub veya Google Cloud IoT gibi platformlar bu katmanı oluşturur.

Pratik Uygulama: Edge'de Veri İşleme Pipeline'ı

Aşağıdaki Python örneği, bir edge gateway üzerinde sensör verilerini toplayan, anomali tespiti yapan ve yalnızca anlamlı verileri buluta ileten basit bir pipeline göstermektedir:

import json
import time
import paho.mqtt.client as mqtt
import numpy as np
from collections import deque

class EdgeProcessor:
    def __init__(self, window_size=50, threshold=2.5):
        self.window = deque(maxlen=window_size)
        self.threshold = threshold
        self.cloud_client = mqtt.Client()
        self.cloud_client.connect("cloud-broker.example.com", 8883)

    def process_sensor_data(self, raw_data: dict) -> dict:
        """Ham sensör verisini edge'de işle ve filtrele."""
        value = raw_data.get("temperature")
        self.window.append(value)

        if len(self.window) < 10:
            return None

        mean = np.mean(self.window)
        std = np.std(self.window)
        z_score = abs((value - mean) / std) if std > 0 else 0

        return {
            "device_id": raw_data["device_id"],
            "temperature": round(value, 2),
            "mean": round(mean, 2),
            "z_score": round(z_score, 2),
            "is_anomaly": z_score > self.threshold,
            "timestamp": raw_data["timestamp"]
        }

    def forward_to_cloud(self, processed_data: dict):
        """Sadece anomali veya periyodik özetleri buluta gönder."""
        if processed_data and processed_data["is_anomaly"]:
            self.cloud_client.publish(
                "iot/alerts",
                json.dumps(processed_data)
            )

    def run(self, local_broker="localhost"):
        """MQTT üzerinden yerel sensör verilerini dinle."""
        def on_message(client, userdata, msg):
            raw = json.loads(msg.payload)
            processed = self.process_sensor_data(raw)
            if processed:
                self.forward_to_cloud(processed)

        local_client = mqtt.Client()
        local_client.on_message = on_message
        local_client.connect(local_broker, 1883)
        local_client.subscribe("sensors/temperature/#")
        local_client.loop_forever()

if __name__ == "__main__":
    processor = EdgeProcessor(window_size=100, threshold=3.0)
    processor.run()

Bu örnekte edge gateway, gelen tüm sıcaklık verilerini yerel olarak analiz eder. Kayan pencere (sliding window) kullanılarak ortalama ve standart sapma hesaplanır; z-skoru eşik değerini aşan veriler anomali olarak işaretlenir ve yalnızca bu anomaliler buluta iletilir. Böylece ağ trafiği büyük ölçüde azaltılmış olur.

Edge'de Makine Öğrenmesi: TinyML ve Model Optimizasyonu

Edge cihazlarda ML modelleri çalıştırmak için modellerin boyutunu ve hesaplama gereksinimlerini küçültmek gerekir. Bu alanda en yaygın kullanılan teknikler şunlardır:

  • Model Quantization: Float32 ağırlıkları Int8'e dönüştürerek model boyutunu ~4x küçültme. TensorFlow Lite ve ONNX Runtime bu işlemi kolayca destekler.
  • Pruning: Modeldeki düşük etkili nöronların budanarak ağın seyrekleştirilmesi.
  • Knowledge Distillation: Büyük bir "öğretmen" modelin bilgisini küçük bir "öğrenci" modele aktarma.

TensorFlow Lite ile quantize edilmiş bir modeli Raspberry Pi üzerinde çalıştırmak için:

import tflite_runtime.interpreter as tflite
import numpy as np

# Quantize edilmiş modeli yükle
interpreter = tflite.Interpreter(model_path="anomaly_model_quant.tflite")
interpreter.allocate_tensors()

input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

def predict_on_edge(sensor_readings: np.ndarray) -> float:
    """Edge cihazda anomali skoru hesapla."""
    input_data = sensor_readings.astype(np.float32).reshape(1, -1)
    interpreter.set_tensor(input_details[0]['index'], input_data)
    interpreter.invoke()
    score = interpreter.get_tensor(output_details[0]['index'])[0][0]
    return float(score)

Edge Computing İçin Popüler Protokoller

MQTT (Message Queuing Telemetry Transport)

Hafif, publish/subscribe tabanlı mesajlaşma protokolüdür. Düşük bant genişliği ve güvenilir olmayan ağlarda mükemmel performans gösterir. QoS seviyeleri (0, 1, 2) ile mesaj teslimat garantisi sağlar.

CoAP (Constrained Application Protocol)

REST benzeri bir protokol olup UDP üzerinde çalışır. Son derece kısıtlı kaynaklara sahip cihazlar için idealdir. HTTP'ye kıyasla çok daha az overhead üretir.

gRPC

Edge gateway'ler arasında veya gateway-bulut iletişiminde yüksek performanslı, tip güvenli (type-safe) RPC çağrıları için kullanılır. Protocol Buffers sayesinde veri serileştirmede JSON'a göre 5-10x daha verimlidir.

Güvenlik Değerlendirmeleri

Edge computing, dağıtık yapısı nedeniyle benzersiz güvenlik zorlukları getirir:

  • Cihaz Kimlik Doğrulama: Her edge cihazın X.509 sertifikası veya TPM (Trusted Platform Module) tabanlı kimlik doğrulaması kullanması gerekir.
  • Uçtan Uca Şifreleme: TLS 1.3 veya DTLS ile tüm iletişim kanalları şifrelenmelidir.
  • Firmware Güncellemeleri: OTA (Over-The-Air) güncellemeler imzalanmış olmalı ve secure boot zinciri ile doğrulanmalıdır.
  • Ağ Segmentasyonu: IoT cihazları, kurumsal ağdan izole VLAN'larda tutulmalıdır.

Gerçek Dünya Kullanım Senaryoları

  1. Akıllı Fabrika (Endüstri 4.0): Üretim hattındaki titreşim sensörleri edge'de analiz edilir; makine arızası önceden tespit edilerek plansız duruş süreleri %30-40 azaltılır.
  2. Otonom Araçlar: LiDAR ve kamera verileri araç üzerindeki GPU'larda gerçek zamanlı olarak işlenir; buluta gidip dönmeyi beklemek mümkün değildir.
  3. Akıllı Perakende: Mağaza içi kameralar edge'de yüz tanıma ve müşteri davranış analizi yapar; görüntüler mağaza dışına çıkmaz.
  4. Akıllı Tarım: Tarla sensörleri toprak nemini edge'de analiz ederek sulama sistemlerini otonom olarak yönetir, internet bağlantısı olmasa bile çalışır.

Kubernetes ile Edge Orkestrasyon

K3s ve KubeEdge gibi hafif Kubernetes dağıtımları, edge cihazlarda konteyner orkestrasyonunu mümkün kılar. Böylece buluttaki aynı CI/CD pipeline'ları ve yönetim araçları edge'de de kullanılabilir:

# K3s ile edge node kurulumu
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="agent" \
  K3S_URL="https://cloud-master:6443" \
  K3S_TOKEN="node-token" sh -

# Edge workload dağıtımı
kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: sensor-processor
spec:
  selector:
    matchLabels:
      app: sensor-processor
  template:
    metadata:
      labels:
        app: sensor-processor
    spec:
      nodeSelector:
        node-role: edge
      containers:
      - name: processor
        image: registry.example.com/sensor-processor:v1.2
        resources:
          limits:
            memory: "256Mi"
            cpu: "500m"
EOF

Sonuç ve Gelecek Perspektifi

Edge computing ve IoT entegrasyonu, veri işleme paradigmasında köklü bir dönüşümü temsil etmektedir. 5G ağlarının yaygınlaşması, yapay zeka çiplerinin (NPU) ucuzlaması ve WebAssembly (Wasm) gibi taşınabilir runtime'ların edge ortamlarına girmesiyle bu alandaki yenilikler hız kazanacaktır. Bulut ortadan kalkmayacak; ancak zeki, otonom edge katmanlarıyla birlikte çalışan hibrit mimariler standart haline gelecektir.

Edge computing stratejisi oluştururken şu temel ilkeleri göz önünde bulundurun: Gecikme kritik mi? Bant genişliği kısıtlı mı? Çevrimdışı çalışma gerekli mi? Veri mahremiyeti önemli mi? Bu sorulardan herhangi birine "evet" yanıtı veriyorsanız, edge computing mimarinizin ayrılmaz bir parçası olmalıdır.

Yazar Hakkında
Fatih Algül
TechSoft Solutions
Proje mi var?

Yazılım, IoT veya otomasyon konularında destek almak ister misiniz?

İletişime Geç