Dağıtım Nedir: Aşamalar, Stratejiler, Araçlar ve En İyi Uygulamalar
Dağıtım (dağıtım işlemi)
17 Eylül 2025
güncellendi: 6 Kasım 2026
Er ya da geç her şirket aynı noktaya gelir: Geliştirici kod yazımını tamamlamıştır, kalite güvencesi ekibi uygulamayı test etmiştir, tasarımcı arayüzün son halini onaylamıştır — ve şu soru ortaya çıkar: Elde ettiğimiz sonucu kullanıcılara nasıl sunacağız? Cevap, kodları çalışan bir ürüne dönüştüren yazılım geliştirmenin kilit bir parçası olan dağıtımdır.
Kısa bir bakışla dağıtım
Dağıtım, tamamlanmış yazılımı kullanıcıların internet üzerinden erişebileceği bir sunucuya veya bulut altyapısına yerleştirme sürecidir. Bu süreç, bir geliştiricinin yerel bir makinede yazdığı kodu, dünyanın her yerinden insanların erişebileceği çalışan bir uygulamaya dönüştürür.
Dağıtım, birbirini izleyen beş aşamadan oluşur: kodun hazırlanması ve sürüm kontrolü aracılığıyla sunucuya aktarılması; bağımlılıkların yüklenmesi ve uygulamanın tek bir çalıştırılabilir paket haline getirilmesi; veritabanı ve yapılandırmanın güncellenmesi (göç işlemlerinin yürütülmesi dahil); trafiğin yönlendirilmesi sırasında eski sürümün durdurulması ve yeni sürümün başlatılması; izleme ve durum kontrolleri ile sorun tespit edildiğinde otomatik geri alma.
Ekipler, proje gereksinimlerine göre bir dağıtım stratejisi seçer: Planlı kesinti süresi olan basit projeler için Big Bang Dağıtımı; hizmeti durdurmadan sunucuları kademeli olarak güncellemek için Aşamalı Dağıtım; iki özdeş ortam arasında anında geçiş yapmak için Mavi-Yeşil Dağıtım; değişiklikleri küçük bir kullanıcı grubunda test etmek için Kanarya Dağıtımı; Koddaki anahtarlar aracılığıyla işlevselliği kontrol etmek için Özellik Bayrakları Dağıtımı.
Günümüzde dağıtım, kodun kaydedilmesinden üretime kadar her adımın otomatikleştirilmesine dayanmaktadır. CI/CD platformları, insan müdahalesi olmadan derleme, test ve dağıtım işlemlerini gerçekleştirir. Konteyner teknolojileri, uygulamaların paketlenme şeklini standartlaştırır ve orkestrasyon sistemleri hizmet yaşam döngüsünü yönetir. Altyapı olarak kod araçları, ekiplerin sunucu ortamını bildirimsel olarak tanımlamasına olanak tanıyarak ortamın tekrarlanabilir ve sürümlenebilir olmasını sağlar.
Basit bir ifadeyle dağıtım nedir?
Dağıtım, tamamlanmış bir yazılımı, kullanıcıların internet üzerinden erişebileceği bir sunucuya veya bulut altyapısına yerleştirme sürecidir. Basitçe ifade etmek gerekirse, dağıtım, bir geliştiricinin yerel bir bilgisayarda yazdığı kodu, dünyanın her yerinden insanların kullanabileceği çalışan bir uygulamaya dönüştürür.
Bir restoran için basit bir web sitesi oluşturduğunuzu hayal edin. Dosyalar bilgisayarınızda kaldığı sürece, sizden başka kimse bunları göremez. Restoran sahibi ve misafirlerinin siteyi açabilmesi için tüm dosyaları bir web sunucusuna taşıymanız, alan adını yapılandırmanız ve uygulamayı başlatmanız gerekir. Bu sürecin tamamına dağıtım denir.
Dağıtım, birkaç temel adımı içerir:
uygulama dosyalarını sunucuya yüklemek;
çalışma ortamını yapılandırmak ve gerekli bağımlılıkları yüklemek;
veritabanlarını ve harici hizmetleri bağlamak;
uygulamayı başlatmak ve çalıştığını kontrol etmek;
kullanıcılara yeni sürüme erişim izni vermek.
Dağıtım için çeşitli yöntemler vardır. Basit durumlarda, bir geliştirici dosyaları barındırma sağlayıcısına manuel olarak yükleyebilir. Karmaşık projelerde ise, her işlemi insan müdahalesi olmadan gerçekleştiren otomatik sistemler kullanılır: kodu depoya gönderirsiniz ve sistem, uygulamanın yeni sürümünü kendi başına derler, test eder ve başlatır.
Dağıtım, yepyeni ürünlerin yanı sıra mevcut hizmetlere yönelik güncellemeleri de içerebilir. En sevdiğiniz mobil uygulama size bir güncelleme yüklemenizi istediğinde, bu dağıtımın işleyişidir: geliştiriciler, dağıtım sürecinin her aşamasından geçmiş yeni bir sürümü yayınlamışlardır.
Dağıtım neden önemlidir?
Dağıtım, temel sorunu çözer: yazılımı kullanıcıların erişimine açar. Dağıtım olmazsa, en mükemmel kod bile geliştiricinin bilgisayarında kalır ve kimseye fayda sağlamaz.
Ürünü kullanıma sunmak. Bir web sitesinin tarayıcıda açılması, bir mobil uygulamanın App Store'dan yüklenmesi, bir kurumsal sistemin çalışanlar tarafından erişilebilir olması gerekir. Dağıtım, geliştirme ile ürünün gerçek dünyadaki kullanımı arasındaki boşluğu doldurur.
Güvenli ve istikrarlı geliştirme. Geliştirme sürecinde hatalar kaçınılmazdır: kod geçici olarak çalışmayabilir, dosyalar yanlışlıkla silinebilir. Bir geliştirici doğrudan üretim sunucusunda çalışırsa, kullanıcılar tüm bu sorunları gerçek zamanlı olarak görür. Dağıtım, ekiplerin kodu güvenli bir ortamda test etmesine ve doğrulamasına, ardından bitmiş sürümü dikkatli bir şekilde üretime aktarmasına olanak tanır.
Kalite kontrolü. Otomatik testler kodun çalıştığını doğrular, izleme sistemleri performansı takip eder ve yedeklemeler, bir arıza sonrasında hizmetin hızlı bir şekilde geri yüklenmesini mümkün kılar. İyi yapılandırılmış bir dağıtım süreci, değişiklikler kullanıcılara ulaşmadan önce son kalite kontrol hattı görevi görür.
Daha hızlı sürüm yayınları. Dağıtım otomasyonu olmadan, her güncelleme ekibin önemli ölçüde çaba sarf etmesini gerektirir. Geliştirici, dosyaları manuel olarak kopyalamak, ortamı yapılandırmak, veritabanını güncellemek ve her şeyin çalıştığını kontrol etmek zorundadır. Otomatik dağıtım, ekiplerin güncellemeleri daha sık ve daha hızlı yayınlamasına olanak tanır — bazen ayda birkaç kez yerine günde düzinelerce kez.
Kesinti süresini en aza indirme. Günümüzün dağıtım yaklaşımları, hizmeti durdurmadan uygulamaları güncellemeyi mümkün kılar. Kullanıcılar, güncellemeden haberdar olmadan çalışmaya devam eder. Bu teknikler, kesinti süresinin her dakikasının gelir veya itibar kaybı anlamına geldiği ticari web siteleri ve iş açısından kritik sistemler için özellikle önemlidir.
Önceki sürümlere geri dönme. Bazen yeni bir sürüm, testler sırasında tespit edilemeyen kritik hatalar içerebilir. İyi organize edilmiş bir dağıtım süreci, ekibin hızlı bir şekilde önceki çalışan sürüme dönmesini sağlayarak kullanıcılar ve işletme üzerindeki etkiyi en aza indirir.
Dağıtım stratejileri
Geliştirme ekipleri, projenin niteliğine, kararlılık gereksinimlerine ve mevcut kaynaklara bağlı olarak farklı dağıtım stratejileri kullanır. Her yaklaşımın, doğru stratejiyi seçerken dikkate alınması gereken avantajları ve sınırlamaları vardır.
Big Bang Dağıtımı
En basit seçenek: Uygulamanın eski sürümü, tek seferde tamamen yenisiyle değiştirilir. Bu, yara bandını bir çırpıda çekip çıkarmak gibidir — hızlıdır, ancak acı verir. Ekip, çalışan uygulamayı durdurur, yeni sürümü yükler ve uygulamayı başlatır. Bu yaklaşım, planlı bir kesinti süresini gerektirir ancak dağıtımın karmaşıklığını en aza indirir. Küçük projeler veya mimari ya da veritabanında yapılan temel değişiklikler nedeniyle iki sürümün bir arada çalıştırılamadığı durumlar için uygundur.
Aşamalı Dağıtım
Birden fazla sunucuda çalışan bir sistemin aşamalı olarak güncellenmesidir. Süreç, bir sunucuyu yük dengeleyiciden çıkararak, üzerindeki uygulamayı güncelleyerek ve tekrar hizmete sokarak başlar. Aynı prosedür daha sonra kalan sunucular için tekrarlanır. Bu yaklaşım, hizmet kesintisini önler: kullanıcılar diğer sunuculardaki uygulamayla çalışmaya devam eder. Ancak süreç daha uzun sürer ve sorunlar ancak birkaç sunucu güncellendikten sonra ortaya çıkabilir.
Mavi-Yeşil Dağıtım
Yaygın olarak kullanılan bir yaklaşımdır. Sistem, "mavi" ve "yeşil" olmak üzere iki özdeş üretim ortamı barındırır. Biri kullanıcılara hizmet verirken, diğeri yedekte kalır. Yeni sürüm, aktif olmayan ortama dağıtılır ve burada kapsamlı bir şekilde test edilir. Doğrulama tamamlandıktan sonra, yük dengeleyici trafiği saniyeler içinde güncellenmiş ortama yönlendirir. Sorun ortaya çıkarsa, anında önceki sürüme geri dönebilirsiniz. Bu yaklaşımın dezavantajı, iki kat daha fazla altyapı bakımı gerektirmesidir.
Kanarya Dağıtımı
Kanarya dağıtımı, madencilerin tehlikeli gazları erken tespit etmek için yeraltına götürdükleri kuşların adını almıştır. Yeni sürüm, genellikle %1–5 gibi küçük bir kullanıcı grubuna sunulur. Ekip, hata oranı, yanıt süresi ve kullanıcı davranışı gibi temel metrikleri izler. Rakamlar sabit kalırsa, dağıtım kademeli olarak genişletilir. Sorun tespit edilirse, yeni sürüm hızla devre dışı bırakılır. Bu yaklaşım, ekiplerin değişiklikleri gerçek kullanıcılar üzerinde minimum riskle test etmesine olanak tanır.
Özellik Bayrakları Dağıtımı
Yeni işlevlerin üretim ortamına etkinleştirilmemiş halde dağıtıldığı ve koddaki özel anahtarlar aracılığıyla etkinleştirildiği bir yaklaşımdır. Geliştiriciler, belirli kullanıcı grupları, coğrafi bölgeler ve hatta bireysel hesaplar için işlevleri etkinleştirebilir. Özellik bayrakları, uygulamayı yeniden başlatmadan sorunlu işlevleri anında devre dışı bırakmayı ve yeni özelliklerin A/B testlerini yürütmeyi mümkün kılar.
Dağıtımın ana aşamaları
Yazılım dağıtımı, her biri uygulamanın üretim ortamında başarılı bir şekilde başlatılması için kritik öneme sahip olan birkaç ardışık aşamadan oluşur.
Aşama 1. Kodun hazırlanması ve sunucuya aktarılması
Geliştiriciler, kodun tamamlanmış sürümünü genellikle Git gibi bir sürüm kontrol sistemine kaydeder. Otomatik CI/CD sistemleri, kodu depodan alır ve derlemeyi başlatır. Bu aşamada sözdizimi kontrol edilir, otomatik testler çalıştırılır ve kod kalitesi doğrulanır. Kontroller başarılı olursa, sistem bir dağıtım artefaktı oluşturur — çalıştırılmaya hazır bir uygulama paketi. Kod arşivlenir ve güvenli kanallar üzerinden hedef sunuculara aktarılır.
2. Aşama. Bağımlılıkların yüklenmesi ve uygulamanın derlenmesi
Sistem, projenin yapılandırma dosyalarında listelenen tüm kütüphaneleri, çerçeveleri ve bileşenleri yükler. JavaScript uygulamaları için bunlar npm paketleri, Python için pip modülleri, Java için ise Maven veya Gradle bağımlılıkları olabilir. Ardından son sürüm derlenir: kaynak kodu derlenir, JavaScript ve CSS küçültülür, görüntüler optimize edilir ve tek bir yürütülebilir dosya veya Docker konteyneri oluşturulur.
3. Aşama. Veritabanının ve yapılandırmanın güncellenmesi
Veritabanı geçişleri çalıştırılır — bu, tablo yapısını değiştiren ve yeni alanlar, dizinler veya kısıtlamalar ekleyen komut dosyalarıdır. Yapılandırma dosyaları, harici hizmetlere bağlanma ayarları, performans parametreleri ve ortam değişkenleri ile güncellenir. Sistem, uygulamanın yeni sürümünün mevcut verilerle uyumlu olup olmadığını kontrol eder ve gerekirse iş açısından kritik bilgileri yedekler.
4. Aşama. Eski sürümün durdurulması ve yeni sürümün başlatılması
Seçilen dağıtım stratejisine bağlı olarak, çalışan uygulama kademeli olarak veya anında değiştirilir. Mavi-Yeşil yaklaşımda trafik yeni ortama yönlendirilir; Rolling yaklaşımda ise sunucular tek tek güncellenir. İzleme sistemi, başlatmanın başarılı olup olmadığını takip eder: hizmet kullanılabilirliğini, yanıt süresini ve kritik hataların bulunmadığını kontrol eder. Sorunlar tespit edilirse, önceki sürüme otomatik geri dönüş tetiklenir.
5. Aşama. İzleme ve durum kontrolleri
Başarılı bir başlatmanın ardından, dağıtım sonrası izleme aşaması başlar. Günlük kaydı sistemleri, uygulamanın nasıl davrandığına dair bilgileri toplar ve APM araçları, performansı ve yanıt sürelerini izler. Ekip, dönüşüm, sayfa yükleme süresi ve hata oranı gibi temel iş metriklerini kontrol eder. Smoke testleri, uygulamanın temel işlevselliğini otomatik olarak doğrular. Gerektiğinde, dağıtımdan sonraki ilk saatlerde olası sorunları ekibe bildirmek üzere uyarılar yapılandırılır.
Araçlar
Dağıtım ekosistemi, yazılım teslim sürecindeki belirli görevleri yerine getiren birçok özel araç içerir. Doğru seçim, teknoloji yığınına, ekip büyüklüğüne ve otomasyon gereksinimlerine bağlıdır.
Sürekli entegrasyon ve teslimat platformları
CI/CD platformları, kod kaydetme işleminden üretim ortamına dağıtım sürecine kadar olan yolu otomatikleştirir. Bulut tabanlı seçenekler, minimum kurulumla kullanıma hazır altyapı sunarken, kendi sunucularında barındırılan seçenekler süreç üzerinde tam kontrol sağlar. Günümüz platformları, paralel işleri, aşamalar arası koşullu geçişleri ve izleme sistemleriyle entegrasyonu destekler. Belirli bir çözümün seçimi, kullanılan sürüm kontrol sistemine, güvenlik gereksinimlerine ve ekibin bütçesine bağlıdır.
Yazılım geliştirme yaşam döngüsü yönetim sistemleri
Özel SDLC sistemleri, görev yönetimi, sürüm planlaması ve geliştirme araçlarıyla entegrasyonu bir araya getirir. Örneğin, SimpleOne SDLC, birikmiş iş planlamasından bir sürümdeki görevlerin durumunun izlenmesine kadar geliştirme sürecinin uçtan uca yönetimini sağlar. Platform, sürüm kontrol sistemleriyle entegre olur ve kod değişikliklerini geliştirme görevlerine otomatik olarak bağlar; bu da sürüm hazırlığını basitleştirir ve değişikliklerin etkisini izlemeyi kolaylaştırır.
Konteynerleştirme ve orkestrasyon
Konteyner teknolojileri, uygulamaların paketlenme şeklini standartlaştırarak, ortamdan bağımsız olarak dağıtımı öngörülebilir hale getirir. Orkestrasyon sistemleri, konteyner yaşam döngüsünü yönetir ve arızalardan sonra otomatik ölçeklendirme ve kurtarma sağlar. Görüntü oluşturma araçları, ekiplerin uygulama ortamını kod olarak tanımlamasına olanak tanıyarak altyapıyı tekrarlanabilir ve sürümlenebilir hale getirir.
Bulut platformları
Önde gelen bulut sağlayıcıları, basit PaaS platformlarından sofistike orkestratörlere kadar uçtan uca dağıtım çözümleri sunar. Birçok kuruluş için veri yerleşimi ve uyumluluk gereksinimleri de iş yüklerinin nerede çalıştırılacağına dair seçimi şekillendirir. Sağlayıcı seçimi, teknik gereksinimler, kullanıcıların coğrafi konumu ve kurumsal güvenlik politikası tarafından belirlenir.
Kod olarak altyapı araçları
IaC çözümleri, ekiplerin sunucu altyapısını bildirimsel yapılandırmalar olarak tanımlamasına olanak tanır. Ekipler, uygulama koduyla aynı güvenilirlikle ortamları sürümleyebilir, test edebilir ve yeniden oluşturabilir. Yapılandırma yönetim sistemleri, değişiklikleri dağıtmak için push veya pull modellerini kullanarak, aracı yazılım yüklemeden sunucu kurulumunu otomatikleştirir.
Kesintisiz Dağıtım
Kesintisiz Dağıtım, güncelleme süreci boyunca uygulamanın kullanıcılar için erişilebilir kalmasını sağlayan bir dağıtım stratejisidir. Bu yaklaşım, kesintinin her dakikasının müşteri ve gelir kaybı anlamına geldiği ticari hizmetler için hayati önem taşır.
Nasıl çalışır
Sıfır Kesinti'nin temel fikri, uygulamanın yeni sürümünün eskisini değiştirmek yerine onunla birlikte çalışmasıdır. Yük dengeleyici, kullanıcı trafiğini eski sürümden güncellenmiş sürüme kademeli olarak aktarır. Eski sürüm, ancak yeni sürüm tamamen doğrulandıktan sonra nihayet devre dışı bırakılır. Bu yaklaşım, dikkatli bir mimari planlama gerektirir: uygulama, aynı anda çalışan birkaç sürümü desteklemelidir.
Mimari gereksinimler
Uygulamalar durum bilgisi içermeyen şekilde tasarlanmalıdır: tüm kullanıcı oturum durumları, sunucu belleğinde değil harici sistemlerde (Redis, veritabanları) depolanır. Veritabanı, geçiş süreci boyunca uygulamanın hem eski hem de yeni sürümüyle uyumlu kalmalıdır. Bileşenler arasındaki API'ler geriye dönük uyumlu olmalı veya arayüz sürümlemeyi desteklemelidir.
Mavi-Yeşil stratejisi
Sıfır Kesinti'yi uygulamak için en yaygın yöntemdir. Sistem, "mavi" ve "yeşil" olmak üzere iki özdeş üretim ortamı barındırır. Mavi ortam kullanıcılara hizmet verirken, yeşil ortam bekleme modunda kalır. Yeni sürüm, aktif olmayan ortama dağıtılır ve tam olarak test edilir. Doğrulama tamamlandığında, yük dengeleyici tüm trafiği anında güncellenen ortama yönlendirir. Herhangi bir sorun tespit edilirse, bir önceki sürüme aynı hızla geri dönebilirsiniz.
Aşamalı güncellemeler
Birçok sunucuda çalışan sistemler için alternatif bir yaklaşımdır. Güncelleme kademeli olarak gerçekleşir: sunucular yük dengeleyiciden birer birer çıkarılır, güncellenir ve tekrar hizmete alınır. Süreç, tüm örnekler güncellenene kadar devam eder. Bu yöntem, Mavi-Yeşil yöntemine göre daha az kaynak gerektirir, ancak önceki sürüme geri dönmek daha uzun sürer.
İzleme ve kontroller
Uçtan uca izleme olmadan sıfır kesinti süresi imkansızdır. Durum kontrolleri, güncellemeden sonra hizmetin kullanılabilirliğini otomatik olarak doğrular. Duman testleri, temel işlevselliği doğrular. APM sistemleri, yanıt süresini, hata oranını ve kaynak tüketimini izler. Eşik değerleri aşıldığında, sistem otomatik olarak geri dönüş işlemini başlatır. Gerçek zamanlı uyarılar, herhangi bir anormallik olması durumunda ekibi bilgilendirir.
Dağıtım sorunları ve bunlardan kaçınma yolları
Dikkatli bir hazırlık yapılsa bile, dağıtım sırasında uygulamayı kesintiye uğratan veya hizmet kesintisine neden olan sorunlar ortaya çıkabilir. Tipik arızaları anlamak ve bunlara önceden hazırlanmak, ekibin olaylara hızlı bir şekilde müdahale etmesine ve kullanıcılar üzerindeki etkisini en aza indirmesine yardımcı olur.
Sorun
Nasıl önlenir
Dağıtımdan sonra uygulama çökmeleri ve kritik hatalar
Katmanlı bir kontrol seti kullanın: temel kullanılabilirlik için durum kontrolleri, temel işlevler için duman testleri ve kritik kullanıcı yolculukları için uçtan uca testler.
Temel metriklerin (yanıt süresi, hata oranı ve kaynak tüketimi) otomatik izlenmesini ayarlayın.
Yük testlerini, yapılandırma ve veri hacmi açısından üretim ortamına mümkün olduğunca yakın bir hazırlık ortamında gerçekleştirin
Veritabanı uyumsuzluğu ve veri kaybı
Veritabanı geçişlerini kod dağıtımından ayrı olarak gerçekleştirin ve bunları üretim verilerinin bir kopyası üzerinde test edin.
Geriye dönük uyumlu şema değişiklikleri yapın: yeni alanları nullable olarak ekleyin ve sütunları hemen silmeyin.
Her dağıtımdan önce, test edilmiş bir geri yükleme prosedürüyle yedek alın.
Şemayı iki adımda değiştirmek için genişletme-daraltma modelini uygulayın
Güncelleme sırasında kaybolan kullanıcı oturumları ve kesintiye uğrayan işler
Oturum durumunu uygulama belleğinde değil, Redis veya veritabanı gibi harici sistemlerde saklayın.
Kullanıcıları belirli sunuculara bağlamak için yük dengeleyicide "sticky session" özelliğini kullanın.
Etkin istekleri tamamlayan ve yük dengeleyiciye örneğin çevrimdışı hale getirilmeye hazır olduğunu bildiren düzgün kapatma işlemini uygulayın
Geliştirme, hazırlık ve üretim ortamları arasında yapılandırma ve ortam sapmaları
Altyapıyı bildirimsel olarak tanımlamak için "Altyapı olarak Kod" (Infrastructure as Code) yaklaşımını kullanın.
Her değişikliğin izlenebilmesi için tüm yapılandırmaları sürüm kontrolünde tutun.
Konteynerleştirme ve orkestrasyon ile aynı ortamların oluşturulmasını otomatikleştirin.
Değişmez altyapı ilkesini izleyin: mevcut sunucuları değiştirmeyin, sıfırdan yenilerini oluşturun
Yavaş dağıtımlar ve önceki sürüme yavaş geri dönüş
Çok aşamalı derlemeler, katman önbellekleme ve minimal temel görüntülerle Docker görüntülerini optimize edin.
CI/CD boru hattındaki işleri paralel hale getirin ve ara sonuçları önbelleğe alın.
Önceki sürümleri çalışmaya hazır durumda tutun.
Hızlı geçiş ve geri dönüş için Mavi-Yeşil dağıtım veya kanarya sürümlerini kullanın
Kaynak yetersizliği ve paralel dağıtımlar arasındaki çakışmalar
Dağıtım süresince sunucu kapasitesini %30–50'lik bir yedekle planlayın.
Bulutta altyapı otomatik ölçeklendirme özelliğini kullanın.
Eşzamanlı dağıtımları önlemek için otomatik boru hattı kilitlerini yapılandırın.
Net bir zaman çizelgesi ve sorumlu kişiler içeren bir değişiklik yönetimi süreci aracılığıyla sürümleri planlayın
Harici bağımlılık ve entegrasyonlardaki arızalar
API'nin harici hizmetlerle uyumluluğunu doğrulamak için sözleşme testlerini kullanın.
Testleri izole tutmak için test ortamında harici bağımlılıkları kontrol edin.
Geçici arızalara dayanmak için devre kesici modelini ve yeniden deneme mekanizmalarını uygulayın.
İş açısından kritik harici hizmetlerin kullanılabilirliğini izleyin ve hizmetler kesintiye uğradığında uyarı verin