IoT Uygulamalarını nesnelerin gönderdiği verinin anlamlandırılması ve iş süreçlerini iyileştiren aksiyonların alınabilmesi olarak tanımlayabiliriz. Gözümüzde canlandırmak için asansör örneğini düşünebilirsiniz. Asansörün teknik aksamı üzerindeki sensörler sıcaklık, titreşim ve enerji tüketimi gibi verileri okur ve bu veri sistemin olması gerektiği gibi çalışıp çalışmadığının anlaşılmasını sağlar. Elde edilen bilgiye göre bakım ekipleri muayene planlarını daha verimli oluşturup, arıza çıkaracak asansörleri önceden tahmin edebilirler.

Bu doküman, Azure PaaS bileşenlerini kullanarak oluşturulacak IoT mimarisini özetler. Bu yapının avantajı tüm bileşenleri ihtiyacınıza özel yapılandırabilmenizdir. Alternatif olarak, Azure IoT Central kullanarak da bir IoT altyapısı oluşturabilirsiniz. Azure IoT Central'ın avantajı tüm bileşenleri optimize bir şekilde otomatik yönetmesidir. Dezavantajı ise özelleştirme seçeneklerinizin daha az olmasıdır.

Azure IoT Reference Architecture

Mimari

Azure üzerinde çalışacak bir IoT altyapısı, aşağıdaki bileşenleri içerir. Uygulamanızın ihtiyacına göre bu bileşenlerin özelleştirilmesi ya da atlanması mümkündür.

IoT Devices

Buluta güvenli şekilde bağlanarak çift yönlü veri iletişimi sağlarlar. Bu donanımlar üzerlerinde sensör, kontrol bileşenleri, kullanıcı arabirimi ve güvenlik bileşenleri taşıyabilir. Bazı donanımlar öğrenme ve veri işleme gibi fonksiyonları kendi üzerlerinde gerçekleştirebilir. Bu tür donanımlar Edge Devices olarak adlandırılır. Edge Processing için Azure IoT Edge'i inceleyebilirsiniz.

Cloud Gateway

Bulut geçitleri, IoT donanımlarının güvenli bir şekilde buluta bağlanmasını ve veri iletişimini sağlar. Aynı zamanda cihazlarınızı da yönetebilirler. Örneğin, OTA Update (uzaktan güncelleme) ve güvenlik uyarıları gibi kritik işlemlerde üzerinizden büyük yükü alır.

Azure üzerindeki IoT Hub, cihazlarınız ve servisleriniz arasında broker görevini üstlenir. Güvenli bağlantı, event yönetimi, çift taraflı iletişim ve cihaz yönetimi hizmetlerini sağlar.

Device Provisioning

Çok sayıda donanımın sisteme kaydolması için DPS (Device Provisioning Service) kullanılır. Azure üzerinde cihazların IoT Hub'a kaydedilmesi için IoT Hub DPS'i kullanabilirsiniz.

Stream Processing

Büyük ölçekli verilerin analiz edilmesi stream processing olarak adlandırılır. Azure Stream Analytics, karmaşık analizlerin time windowing functions, stream aggregations ve external data source joins ile yapılabilmesini sağlar.

Machine Learning

Geçmişe yönelik telemetry verisi kullanılarak predictive algoritmaların çalıştırılmasını sağlar. Bu işlemler için Azure Machine Learning servisini kullanabilirsiniz.

Warm Path Storage

Raporlama ve görselleştirme gibi işlemler için veriye hızlıca erişimi sağlayan servislerdir. Azure üzerinde CosmosDB ile farklı bölgelere dağıtılmış multi-model veritabanlarınızı kullanabilirsiniz.

Cold Path Storage

Sık erişilmeyecek verilerin uzun dönemli saklanması için kullanılır. Azure üzerinde Azure Blob Storage ile düşük maliyetli veri saklayabilir,  verilerinizi batch processing için kullanabilirsiniz.

Data Transformation

Telemetri verisinin yönetimini ve işlenmesini sağlar. Örneğin binary verinin JSON'a çevrilmesi ya da farklı kaynaklardan gelen verinin birleştirilmesi gibi. Azure IoT Hub, CosmosDB ve Blob Storage ile entegrasyonu bulunan Azure Functions'ı bu işlemler için kullanabilirsiniz.

Business Process Integration

Cihazlardan gelen veriye göre alınması gereken aksiyonları yürütür. Örneğin, anormallik durumlarında e-mail ve SMS gönderimi, alarm oluşturulması ve CRM entegrasyonları gibi. Bu tür işlemler için Azure Logic Apps'i kullanabilirsiniz.

User Management

Kullanıcıların donanımlar ve servisler üzerindeki yetkilerinin yönetilmesidir. Örneğin, cihaz yazılımlarının güncellenmesi gibi. Azure Active Directory ile kullanıcıların authentication ve authorization işlemlerini yapabilirsiniz.

Özetle

Yukarıda özetlenen servisler kapsamlı bir IoT sistemini oluşturur. Her ne kadar proje gereksinimlerine göre yapı yeniden şekillendirilecek de olsa, mantık aynı kalacaktır. Bu şekilde isteğinize uygun altyapıyı oluşturmanın avantajı, projenizde öngörülmeyen bir değişiklik olması durumunda gerekli değişiklikleri yapabilecek olmanızdır.

Bu içerik, aşağıdaki dokümantasyonun Türkçe özetlenmiş halidir.

Azure IoT reference architecture - Azure Reference Architectures
Recommended architecture for IoT applications on Azure using PaaS (platform-as-a-service) components