
Staging ortamı nedir sorusu, canlıya doğrudan deploy riskini azaltmak isteyen ekipler için temel bir başlangıç noktasıdır. Bu rehberde dev, staging ve production rollerini, veri kopyalama kurallarını ve küçük ekiplerin uygulayabileceği sade ayrım modelini anlatıyoruz.
Yazılımı doğrudan canlıya taşımak, özellikle sipariş, ödeme veya müşteri verisi işleyen sistemlerde pahalı hatalara yol açabilir. Bu yüzden ekipler kodu, veriyi ve erişim yetkilerini ayrı ortamlarda yönetir. Staging ortamı nedir sorusuna verilecek net yanıt, canlıya çıkmadan önce gerçekçi test ve onay alanını tanımlar. Bu rehber, KOBİ ölçeğinde dev, staging ve production ayrımını; roller, veri kuralları ve sade bir işletme modeli üzerinden açıklar.
Amaç üç sunucu kurmak değil; değişikliğin nerede yazılacağını, nerede doğrulanacağını ve nerede müşteriye açılacağını netleştirmektir. KepezWeb gibi özel yazılım ve dijital çözüm ekiplerinde bu ayrım, teslim kalitesini korumanın pratik çerçevesidir.
Staging ortamı nedir?
Staging, production’a mümkün olduğunca benzeyen, ancak gerçek müşteri trafiğine kapalı bir ön-canlı ortamdır. Burada yeni sürüm, entegrasyon, yetki ve arayüz değişiklikleri canlıya çıkmadan önce denetlenir.
Staging’i “geliştiricinin bilgisayarı” ile karıştırmamak gerekir. Geliştirici makinesi hızlı deneme içindir; staging ise ekip ve iş biriminin ortak doğrulama alanıdır. Staging’de yapılan test, canlıdaki konfigürasyona, üçüncü taraf servislere ve yayın sürecine yakın olmalıdır.
Pratikte staging şu sorulara cevap verir:
- Bu sürüm production’a taşınmaya hazır mı?
- Kritik kullanıcı akışları bozuluyor mu?
- Yetki, form, e-posta ve entegrasyonlar beklenen gibi çalışıyor mu?
- Geri alma planı net mi?
Staging olmadığında bu kontroller çoğu zaman canlıda, müşteri etkisini gördükten sonra yapılır. KOBİ’lerde ekip küçük olsa bile staging, riski erken yakalamanın en sade yöntemlerinden biridir.
Dev, staging ve production: üç ortamın rolü
Üç ortam aynı uygulamanın farklı yaşam aşamalarını temsil eder. Karışıklık genelde isimlendirmeden değil, kimin neyi nerede yapacağının belirsiz kalmasından çıkar.
Development (dev)
Dev, kodun yazıldığı ve birim düzeyinde denendiği alandır. Hatalı denemeler, yarım kalan özellikler ve deneysel değişiklikler burada kalmalıdır. Dev verisi genelde sahte veya minimaldir; gerçek müşteri kaydı kullanılmaz.
Staging
Staging, “canlıya yakın doğrulama” alanıdır. Yayın adayını, iş birimi veya ürün sahibinin de görebileceği şekilde sunar. Mümkün olduğunca production ile aynı sürüm, benzer altyapı ve benzer konfigürasyon kullanılır. Farklar bilinçli ve belgelenmiş olmalıdır.
Production
Production, gerçek kullanıcıların eriştiği canlı sistemdir. Burada değişiklik yalnızca onaylanmış sürümle ve kontrollü deploy ile yapılmalıdır. Canlıda “hızlı düzeltme” alışkanlığı, ortam ayrımını fiilen ortadan kaldırır.
| Ortam | Amaç | Kim kullanır? | Veri yaklaşımı |
|---|---|---|---|
| Dev | Geliştirme ve hızlı deneme | Geliştirici ekip | Sahte / minimal veri |
| Staging | Yayın öncesi doğrulama | Ekip + iş birimi | Maskeli veya sınırlı kopya |
| Production | Gerçek kullanım | Son kullanıcılar | Gerçek iş verisi |
Bu tabloyu ekip içinde tek cümleyle de özetleyebilirsiniz: dev’de yazılır, staging’de onaylanır, production’da çalışır.
Veri kopyalama kuralları: staging’i güvenli tutmak
Staging’in en sık bozulan kısmı veri yönetimidir. Production’dan ham kopya almak hızlı görünür; ancak kişisel veri, ödeme bilgisi ve operasyonel kayıtlar staging’e kontrolsüz taşındığında hem güvenlik hem hukuki risk artar.
KOBİ’ler için uygulanabilir kurallar şunlardır:
- Canlı veriyi varsayılan kaynak yapmayın. Staging için önce sentetik veya anonimleştirilmiş veri seti tercih edin.
- Kopya gerekiyorsa maskeleyin. Ad, e-posta, telefon, adres ve kimlik benzeri alanları bozun veya karıştırın.
- Ödeme ve gizli anahtarları ayırın. Staging’de gerçek ödeme sağlayıcı anahtarları, SMS kredisi veya canlı e-posta gönderimi kullanmayın.
- Staging’den production’a veri yazmayın. Akış tek yönlü olmalıdır: production’dan kontrollü kopya mümkün; staging’den canlıya veri aktarımı ise istisna ve risklidir.
- Erişimi daraltın. Staging URL’si herkese açık olmamalı; en azından temel erişim kontrolü ve test hesabı politikası bulunmalıdır.
Veri kuralı netleşmeden staging “yarı canlı”ya dönüşür. Bu da hem test güvenilirliğini hem müşteri güvenini zayıflatır. Özellikle e-ticaret veya müşteri paneli içeren projelerde maskeleme ve test anahtarı ayrımı, ortam modelinin parçası sayılmalıdır.
Küçük ekipler için sade ayırma modeli
KOBİ yazılım ekiplerinde üç tam kopya altyapı her zaman mümkün olmayabilir. Önemli olan isim plakası üretmek değil, riski azaltan minimum disiplini kurmaktır.
Sade bir model şöyle kurulabilir:
- Dev: Yerel geliştirme veya paylaşımlı geliştirme sunucusu.
- Staging: Production ile aynı deploy yöntemiyle beslenen tek ortak test ortamı.
- Production: Canlı sistem; yalnızca onaylı sürüm alır.
Küçük ekipte şu işletim kuralları çoğu karmaşık aracı gereksiz kılar:
- Kod main/trunk hattına ancak gözden geçirme sonrası girer.
- Staging’e her aday sürüm otomatik veya yarı otomatik deploy edilir.
- Staging’de kısa bir duman testi (login, kritik form, ödeme simülasyonu, temel liste ekranı) yapılır.
- İş birimi onayı olmadan production’a geçilmez.
- Production deploy sonrası hızlı sağlık kontrolü yapılır; sorun varsa geri alma yolu bellidir.
Bu model, tek kişilik veya birkaç kişilik ekiplerde bile uygulanabilir. Önemli olan “her şeyi her yerde denemek” alışkanlığını bırakmaktır. KepezWeb projelerinde de benzer sade ayrım, kapsamı büyütmeden yayın riskini düşürmek için sık kullanılır.
Canlıya doğrudan deploy riskini azaltan kontrol listesi
Ortamları ayırdıktan sonra asıl fark, yayın anındaki disiplinde ortaya çıkar. Aşağıdaki kontrol listesi, staging’i gerçek bir kapı haline getirir:
- Değişiklik kapsamı yazılı mı? Hangi ekran, API veya rapor etkileniyor?
- Staging’de kritik akışlar test edildi mi?
- Migrasyon / şema değişikliği varsa geri dönüş planı var mı?
- Özellik bayrağı veya kademeli açılış mümkün mü?
- Log, hata izleme ve yedekleme production’da hazır mı?
- Kim onayladı, kim deploy edecek, kim izleyecek net mi?
Bu maddeler bürokrasi için değil; “ne bozulursa ne yapacağız” sorusunu önceden cevaplamak içindir. Özellikle performans veya yük riski taşıyan özelliklerde, staging doğrulamasını yazılım performans testi adımlarıyla birleştirmek faydalıdır.
Yeni bir ürün veya belirsiz entegrasyon söz konusuysa ortam ayrımı tek başına yetmeyebilir. Bu durumda önce sınırlı bir deneme ile riski küçültmek gerekir; proof of concept yazılım yaklaşımı tam da bu belirsizliği erken ve kontrollü test etmek için kullanılır.
Sık yapılan hatalar ve pratik düzeltmeler
Ortam ayrımı kağıt üzerinde vardır ama uygulamada bozulur. En sık görülen hatalar şunlardır:
- Staging’i unutmak: Acil talep gerekçesiyle doğrudan production’a çıkmak. Düzeltme: acil durum için bile kısa staging doğrulaması zorunlu kılın.
- Konfigürasyon kayması: Staging ile production farklı eklenti, PHP sürümü veya gizli anahtar kullanır. Düzeltme: ortam farklarını listeleyin ve bilinen farklar dışında eşitleyin.
- Gerçek veri sızıntısı: Maskesiz canlı kopya staging’de dolaşır. Düzeltme: kopyalama betiğine maskeleme ekleyin veya sentetik veri kullanın.
- Herkesin her yere erişmesi: Geliştirici, stajyer ve iş birimi aynı yetkilerle production’a girer. Düzeltme: production erişimini daraltın; staging’i test hesabıyla yönetin.
- Onaysız hotfix kültürü: Canlıda “bir satır düzeltme” kalıcı yöntem olur. Düzeltme: hotfix bile kayıt altına alınsın ve staging’den geçsin.
Bu hataların ortak sonucu, ortamların isim olarak kalıp davranış olarak birleşmesidir. İsim plakası değil, davranış ayrımı korunmalıdır.
Ortam ayrımını yol haritasına bağlamak
Dev-staging-production ayrımı yalnızca teknik bir altyapı kararı değildir; ürün ve teslim planının parçasıdır. Hangi özelliğin önce, hangisinin sonra çıkacağı net değilse staging onayı da rastgeleleşir. Bu yüzden ortam modelini, yazılım yol haritası ile birlikte düşünmek gerekir.
Yol haritasında her önemli teslim için şunları belirtin:
- Özellik hangi ortamda ne zaman denenecek?
- Kabul kriteri nedir?
- Staging onayı kimden gelecek?
- Production’a çıkış penceresi ne zaman?
Bu bağ kurulduğunda staging, “son dakika ekran gösterisi” olmaktan çıkar; planlı bir kalite kapısı haline gelir. Özel geliştirme ihtiyacı olan ekipler için yazılım geliştirme sürecinde ortam ayrımı, teslim ve bakım disiplininin görünür parçası olmalıdır.
Sıkça Sorulan Sorular
Staging ortamı nedir, test ortamından farkı var mı?
Staging, canlıya en yakın doğrulama ortamıdır. Genel “test ortamı” ifadesi bazen yalnızca geliştirici denemelerini de kapsar. Staging’de amaç, production benzeri koşullarda yayın adayını onaylamaktır.
Küçük bir ekipte üç ortam şart mı?
İdeal olan üçlü ayrımdır; ancak en azından dev ile production arasına kontrollü bir staging/onay adımı koymak çoğu KOBİ için yeterince güçlü bir başlangıçtır. Önemli olan adımın atlanmamasıdır.
Staging’de gerçek müşteri verisi kullanılmalı mı?
Varsayılan olarak hayır. Gerçek veri gerekiyorsa maskeleme, erişim kısıtı ve test anahtarı ayrımı zorunlu düşünülmelidir. Amaç gerçekçiliği artırmak, kişisel veriyi gereksiz yere kopyalamak değildir.
Production’da acil düzeltme gerektiğinde ne yapılmalı?
Acil düzeltme bile mümkünse kısa bir staging doğrulamasından geçmelidir. Düzeltme kayda alınmalı, sonra kalıcı sürece dahil edilmelidir. Aksi halde acil çözümler birikir ve ortam disiplini bozulur.
Staging ile production birebir aynı olmalı mı?
Mümkün olduğunca yakın olmalıdır. Bilinçli farklar (test ödeme, kapalı arama motoru erişimi, farklı alan adı) belgelenmelidir. Belgesiz farklar, “staging’de çalıştı canlıda bozuldu” sorunlarının ana kaynağıdır.
Ortam ayrımı, yazılımı daha yavaş değil; daha öngörülebilir hale getirir. Staging ortamı nedir sorusunu netleştirdikten sonra sıradaki adım, ekibinizin dev-staging-production kurallarını yazılı hale getirmek ve her yayında bu kurallara sadık kalmaktır. KepezWeb ile özel yazılım veya dijital ürün sürecinizi planlamak isterseniz, kapsamınıza uygun yaklaşımı birlikte netleştirmek için teklif al sayfasından bize ulaşabilirsiniz.


