İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Güvenlik & Kimlik
  • EWS Bildirimlerinden Microsoft Graph’a Geçiş: Sessiz Ama Büyük Değişim
Bulut Altyapı Güvenlik & Kimlik Microsoft Azure Azure Event Hubs, change notifications, delta query, EWS, Exchange entegrasyonu, Microsoft Graph, Webhook A.KILIÇ 12/06/2026 3 Yorumlar

EWS Bildirimlerinden Microsoft Graph’a Geçiş: Sessiz Ama Büyük Değişim

EWS Bildirimlerinden Microsoft Graph’a Geçiş: Sessiz Ama Büyük Değişim
Ana Sayfa › Bulut Altyapı › EWS Bildirimlerinden Microsoft Graph’a Geçiş: Sessiz Ama Büyük Değişim
⏱️ 8 dk okuma📅 12 Haziran 2026🔄 Güncelleme: 16 Temmuz 2026👁️ görüntülenme

Biraz sert söyleyeceğim: EWS tarafında yıllardır çalışan bildirım mantığı iş görüyordu,. Artık eski dünyanın kokusu üstünde kalıyor. Hani hâlâ çalışıyor, evet; fakat ölçek, güvenlik ve operasyon yükü bir yerden sonra sizi yoruyor. Microsoft Graph’ın getirdiği model işe daha sade, daha modern ve açık konuşayım, bulut çağının temposuna daha yakın.

İlgili içerik: Mailbox Import/Export Graph API'leri GA: EWS'in Sonu Geldi

📋 İçindekiler

  1. Açıkçası, Rich notifications bana göre özellikle e-posta odaklı uygulamalarda fena değil, hatta bayağı iyi bir avantaj sağlıyor. Subject veya sender gibi bilgileri doğrudan alabiliyorsunuz. Böylece sırf detay çekmek için ikinci bir API çağrısı yapmak zorunda kalmıyorsunuz. Latency azalıyor, kullanıcı deneyimi toparlanıyor.

    Ha bu arada bir gerçek var: Graph bildirimi almak başka şeydir, önü doğru yorumlamak başka şeydir. Notification kaybolabilir mi? Evet (ciddiyim). Sisteminizde kısa süreli kesinti olabilir mi? Olabilir! O yüzden delta query ile reconciliation yapmak şart gibi düşünün. Ben bunu AZ-305 hazırlığında da hep böyle anlatırım: mimariyi tek sinyal üzerine kurarsanız kırılgan olur.

    Neden Delta Query’yi Ciddiye Almak Lazım?

    Delta query aslında olay sonrası denetim mekanizması gibi çalışıyor. Bildirım geldiğinde hemen işlem — ki bu tartışılır — yaparsınız; sonra delta ile kaçırdığınız kayıt var mı diye bakarsınız. Bu ikili yapı özellikle yüksek trafikli mailbox senaryolarında çok değerli oluyor çünkü webhook teslimatı mükemmel değil — zaten hiçbir bulut servisi kusursuz değil (evet, doğru duydunuz)

    {
    "step1": "Webhook ile change notification al",
    "step2": "İlgili item için gerekirse rich data kullan",
    "step3": "Belirli aralıklarla delta query çalıştır",
    "step4": "Kaçan değişiklikleri reconcile et",
    "step5": "Idempotent işlem tasarla"
    }
    

    Bence burada en sık yapılan hata şu: ekipler webhook’u görünce iş bitmiş sanıyor. Sonra production’da iki bildirım kaçınca alarm çalıyor ama nedenini kimse bilmiyor oluyor… Bu konuda netim: idempotency yoksa migration yarım kalmıştır.

    Büyük Kurumlarda Ne Fark Ediyor?

    Küçük startup ortamlarında çoğu zaman tek servisle işi çözersiniz; birkaç queue, tek region ve basit retry yeterli olabilir. Ama bankacılıkta ya da — itiraz edebilirsiniz tabi — telekomda durum başka tabiî ki — itiraf edeyim, beklentimin üstündeydi —. Orada concurrency limiti, güvenlik politikaları ve operasyonel dayanıklılık meseleleri aniden ön plana çıkıyor.

    Bi saniye — 2024 Mart ayında Logosoft’ta görüştüğümüz bir kamu müşterisinde tam da bunu yaşadık: mail tetiklemeli iş akışı vardı ama team aslında event processing platformu işletiyormuş gibi davranmak zorundaydı (evet biraz garip). O noktada Azure Event Hubs seçeneği ciddi rahatlama verdi çünkü notification akışını merkezî olarak toplamak ve tüketicilere dağıtmak kolaylaştı.

    E tabi burada maliyet kısmını da konuşmak lazım. TL bazında düşündüğünüzde sadece API çağrıları ucuz görünebilir ama operasyonel saatlerin maliyeti pek ucuz değil. Bir servis gecesi bozulduğunda sabaha kadar iki kişinin ekran başında beklemesi… işte o tabloyu bütçeye yazmazsanız resim eksik kalır.

    Maliyet ve Alternatifler

    • Küçük ekipseniz önce webhook + delta query ile başlayın. — ciddi fark yaratıyor
    • Bütçe kısıtlıysa Event Hubs yerine doğrudan queue tabanlı tamponlama deneyin.
    • Büyük kurumdaysanız observability katmanını en baştan kurun.
    • Tek noktaya bağımlılığı azaltmak için retry ve dead-letter planlayın.

    Açık konuşayım, bazı ekipler Event Hubs duyunca direkt “kurumsal çözüm” diye atlıyor ama her problem o kadar büyük değil. Basit senaryoda fazla mühendislik de ayrı dert çıkarır. Mesela sadece birkaç mailbox izliyorsanız gereksiz yere karmaşık mimarı kurmayın; az bileşen çoğu zaman daha sağlamdır (şaşırtıcı ama gerçek)

    Migrasyon İçin Pratik Yol Haritası

    Lafı gevelemeden söyleyeyim: önce mevcut EWS kullanımınızı sınıflandırın. Push mu kullanıyorsunuz? Pull mu? Streaming mi? Her biri için hedef davranış farklı olacak çünkü Graph’ta birebir karşılık yok; yeni mimariyi buna göre çizmeniz gerekiyor.

    Ben olsam ilk adımı şöyle atarım: hangi event gerçekten kritik, hangisi sadece bilgilendirme amaçlı önü ayırırım. Sonra subscription lifecycle kontrolünü ele alırım — expiration süresi dolmadan yenileme yapılacak mı? Eğer bu soru havada kalırsa production’da sessiz kopmalar yaşarsınız.

    Aslında — dur bir saniye — önce şunu söyleyeyim: migration projelerinde teknik riskten önce süreç riski gelir.

    Bu cümleyi boşuna kurmuyorum çünkü müşteri toplantılarında en çok orada tökezleniyoruz.

    “Kim ownership alacak?”, “renewal job nerede koşacak?”, “monitöring alarmı kime gidecek?” soruları cevaplanmadan kod yazmaya başlamak bana göre acelecilik oluyor.

    Graph’a geçişte asıl kazanım sadece modern API kullanmak değil; olayları yeniden düşünmek zorunda kaldığınız için sisteminizi temizlemenizdir.

    Dikkat Etmeniz Gerekenler

    Bak şimdi, Immutable IDs, item takibinde hayat kurtarıyor ama yanlış varsayım yaparsanız yine duvara toslarsınız. ID sabit diye her alan sabit sanmayın; mailbox taşıma veya yeniden eşleme durumlarında test şarttır. Ben bu konuyu ilk kez canlı ortamda gördüğümde ufak bir hayal kırıklığı yaşamıştım çünkü ekip sadece ID’ye güvenmişti, metadata değişimini kaçırmıştı.

    Error handling tarafında işe kısa yol yok. Throttling geldiğinde geri çekilmek — itiraz edebilirsiniz tabi — lazım; exponential backoff olmadan devam etmek cloud-native dünyada pek hoş sonuç vermiyor. Bir de şunu ekleyeyim: logging’i fazla yapıp faydasız hâle getirmeyin, anlamlı correlation id üretin.

    Kendi Sahadaki Notlarım ve Net Görüşüm

    Bak şimdi, 2024 Temmuz’da İzmir’deki bir üretim firmasına yaptığımız değerlendirmede ekip “notification aldık mı tamamdır” kafasındaydı. Onlara delta reconciliation göstermemizle tablo değişti. Çünkü sistem düzgün çalışan günlerde herkes mutlu oluyor ama veri kaçınca kimse hatırlamıyor bile. İşin güzeli şu ki küçük düzeltmelerle oldukça sağlam hâle getirebildik.

    Bence Microsoft’un yaptığı yönlendirme doğru yönde atılmış bir adım ama henüz ham olan yerler var. Mesela migration tooling tarafında bazı ekiplerin eli hâlâ manuel işlere gidiyor. Dokümantasyon iyi, fakat gerçek hayatta örnek mimariler biraz daha çoğalsa hiç fena olmazdı.

    Sıkça Sorulan Sorular

    EWS notification’dan Microsoft Graph’a geçmek zorunda mıyım?

    Zorunda değilsin aslında, ama uzun vadede bence kesinlikle Graph’a geçmek mantıklı. Hani EWS eski bir mimariye bağlı kaldığı için yeni geliştirmelerde Graph çok daha iyi oturuyor.

    Graph bildirimleri EWS kadar hızlı mı?

    Açıkçası pek çok senaryoda gayet yakın bir performans veriyor. Yine de gerçek zamanlı bir şeyler bekliyorsan, rich notifications. Iyi tasarlanmış bir backend olmadan işler zorlaşabilir.

    Delta query neden bu kadar önemli?

    Doğrusu, Çünkü webhook’un kaçırdığı olayları telafi etmeni sağlıyor. Tecrübeme göre bunu hep sigorta poliçesi gibi anlatıyorum; yanı olmadan da idare edersin ama risk ciddi şekilde büyüyor.

    Azure Event Hubs’ı ne zaman kullanmalıyım?

    Mesela yük yüksekse, çok sayıda tüketici varsa ya da dağıtık bir işlem gerekiyorsa çok anlamlı oluyor. Ama tek servisli basit bir çözümde bence fazla kaçabilir.

    Kaynaklar ve İleri Okuma

    Microsoft Graph Change Notifications Overview

    Microsoft Graph Webhooks Documentation

    Açık konuşayım, Microsoft Graph Delta Query Overview

    🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
    Aşkın KILIÇ
    Aşkın KILIÇYazar

    20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

    AZ-305AZ-104AZ-500AZ-400DP-203AI-102

    İlgili Yazılar

    Spring AI 2.0 GA: Cosmos DB ile Java Tarafında Vektör Devri
    Spring AI 2.0 GA: Cosmos DB ile Java Tarafında Vektör Devri29 Haz 2026
    GPT-5.5 ve Microsoft Foundry: Kurumsal AI Artık Ciddi
    GPT-5.5 ve Microsoft Foundry: Kurumsal AI Artık Ciddi29 Nis 2026
    Azure IaaS’te Savunma Katmanları: Güvenlik Nasıl Oturuyor?
    Azure IaaS’te Savunma Katmanları: Güvenlik Nasıl Oturuyor?21 May 2026
    Azure Developer CLI Nisan 2026: Çok Dilli Hook Devri Başladı
    Azure Developer CLI Nisan 2026: Çok Dilli Hook Devri Başladı1 May 2026

    Bu içerik işinize yaradı mı?

    Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

    YouTube GitHub

    Haftalık Bülten

    Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket Azure Event Hubs change notifications delta query EWS Exchange entegrasyonu Microsoft Graph Webhook
A.KILIÇ

Microsoft Azure Çözüm Uzmanı | Bulut Bilişim, Yapay Zekâ, DevOps ve Kurumsal Güvenlik alanlarında 15+ yıl deneyim. Azure, Kubernetes, AI/ML ve modern altyapı mimarileri üzerine yazılar yazıyorum.

view all posts
Önceki yazı

Azure Cosmos DB’de Partition Key Değiştirmek: Artık Daha Az Acı Veriyor

Sonraki yazı

Bot PR’lere de CI yolu açıldı: Güvenlikte ince ayar zamanı

İlginizi Çekebilir

Copilot Business ve Enterprise'da Model Varsayılan Açılıyor
A.KILIÇ 0

Copilot Business ve Enterprise’da Model Varsayılan Açılıyor

30/07/2026
Ingress NGINX Emekli Oluyor: Kubernetes'ten Kritik Uyarı
A.KILIÇ 0

Ingress NGINX Emekli Oluyor: Kubernetes’ten Kritik Uyarı

30/07/2026
Azure SDK Release (July 2026)
A.KILIÇ 4

Azure SDK Release (July 2026)

29/07/2026

3 comments

comments user
Pınar H. 12/06/2026 19:19

Biz de geçen yıl EWS’den Graph’a geçtik, özellikle webhook tarafında ilk kurulum biraz can sıkıcı oldu ama sonrasında operasyonel yük gerçekten azaldı. Delta query kısmını biraz daha detaylandırırsanız süper olur. Bu arada şu yazınız da güzeldi: vcpkg Mayıs 2026 Güncellemesi: Sessiz Güç, Büyük Etki — https://www.askinkilic.com.tr/vcpkg-mayis-2026-guncellemesi-sessiz-guc-buyuk-etki/

Yanıtla
comments user
Koray M. 12/06/2026 20:19

EWS tarafında streaming subscription açık tutmak için ayrı bir worker process beslemek zorunda kaldığımız günler aklıma geldi, o operasyonel yük gerçekten birikirdi. Delta query yaklaşımı teoride temiz görünüyor ama ilk kez token yönetimini kurarken ne kadar sürtünme çıkıyor merak ediyorum. Bu arada şu yazınız da güzeldi, CI tarafındaki benzer “ince ayar” konularına ilgi duyuyorsanız: https://www.askinkilic.com.tr/bot-prlere-de-ci-yolu-acildi-guvenlikte-ince-ayar-zamani/

Yanıtla
comments user
Selin N. 13/06/2026 02:45

Ekibimizle paylaştım, herkesin okuması lazım.

Yanıtla

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Copilot Business ve Enterprise'da Model Varsayılan Açılıyor
    30/07/2026 Copilot Business ve Enterprise’da Model Varsayılan Açılıyor
  • Visual Studio'da Modele Ne Kadar Düşüneceğini Söyleyin
    30/07/2026 Visual Studio’da Modele Ne Kadar Düşüneceğini Söyleyin
  • Ingress NGINX Emekli Oluyor: Kubernetes'ten Kritik Uyarı
    30/07/2026 Ingress NGINX Emekli Oluyor: Kubernetes’ten Kritik Uyarı
  • Dependabot'u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende
    29/07/2026 Dependabot’u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende
  • Azure SDK Release (July 2026)
    29/07/2026 Azure SDK Release (July 2026)
  • Kubernetes v1.36 Memory QoS: Katmanlı Bellek Koruması Geldi
    30/04/2026 Kubernetes v1.36 Memory QoS: Katmanlı Bellek Koruması Geldi
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • Azure MCP Server 2.0: Kendi Sunucunuzda Ajan Otomasyonu
    10/04/2026 Azure MCP Server 2.0: Kendi Sunucunuzda Ajan Otomasyonu
  • .NET 11 Preview 2: Deneyimlerim, Yenilikler ve Gerçek Hayat Notları
    21/03/2026 .NET 11 Preview 2: Deneyimlerim, Yenilikler ve Gerçek Hayat Notları
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

SİZİN İÇİN DERLEDİK

Copilot Business ve Enterprise'da Model Varsayılan Açılıyor
DevOps Güvenlik & Kimlik Microsoft Azure

Copilot Business ve Enterprise’da Model Varsayılan Açılıyor

30/07/2026 A.KILIÇ
Visual Studio'da Modele Ne Kadar Düşüneceğini Söyleyin
DevOps Geliştirici Araçları

Visual Studio’da Modele Ne Kadar Düşüneceğini Söyleyin

30/07/2026 A.KILIÇ
Ingress NGINX Emekli Oluyor: Kubernetes'ten Kritik Uyarı
Bulut Altyapı Güvenlik & Kimlik Konteyner & Kubernetes

Ingress NGINX Emekli Oluyor: Kubernetes’ten Kritik Uyarı

30/07/2026 A.KILIÇ
Dependabot'u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende
DevOps Geliştirici Araçları

Dependabot’u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende

29/07/2026 A.KILIÇ
Azure SDK Release (July 2026)
DevOps Geliştirici Araçları Microsoft Azure

Azure SDK Release (July 2026)

29/07/2026 A.KILIÇ
Azure App Service Build 2026: Easy AI, Iv4 ve Yenilikler
Bulut Altyapı DevOps Geliştirici Araçları Microsoft Azure

Azure App Service Build 2026: Easy AI, Iv4 ve Yenilikler

29/07/2026 A.KILIÇ
Copilot Uygulama Metrikleri Artık Tüm Rapor Kırılımlarında
Bulut Altyapı Geliştirici Araçları Yapay Zeka

Copilot Uygulama Metrikleri Artık Tüm Rapor Kırılımlarında

29/07/2026 A.KILIÇ
Azure DevOps Commit Search Genel Kullanıma Açıldı
DevOps Microsoft Azure

Azure DevOps Commit Search Genel Kullanıma Açıldı

29/07/2026 A.KILIÇ
Visual Studio Temmuz Güncellemesi: Copilot SDK Tabanlı Yeni
DevOps Geliştirici Araçları Microsoft Azure Yapay Zeka

Visual Studio Temmuz Güncellemesi: Copilot SDK Tabanlı Yeni

28/07/2026 A.KILIÇ
GitHub Actions Şüpheli Workflow'ları Onaya Alıyor
DevOps Güvenlik & Kimlik

GitHub Actions Şüpheli Workflow’ları Onaya Alıyor

28/07/2026 A.KILIÇ
.NET'te MCP Sunucularından Agent Skill Keşfi
Geliştirici Araçları Microsoft Azure Yapay Zeka

.NET’te MCP Sunucularından Agent Skill Keşfi

28/07/2026 A.KILIÇ
Azure App Service Linux'ta Startup Log Komutları
Bulut Altyapı DevOps Geliştirici Araçları

Azure App Service Linux’ta Startup Log Komutları

28/07/2026 A.KILIÇ

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL bulut bilişim C++ CI/CD copilot Copilot CLI DevOps DevSecOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 336 yazı 🏗️ Bulut Altyapı 279 yazı 🤖 Yapay Zeka 238 yazı 🔧 DevOps 196 yazı ☁️ Microsoft Azure 184 yazı 🔒 Güvenlik & Kimlik 160 yazı 🏢 Kurumsal Teknoloji 65 yazı 📊 Veri & Analitik 57 yazı 🐳 Konteyner & Kubernetes 47 yazı 📧 Microsoft 365 21 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Azure Cosmos DB’de Partition K...
    Bot PR’lere de CI yolu açıldı:... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS