Azure Eğitim Serisi Başlıyor

Yeni bir eğitim serisine başlıyorum. Aşağıdaki konuları sırayla blog postlar ile anlatmaya çalışacağım. Bu sayfadan linkleri takip edebilirsiniz.

   

Mobile Services

  1. Mobile Service'a giriş
  2. Mobile Services JS Backend - Data (Insert, Update, Delete, Read)
  3. Mobile Services JS Backend - Api
  4. Mobile Services JS Backend - Scheduler
  5. Mobile Services JS Backend - Push Notification
  6. Mobile Services JS Backend - Identity
  7. Mobile Services Scale & Logs

   Cloud Services

  1. Cloud Services'a giriş
  2. Web Role
  3. Worker Role
  4. Deployment

Web Sites

  1. WebSites'a giriş
  2. WebJobs
  3. Scale & Backups

SQL Databases

  1. SQL Azure'a giriş
  2. SQL Azure ve Entity Framework

Storage

  1. Storage'a giriş
  2. Table Storage
  3. Blob Storage
  4. Queues
  5. Files (Preview)   

Service Bus

  1. Service Bus'a giriş
  2. Queue
  3. Topic
  4. Relay
  5. Event Hubs
  6. Scale   

Stream Analytics

  1. Stream Analytics'a giriş
  2. Örnek Proje   

Azure Stream Analytics

Stream Analytics Overview

   

Nedir ? 

   

Azure Stream Analytics real time olarak datalarınızı analiz etmenize olanak veren bir servis olarak açıklanabilir.

Sürekli olarak bir veri akışınız var ise ve bu verileri anlık olarak analiz etmek istiyorsanız bu servis işinizi görecektir.

   

Günümüzde hızla artan IoT sistemlerinde çok fazla işimizi kolaylaştırabilecek ve hızlı cevap veren kolay scale edilebilen bir yapıya sahiptir. Bildiğiniz gibi sensorlerden gelen verileri liste olarak görmek işimize genelde yaramayacaktır. Bu veriler uygun bicimde işlendikten sonra faydalı hale geliyor. Burada iki seçenek çıkıyor karşımıza, birincisi toplu verinin işlenmesi batch operationlar mesela machine learning, ikinicisi ise real time olarak sonuca ulaşmak örneğin Stream Analytics.

   

Örnek

   

Bir sağlık sistemi yapıyoruz ve hastaların üzerinde bulunan cihazlar sürekli olarak Azure'a data gönderiyor. Eğerki gelen kalp atış hızı 90ın üzerinde ise bir alert oluşsun istiyoruz. Bunun için veri Azure'a ulaştığında anlık olarak kontrol edilmeli ve sistem çalışmaya devam etmeli. Veya her hastanın son 100 verisini saklamak istiyoruz. Bu gibi senaryolarda kullanılması çok mantıklı ve çok hızlı olacaktır.

   

Özet olarak gelen veri kontrol ediliyor ve sonuç üretiliyor, bunlar real-time olarak gerçekleşiyor.

   

Nasıl Kullanılır?

   

Management Portal üzerinden yeni bir Stream Analytics Jobu yaratıyorsunuz. Sonra ise 3 önemli bölüm var Input, Query, Output.

   

Input: Veriyi nereden okuyacağını belirliyor. Burada Event Hub ve Blob Storage seçenekleri var. Okuncak verinin formatı json, csv veya avro olabilir. Örneğin Event Hub'I seçerseniz, sizden bilgileri isteyecek ve o event huba gelen mesajları okumaya başlayacak. Input'u yaratırken verdiğimiz isim bizim için önemli. Örneğin PatientInput isminde bir input oluşturduk.

   

Query: Inputtan gelen verinin nasıl query edileceğinin belirlendiği bölüm. Burada neredeyse SQL yazacağız diyebilirim. Syntax SQL'e çok benziyor neredeyse aynı. 

Örneğin

SELECT * FROM PatientInput where Heartrate>80

Yukarıdaki gibi bir sql komutu ile gelen veri içinden filtreleme yapabilirsiniz. Buradan üretilecek sonuç, yani yazdığınız sorgudan çıkan sonuç bir output'a atılıyor.

   

Output: Bir output yaratmamız gerekiyor ve üst tab'lardan output'a giderek yeni bir output oluşturuyoruz. Burada oldukça çok seçenek mevcut. Sonucları Blob Storage, Table Storage, SQL Database, Event Hub'a atmanız mümkün gerekli ayarlamaları kolaylıkla yapabilirsiniz. Output içinde Json, Csv, Avro kullanmanız mümkün.

Job'u çalıştırın ve dataları okumaya başlasın.

   

Scale

Doğası gereği çok rahat scale edibilen bir sistem. Scale tabından ayarlamaları yapmanız mümkün. Streaming Unit üzerinden scale ediliyor bu sistem. Her streaming unit kabaca 1mb/saniye gibi bir hıza karşılık geliyor. Streaming Unitleri arttırarak sisteminizin daha hızlı cevap vermesini sağlamanız mümkün. Ücretlendirmede streaming unit ve işlenen dataya göre yapılmakta ancak pahalı bir sistem olmadığını düşünüyorum.

   

Unutmadan, Azure Stream Analytics şuanda preview bir servis olmasına rağmen oldukça stabil çalıştığını söyleyebilirim.