NTT DATA Business Solutions
Yasin Bursali | Ağustos 5, 2021

AWS IoT Analytics Mimarisiyle Gerçek Zamanlı Veri İşleme

iot-aws-1530x750

Günümüzde işletmeler, sürekli olarak veri akışları oluşturan veri kaynaklarının aşırı büyümesi nedeniyle çok büyük ölçekte ve hızla veri alıyor. Uygulama sunucularından günlük verileri, web sitelerinden ve mobil uygulamalardan gelen tıklama akışı verileri veya Nesnelerin İnterneti (IoT) cihazlarından gelen telemetri verileri, müşterilerinizin, uygulamalarınızın ve ürünlerinizin ne yaptığını öğrenmenize yardımcı olabilecek bilgileri içeriyor. Gerçek zamanlı işleme, verileri saatler, günler yerine saniyeler ya da dakikalar içinde bu uygulamalara sunarak web sitesi analizi ve makine öğrenimi gibi diğer yaygın kullanım durumlarını daha doğru ve eyleme dönüştürülebilir hale getirebilir.

Amazon Web Services IoT Analytics, genel olarak bir IoT analitik platformu oluşturmak için gereken maliyet ve karmaşıklık konusunda endişelenmenize gerek kalmadan büyük hacimli IoT verilerinde karmaşık analitiği çalıştırmayı kolaylaştıran bir hizmettir. IoT verileri yapılandırılmamış (unstructured) olduğundan, yapılandırılmış verileri işlemek için tasarlanmış geleneksel analitik ve iş zekası araçlarıyla analiz yapmayı zorlaştırır. IoT verileri, genellikle oldukça gürültülü süreçleri (sıcaklık, hareket veya ses gibi) kaydeden cihazlardan gelir. Bu cihazlardan gelen verilerde sıklıkla önemli boşluklar, bozuk mesajlar ve analiz gerçekleşmeden önce temizlenmesi gereken yanlış okumalar olabilir.

AWS IoT Analytics, IoT cihazlarından gelen verileri analiz etmek için gereken zor adımların her birini otomatikleştirir. Aynı zamanda, analiz için bir zaman serisi veri deposunda tutmadan önce IoT verilerini filtreler, dönüştürür ve zenginleştirir. Servisi, yalnızca ihtiyaç duyduğunuz verileri cihazlarınızdan toplayacak, verileri işlemek için matematiksel dönüşümler uygulayacak ve işlenen verileri depolamadan önce cihaz tipi ve lokasyonu gibi cihaza özel meta verilerle verileri zenginleştirecek şekilde kurabilirsiniz. Ardından, yerleşik SQL sorgu motorunu kullanarak geçici veya planlanmış sorgular çalıştırarak verilerinizi analiz edebilir veya daha karmaşık analitik ve makine öğrenimi çıkarımları gerçekleştirebilirsiniz. AWS IoT Analytics, yaygın IoT kullanım durumları için önceden oluşturulmuş modeller ekleyerek makine öğrenimine başlamayı kolaylaştırır.

Örnek bir AWS IoT Analytics Mimarisi

aws-iot-analytics-mimarisi

Kinesis Data Analytics mimarisiyle gerçek zamanlı IoT cihaz izleme

AWS IoT, bağlı cihazlarınızdan veri aldığında, verilerini bir Kinesis veri teslim akışına (data delivery) gönderir. Teslim akışı, olayları bir Amazon S3 klasöründe arşivler ve verileri işlenmek üzere bir Kinesis Data Analytics uygulamasına gönderir. Uygulama, verileri depolanmak üzere bir DynamoDB tablosuna gerçek zamanlı olarak gönderen bir AWS Lambda işlevine gönderir. Uygulama ayrıca, işlenmiş verileri bir Amazon S3 klasöründe arşivleyen ikinci bir Kinesis veri teslim akışına gönderir.

Çözüm ayrıca, DynamoDB tablosunda depolanan hesap etkinliğini güvenli bir şekilde okumak ve görüntülemek için bir Amazon Cognito kullanıcı havuzu, bir Amazon S3 paketi, bir Amazon CloudFront dağıtımı ve gerçek zamanlı bir kontrol paneli oluşturur.

Amazon Kinesis Streams, popüler akış işleme çerçevelerini kullanarak özel, gerçek zamanlı uygulamalar oluşturmanıza ve akış verilerini herhangi bir veri deposuna yüklemenize olanak tanır. Yüz binlerce veri üreticisini, örneğin web sitesi tıklama akışlarından, uygulama günlüklerinden, IoT sensörlerinden ve sosyal medya akışlarından gelen veriler gibi sürekli olarak bir Kinesis akışına veri koyacak şekilde yapılandırabilirsiniz. Bir saniyeden daha kısa bir süre içinde veriler, uygulamanızın akıştan okuması ve işlemesi için hazır olacaktır.

Akışınıza veri göndermek için çeşitli mekanizmalar vardır. AWS, her biri Kinesis Streams için API’ler sağlayan birçok popüler programlama dili için SDK’lar sunar. Amazon Kinesis Streams’e birçok yoldan veri gönderilebilir;

● Amazon Kinesis Agent
● Amazon Kinesis Producer Library (KPL)
● Amazon Kinesis API

Tüketici (consumer), Kinesis Streams’teki verileri okuyan ve işleyen bir uygulamadır. Kinesis Streams için tüketicileri birkaç şekilde oluşturabilir ve verileri birçok yolla işleyebilirsiniz:

● Amazon Kinesis Analytics
● Amazon Kinesis Client Library (KCL)
● AWS Lambda
● API

 

Örnek bir Kinesis Analytics & Streams kullanım mimarisi

 

 

Kaynakça:

1- https://aws.amazon.com/iot-analytics/

2- https://docs.aws.amazon.com/solutions/latest/real-time-iot-device-monitoring-with-kinesis/architecture.html

3- Streaming Data Solutions on AWS with Amazon Kinesis Handbook,July 2017

AWS IoT Servisleri, diğer AWS hizmetleriyle birlikte IoT projeleri için uçtan uca bir çözüm sunuyor. Konuyla ilgili detaylı bilgi için bize ulaşabilirsiniz.