İç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ıç
  • Veri & Analitik
  • Azure Cosmos DB vNext Emulator: Yerelde Gerçek Gibi Test Etmek
Bulut Altyapı DevOps Veri & Analitik ARM64, Azure Cosmos DB, CI/CD, deterministik test, Docker, lokal test, vNext emulator Aşkın KILIÇ 06/06/2026 2 Yorumlar

Azure Cosmos DB vNext Emulator: Yerelde Gerçek Gibi Test Etmek

Azure Cosmos DB vNext Emulator: Yerelde Gerçek Gibi Test Etmek
📑 İçindekiler
  1. Shell entegrasyonu işin tadını değiştiriyor
  2. /init klasörü neden önemli?
  3. Sadece CRUD değil, yeni nesil kullanım alanları da var
  4. Küçük ekip mi büyük kurum mu?
  5. Bende bıraktığı izlenim ve sahadaki karşılığı
  6. Maliyet açısından nasıl düşünmeli?
  7. Zorlandığım nokta neydi?
  8. Peki kim hemen kullanmalı?
  9. Sıkça Sorulan Sorular
  10. Cosmos DB vNext emülatör canlı hesap yerine kullanılabilir mi?
  11. Kendi bilgisayarımda ARM64 Maç ile çalıştırabilir mıyım?
  12. Docker init scripts ne işe yarar?
  13. Bunu küçük proje mi yoksa enterprise ortam mı daha çok sevmeli?
  14. Kaynaklar ve İleri Okuma

⏱️ 7 dk okuma📅 6 Haziran 2026🔄 Güncelleme: 13 Eylül 2026

Şunu fark ettim: Geçen hafta bir müşteride, İstanbul’daki ekip ile Frankfurt’taki CI hattı aynı testi farklı sonuçlarla verince yine o eski soru açıldı: “Sorun kodda mı, altyapıda mı?” İşin aslı şu, dağıtık sistemlerde bu soruya tek cümleyle cevap vermek zor oluyor. Azure Cosmos DB tarafında da tablo değişmiyor; canlı hesabı test için kullanmak istemiyorsunuz, ama yerelde de gerçek davranışa yakın bir ortam arıyorsunuz. Tam burada vNext emülatör devreye giriyor.

İlgili içerik: MSTest 4.4 ile Native AOT Uygulamalarını Test Etmek

İlgili içerik: Azure Test Plans’ta Gerçek Sonuç: Kâğıt Üstünden Çıkıp İşe Giriyor

İlgili içerik: Azure Cosmos DB Design Patterns: Çalışan Örnekler

İlgili içerik: AI Ajanları Cosmos DB vNext Emülatörüyle Buluşuyor

İlgili içerik: Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur

Şöyle söyleyeyim, Bunu geçen ay Ankara’daki bir müşteri görüşmesinde de konuştuk. Ekip.NET tabanlı birkaç mikroservis yazıyordu. Cosmos DB bağımlılığı yüzünden integration testleri pahalıya patlıyordu — hem süre uzuyor hem de ortam kirleniyordu (evet, kirleniyor). Emülatör sayesinde testi lokalde koşturup hatayı daha kod yazarken görmek mümkün hâle geldi. Küçük görünen değişiklikler bazen en çok buradan vuruyor.

💡 Bilgi: vNext emülatör’un en büyük artısı sadece “lokal kopya” sunması değil; aynı zamanda geliştirme sürecini container dünyasına uyumlu hâle getirmesi.

Shell entegrasyonu işin tadını değiştiriyor

Bana kalırsa en iyi yeniliklerden biri gömülü Cosmos DB Shell. Eskiden veri yüklemek için ayrı script’ler yazılırdı; önce gateway ayağa kalksın diye beklersiniz, sonra database oluşturursunuz, sonra container açarsınız… Derken yarım saat giderdi. Şimdi shell doğrudan container içinde kullanılabiliyor. Şey gibi değil artık; daha az dolambaçlı.

Konteynere bağlanıp kabuk üzerinden işlem yapmak bana biraz eski usül sysadmin günlerini hatırlattı — hani SSH atıp içeride işi halledersiniz ya (en azından benim deneyimim böyle). Aynı hissiyatın modern hali gibi düşünebilirsiniz: (ciddiyim)

docker exec -it <container-name> cosmoshell.sh

Bunun pratik sonucu şu: seed verisini uygulama dışına çıkarıyorsunuz. Bu küçük gibi görünen detay aslında önemli çünkü bootstrap mantığını koddan ayırıyor. Kodunuz temiz kalıyor, test setup’ınız işe konteynerin parçası oluyor. Hatta bazen tam tersi bile işe yarar; önce veriyi konteynerde hazırlarsınız, sonra uygulamayı üstüne oturtursunuz.

Dürüst olmak gerekirse, Bir dakika, şunu da ekleyeyim: benim gözümde bu yaklaşım demo hazırlayan ekipler için de bayağı işe yarar. 2019’da İzmir’de bir satış demosu hazırlarken boş veri ekranından kurtulmak için gece yarısı elle JSON doldurduğumu hatırlıyorum… Neden önemli bu? şimdi böyle şeylere gerek kalmaması güzel ama insanın içinden “nihayet” demesi de normal doğrusu.

/init klasörü neden önemli?

vNext emülatör top-level /init altındaki .csh dosyalarını alfabetik sırayla çalıştırabiliyor. Yanı sız container ayağa kalkmadan önce database oluşturma ve data yükleme işini konteynere bırakıyorsunuz. Bu yaklaşım özellikle CI job’larında tatlı çalışır çünkü her koşuda aynı başlangıç noktasına dönersiniz. Peki neden? Çünkü tekrarlanabilirlik orada para ediyor.

Aşağıdaki örnek yapı gayet anlaşılır:

Aşama Neler olur? Neden iyi?
01-init.csh Database ve container oluşturulur Tekrarlanabilir başlangıç sağlar
02-load.csh Kullanıcı ve sipariş verileri yüklenir Demosuz kuru ortam kalmaz
-rm ile reset Konteyner silinir ve yeniden başlar Taze laboratuvar gibi davranır

Yerel emülatörün asıl değeri hızdan çok güven verir; prod’a gitmeden önce davranışı görürsünüz.

Sadece CRUD değil, yeni nesil kullanım alanları da var

Burada, şunu fark ettim: Açık konuşayım, eskiden emülatör deyince akla çoğu zaman sadece temel create/read/update/delete gelirirdi. Bu sürümde tablo biraz genişlemiş durumda:

  • daha geniş API kapsaması — ciddi fark yaratıyor
  • daha fazla özellik eşleşmesi (bu kritik)
  • vector search
  • OpenTelemetry support — bunu es geçmeyin
  • dahili shell deneyimi

Bunlar kulağa teknik katalog maddesi gibi gelebilir ama pratikte karşılığı var.

Bilhassa vector search tarafı dikkat çekici.

Ben son dönemde Azure AI Foundry ile birlikte veri katmanını tasarlarken şunu sık görüyorum:
uygulama metni anlamaya başlayınca altında yatan datastore’un da buna hazır olması gerekiyor.

Yanı mesele yalnızca belge saklamak değil;
arama,
benzerlik,
öneri,
hatta ajan akışlarına zemin hazırlamak…

E tabi burada ufak bir hayal kırıklığı notu düşeyim:
her yeni özellik ilk günden kusursuz olmuyor.
Emülatör güzel ilerlemiş ama bazı üretim senaryolarının birebir aynısını beklemek fazla iyimser olur.
Kağıt üstünde süper,
pratikte göreceğiz artık.
Ben yine de doğru yönde atılmış ciddi bir adım olduğunu düşünüyorum.

Küçük ekip mi büyük kurum mu?

Şöyle ki, Küçük ekipseniz hedefiniz net olmalı: hızlı geri bildirım döngüsü kurun.

Mesela startup iseniz local dev + Docker Compose + emülatör kombinasyonu sizi bayağı ileri taşır.
Çünkü burada amaç ölçekten önce çevikliktir.

Büyük kurumsal yapıda işe iş biraz daha ağır akar.
Orada önerim şu olur:
emülatör’u doğrudan CI gate’in parçası yapın,
seed dataset’i standartlaştırın,
test çıktısını merkezî loglama ile toplayın.
Aksi hâlde herkes kendi makinesinde “bende çalıştı” der durur…
ve biliyoruz ki o cümle pek sevilmez!

Bende bıraktığı izlenim ve sahadaki karşılığı

Maliyet açısından nasıl düşünmeli?

Maliyet tarafında ilginç bir durum var.

Emülatör’un kendisi yerelde çalıştığı için doğrudan servis maliyetinizi artırmaz;
asıl kazanç yanlış yerde yapılan testleri azaltmanızdan gelir.
Bir müşteride Ocak 2025’te yaptığımız hesapta,
entegrasyon testlerinin %30’u gereksiz canlı bağlantıya gidiyordu.
Bunu emülatöre taşıdığımızda sadece maliyet düşmedi;
pipeline süresi de kısaldı.
TL bazında bakınca fark küçük görünür belki,
ama aylara vurunca can yakar.

Eğer bütçe kısıtlıysa ilk yatırımınız pahalı gözlem araçları değil,
iyi hazırlanmış lokal test altyapısı olsun derim.
Hatta bazı senaryolarda managed olmayan basit Docker tabanlı yaklaşım bile yeterli.
Mesela de PoC aşamasında bunun faydasını çok gördüm;
önce modeli oturtun,
sonra büyütün.
Şişirmeye gerek yok yanı.
İşini görüyorsa tamamdır (inanın bana)

Zorlandığım nokta neydi?

This part needs to be in Turkish only? Tabiî Türkçe devam edelim.

Ben bu servisi ilk denediğimde endpoint keşfi sırasında ufak bir hata aldım;
konteyner ayağa kalkmıştı ama shell tarafı beklediğim şekilde bağlanmamıştı.
Sebep basitti:
port mapping’i kontrol etmemiştim.
Çözüm şuydu:
dokümantasyondaki port eşleşmesini birebir uyguladım
ve wrapper’ın otomatik endpoint algılama mantığını tekrar denedim.
Klasik ama öğretici bir an öldü doğrusu.

Peki kim hemen kullanmalı?

  1. Cosmos DB kullanan.NET veya JavaScript ekipleri.
  2. CI/CD pipeline içinde integration test yapan takımlar.
  3. Demosunda gerçekçi veri göstermek isteyen danışmanlar.
  4. Ajan ya da AI uygulamalarında düşük gecikmeli lokal veri katmanı isteyenler.
  5. Cihaz bağımsız geliştirme yapan hibrit ekipler (Maç + Windows karışık yapı).
  6. /ol>

    Benim görüşüm net: Cosmos DB vNext emülatör production yerine geçmez ama development disiplinini ciddi biçimde yükseltir.

    Sıkça Sorulan Sorular

    Cosmos DB vNext emülatör canlı hesap yerine kullanılabilir mi?

    Eh, Hayır, birebir üretim ortamının yerine geçmiyor. Ama yanı geliştirme, demo ve entegrasyon testi için gerçekten çok işe yarıyor. Aslında canlı hesaba hiç dokunmadan hızlı denemeler yapmak istiyorsanız bence doğru seçim bu.

    Kendi bilgisayarımda ARM64 Maç ile çalıştırabilir mıyım?

    Evet, destekleniyor. Apple Silicon tabanlı Maç cihazlarda da Docker image üzerinden kullanılabiliyor. Yanı mesela çapraz platform ekiplerde bu açıdan oldukça kullanım kolaylığı sağlıyor.

    Docker init scripts ne işe yarar?

    /init altındaki.csh dosyaları konteyner başlamadan önce sırasıyla çalışıyor. Böylece database oluşturma, container açma ve örnek veri yükleme işleri otomatik hâle geliyor. Tecrübeme göre özellikle CI job’larında tekrar eden kurulum adımlarını ciddi ölçüde azaltıyor.

    Bunu küçük proje mi yoksa enterprise ortam mı daha çok sevmeli?

    Bi saniye — Küçük projeler hız kazanıyor, enterprise yapılar işe standardizasyon elde ediyor. Açıkçası ben özellikle orta-büyük yapılarda CI (söylemesi ayıp) entegrasyonuyla birlikte kullanıldığında değerinin arttığını düşünüyorum. Tek başına mucize yaratmıyor, ama iyi kurgulanırsa bayağı fark ettiriyor (yanlış duymadınız)

    Kaynaklar ve İleri Okuma

    Orijinal Microsoft duyurusu

    Azure Cosmos DB Emülatör belgeleri

    Azure Cosmos DB’de vector search rehberi

🤖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 Local ve Azure Arc ile Dağıtık Hibrit Altyapı
Azure Local ve Azure Arc ile Dağıtık Hibrit Altyapı19 Eyl 2026
Azure DevOps’tan GitHub’a Kesintisiz Geçiş: ELM ile Yeni Dönem
Azure DevOps’tan GitHub’a Kesintisiz Geçiş: ELM ile Yeni Dönem9 Haz 2026
Fiziksel Sistem Tasarımında Yeni Dönem: Azure MSWB ile Geleceğe Bakış
Fiziksel Sistem Tasarımında Yeni Dönem: Azure MSWB ile Geleceğe Bakış24 Mar 2026
Ubuntu 26.04'te .NET 10: Kurulum ve Konteyner Rehberi
Ubuntu 26.04'te .NET 10: Kurulum ve Konteyner Rehberi23 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 ARM64 Azure Cosmos DB CI/CD deterministik test Docker lokal test vNext emulator
Önceki yazı

Azure Cosmos DB’de Bölüm Bazlı Otomatik Failover: Sessiz Devrim

Sonraki yazı

Azure Cosmos DB’de GSI: Okuma Yükünü Hafifletmenin Pratik Yolu

İlginizi Çekebilir

Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları
Aşkın KILIÇ 0

Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları

19/10/2026
Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
Aşkın KILIÇ 0

Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol

18/10/2026
Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
Aşkın KILIÇ 0

Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası

18/10/2026

2 comments

comments user
Arda K. 06/06/2026 11:58

Cosmos DB ile uğraşırken test aşamasında canlı ortama bağlanmak zorunda kalmak gerçekten can sıkıcıydı, bu emulator tam ihtiyaç duyduğum şeymiş. ARM64 desteği de önemli, M serisi Mac kullananlar için büyük kolaylık. Bu arada şu yazınız da güzeldi: Microsoft Foundry’de Ajanları Dağıtmak: Asıl Oyun Şimdi Başlıyor — https://www.askinkilic.com.tr/microsoft-foundryde-ajanlari-dagitmak-asil-oyun-simdi-basliy/

comments user
Aslı S. 06/06/2026 17:58

Tam ihtiyacım olan şeydi bu, CI pipeline’da Cosmos DB testleri için sürekli canlı ortama bağlanmak zorunda kalıyorduk. ARM64 desteği de var mı gerçekten, Apple Silicon’da sorunsuz çalışıyor mu?

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Visual Studio 2026 18.11: Sekmeleri Klavyeyle Taşıyın
    19/10/2026 Visual Studio 2026 18.11: Sekmeleri Klavyeyle Taşıyın
  • Visual Studio Subscription: VSLive! San Diego Dersleri
    19/10/2026 Visual Studio Subscription: VSLive! San Diego Dersleri
  • Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları
    19/10/2026 Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları
  • GitHub Copilot'ta Kaldırılan Modeller ve Geçiş Planı
    18/10/2026 GitHub Copilot’ta Kaldırılan Modeller ve Geçiş Planı
  • Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
    18/10/2026 Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • 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

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 OpenAI azure sdk Azure SQL CI/CD 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 Entra ID Microsoft Foundry otomasyon performans public preview Pull Request RAG REST API SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka 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ı 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 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 Bölüm Bazlı...
    Azure Cosmos DB’de GSI: Okuma ... →
    📩

    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