Internet of things IoT

Microsoft Azure IoT ve Amazon AWS IoT Çözümleri Temel Fiyatlama – Alt Yapı Gereksinimeri – Güvenlik Çalışmalarını Karşılaştırma- Bölüm 2

Bu makalemizde bir evvel ki makalemizin devamı olarak, Azure IoT ve AWS IoT çözümlerini karşılaştırmaya devam edeceğiz, bu Makale SDK yapısı, dil, platform desteği, güvenlik ve kullanılan donanımlar özelinde bilgiler aktaracağım.

SDK Dilleri ve Platform Desteği

Microsoft farklı SDK kütüphanelerini, farklı diller için ve tek bir platformda toplayarak IoT Hub ile iletişimi HTTP/AMQP protokolleri için sağlamaktadır. .Net SDK /.Net Framework ve UWP uygulamaları Windows 10 IoT Core işletim sistemi üzerinde çalıştırılabilir.

SDK kütüphaneleri özelinde, Java, NodeJS, C (ANSI 99) için geliştiriciler çalışmalar yapmaktadır.

SDK’lar için açık kaynak kodlu GitHub kodlarına Azure IoT için bakılabilir. https://github.com/Azure/azure-iot-sdks

Güvenlik ve Doğrulama

Bağlantı doğrulamak için IoT Hub ve Aygıtlar arasında TLS tabanlı olarak iletişimi şifrelemek, X.509 ile oturumu doğrulayabilir.

Cihazların IoT Hub bağlantıları için, cihaz başına ve oturum başına doğrulama, kontrol yapılabilir. Bu doğrulama ve kontrol başlıkları, “read-only” /”read-write” /”owner” gibi başlıklarda incelenebilir.  Cihazların servis bağlantısı ve bağlantı seviyeleri , cihazlar arası, cihaz ile bulut, bulut ile cihaz iletişim bağlantı temellerini ele alarak incelemek gereklidir.

Azure IoT Hub cihazları doğrularken ve iç iletişimlerini sağlarken, cihazdan IoT Hub’a doğru iletişimin doğrulanması için “SAS”(Shared Access Signature ) jeton bilgisi paylaşarak doğrular, bu jetonu doğrularken ve üretirken “HMAC-SHA256” imzalama doğrulaması algoritması kullanır. Birincil ve İkincil anahtarlar üreterek cihazların iletişimini güvenli ve yedekli kılar.

AWS IoT iletişim için TLS Protokolünü kullanır, karşılıklı doğrulama ve iletişim için TLS ve anahtar çiftlerinin değeri önemlidir.

AWS IoT X.509 metodu ile birlikte sertifika tabanlı bir iletişim doğrulamayı desteklemez. Kullanıcı, Grup ve Rolleri dayalı olarak iletişimi “Amazon Cognito service” ile destekler. Ancak bu iletişim için MQTT protokolünü kullanmayı önerir. Akıllı telefonlarda, cihaz bilgilerinin, iletişimin ve kontak paylaşımı için “IAM” servisi için HTTP ve Cognito servislerinden faydalanır.

AMQP,MQTT, HTTP ve Diğer Protokoller

Bugünün koşullarında AMQP protokolü yasal olarak Azure Servisleri altında, kuyruk, topiki abonelik ve uç cihaz bilgilendirme başlıklarında hizmet vermektedir. Bu destekler şu anda AMQPv1.0 desteklenmiştir.

Cihazlardan doğal yollarla veri toplayabilmenin en önemli detaylarına daha evvel HTTP protokolü eşlik ederken, artık cihazlardan bir havuz oluşturmak, havuz verisi toplamak için AMQP protokolü tercih edilmektektedir, AMQP protokolünün bu yeteneğinin HTTP’den daha başarılı olduğu düşünülmektedir.

Azure IoT protokolleri, IoT Protokol Ağ geçitlerinde tercih edilirken MQTT protokolü ve MQTT protokolü ile birlikte  GitHub üzerinde MQTT özel dizayn yapılabilir. MQTT 3.1.1 protokolü ve yetenekleri ile birlikte bulut servisleri için adaptasyon yapılmıştır.

AWS IoT için mesaj paylaşımı ve mesaj aboneliği konularında MQTT protokolü ve standartlarını kullanılır. HTTP protokolü AWS portal üzerinden yayın yapabilir. Ancak limitli mesaj iletimi gerçekleştirebilir. (REST API) metodu sayesinde.

IoT Platformları Tarafından Seçilen Donanım Üreticileri

Microsoft Azure IoT Platformu özelinde güvendiği ve sertifikalı olarak önerdiği ağ geçitleri donanım üreticileri arasında onlarca donanım markasını önermektedir.

Tüm donanım platformları IoT Hub ve SDK kütüphanesini kullanmalı, çeşitli dil kütühaneleri ve çeşitli yazılım dillerini desteklemelidir.

Azure IoT bir çok firmaya ve açık kaynak desteği olan dil ve yazılımlara bu kaynaklara erişme, birlikte çalışma fırsatı vermektedir. Bugün bu algıyı ve bakış açısını destekleyen donanım üreticileri ; Intel, Rasperry Pi, Freescale, ARM mbed, Texas Instrument, Minnowboard, Beagle Board, Seeed, Arrow ve Qualcomm.

clip_image002

Amazon AWS IoT hizmet portfoyünün sunduğu başlangıç IoT kitleri ve prototipleri, Qualcom Dragonboard, Beaglebone, Intel Edison, Renesans, Bir çok mikroçip tabanlı ürün ailesine ve açık kaynak kodlu ürün ailesine destek vermektedir.

clip_image004

Bu başlangıç kitlerinden istifade etmek ve kullanabilmek için, C dil kütüphanesini ve SDK’lardan istifade etmeyi ve temellerini bilmenizde fayda var. Javascript/NodeJS script dilleri ile de kendi butik geliştirme işlerinizi yapabilirsiniz.

Mesajlaşma Dili ve Veri Aktarımında Protokol Temelleri

IoT Hub mesajları kablolu iletim üzerinde iletirken ve işlerken bir çok özelliğini AMQP protokolü altında çalıştırmaktadır.

Mesaj içerisinde birden fazla yük ve veri taşıyabilmek için, veri taşıma formatı içerisinde, ikili sayı sistemi(binary), XML, JSON ile birden çok sistem özelliğini uygulama seviyesinde IoT Hub üzerinden aktarılır.

Bir çok protokolün iletişimi ve alt yapısal iletimi için HTTP paketi ve protokolünden faydalanılır, örneğin AMQP protokolüne dair mesaj içeriği ve deseni için, HTTP protokolünün reply/request desen yapısından faydalanılır.

Amazon AWS IoT özelinde mesaj iletimi için, message broker ve mesaj gölge kopyası/takibi için JSON document depolama özelliğinden istifade eder.

Amazon AWS IoT tüm operasyonel işlemleri için (güncelleme/bilgi çekme/slime vb.)  MQTT/Restful API üzerinden HTTPS protokolü kullanımı, mesaj broker servisi iletişimi için istek/cevap yapısı için MQTT protokolünü en tepedeki sağlayıcı olarak kullanır.

Bu makalemiz ile birlikte, protokol, donanım, SDK dil yapısı ve temel güvenlik karşılaştırmalarını platformlar özelinde tamamlamış bulunmaktayız.

 

 

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu