İç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şkın 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
⏱️ 8 dk okuma📅 12 Haziran 2026🔄 Güncelleme: 16 Temmuz 2026

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

    Azure Cosmos DB’de Bölüm Bazlı Otomatik Failover: Sessiz Devrim
    Azure Cosmos DB’de Bölüm Bazlı Otomatik Failover: Sessiz Devrim6 Haz 2026
    Copilot Etki Panosu: Kullanım Metriklerinde Yeni Dönem
    Copilot Etki Panosu: Kullanım Metriklerinde Yeni Dönem22 Tem 2026
    GitHub Engellenen Kullanıcı Yönetimi: Yeni Araçlar
    GitHub Engellenen Kullanıcı Yönetimi: Yeni Araçlar23 Ağu 2026
    vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?6 Nis 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
Ö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

ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
Aşkın KILIÇ 0

ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı

10/09/2026
GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi
Aşkın KILIÇ 0

GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi

10/09/2026
GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı
Aşkın KILIÇ 0

GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı

10/09/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/

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/

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

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

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
    10/09/2026 ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
  • GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi
    10/09/2026 GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi
  • GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı
    10/09/2026 GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı
  • Kubernetes v1.37 ile Node Lifecycle Conditions dönemi
    10/09/2026 Kubernetes v1.37 ile Node Lifecycle Conditions dönemi
  • GitHub Advanced Security Deneme Erişimini Genişletti
    09/09/2026 GitHub Advanced Security Deneme Erişimini Genişletti
  • 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ı
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • 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?
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • 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

ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
Bulut Altyapı Yapay Zeka

ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı

10/09/2026 Aşkın KILIÇ
GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi
Geliştirici Araçları Güvenlik & Kimlik Kurumsal Teknoloji

GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi

10/09/2026 Aşkın KILIÇ
GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı
Bulut Altyapı DevOps Güvenlik & Kimlik Yapay Zeka

GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı

10/09/2026 Aşkın KILIÇ
Kubernetes v1.37 ile Node Lifecycle Conditions dönemi
DevOps Konteyner & Kubernetes

Kubernetes v1.37 ile Node Lifecycle Conditions dönemi

10/09/2026 Aşkın KILIÇ
GitHub Advanced Security Deneme Erişimini Genişletti
Bulut Altyapı Güvenlik & Kimlik

GitHub Advanced Security Deneme Erişimini Genişletti

09/09/2026 Aşkın KILIÇ
Kubernetes v1.36’da Askıya Alınan Job Kaynakları Değişiyor
DevOps Konteyner & Kubernetes Kurumsal Teknoloji

Kubernetes v1.36’da Askıya Alınan Job Kaynakları Değişiyor

09/09/2026 Aşkın KILIÇ
OpenAI, Gazeteciliğe Sınıftan Haber Merkezine Destek Veriyor
Bulut Altyapı Kurumsal Teknoloji Yapay Zeka

OpenAI, Gazeteciliğe Sınıftan Haber Merkezine Destek Veriyor

09/09/2026 Aşkın KILIÇ
.NET 11 RC1 Yayında: Öne Çıkan Yenilikler
Bulut Altyapı Geliştirici Araçları Yapay Zeka

.NET 11 RC1 Yayında: Öne Çıkan Yenilikler

09/09/2026 Aşkın KILIÇ
GitHub Copilot App ile Birden Fazla Agent Çalıştırma
Geliştirici Araçları Yapay Zeka

GitHub Copilot App ile Birden Fazla Agent Çalıştırma

08/09/2026 Aşkın KILIÇ
Kurumsal Yapay Zekâ Ajanlarında Context Engineering
Kurumsal Teknoloji Yapay Zeka

Kurumsal Yapay Zekâ Ajanlarında Context Engineering

08/09/2026 Aşkın KILIÇ
GitHub CLI Linux İmzalama Anahtarı 5 Eylül’de Bitiyor
Bulut Altyapı Geliştirici Araçları

GitHub CLI Linux İmzalama Anahtarı 5 Eylül’de Bitiyor

08/09/2026 Aşkın KILIÇ
Yapay Zekâ Güvenliği İçin Daha Güçlü Koruma Çağrısı
Güvenlik & Kimlik Yapay Zeka

Yapay Zekâ Güvenliği İçin Daha Güçlü Koruma Çağrısı

08/09/2026 Aşkın 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ı ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps azure sdk Azure SQL bulut bilişim C++ CI/CD CodeQL code review copilot Copilot CLI DevOps 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 MCP Microsoft Agent Framework Microsoft Azure Microsoft Foundry otomasyon performans Pull Request RAG SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 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ı 432 yazı 🏗️ Bulut Altyapı 345 yazı 🤖 Yapay Zeka 289 yazı 🔧 DevOps 242 yazı ☁️ Microsoft Azure 231 yazı 🔒 Güvenlik & Kimlik 199 yazı 🏢 Kurumsal Teknoloji 83 yazı 📊 Veri & Analitik 62 yazı 🐳 Konteyner & Kubernetes 53 yazı 📧 Microsoft 365 22 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