Cloud server ile tek tuşla staging ve production geçişi

Modern yazılım geliştirme süreçlerinde “staging” ve “production” ortamlarının doğru yönetimi, yazılımın kararlılığı ve sürekli teslimat kabiliyeti açısından kritik öneme sahiptir. Cloud server altyapısı bu süreçleri otomatize ederek, staging’den production’a geçişi tek bir komutla veya butonla gerçekleştirmeye olanak tanır. Bu entegrasyon, DevOps kültürünün temel yapı taşlarından biridir.


1. Staging ve Production Ortamlarını Ayırmak

Cloud server üzerinde staging (ön izleme/test) ve production (canlı) ortamlar genellikle aşağıdaki yöntemlerle ayrılır:

  • Farklı sanal makineler veya container’lar (örn. Docker)
  • Ayrı subdomain veya IP adresleri
  • Farklı veritabanı kopyaları

Bu sayede staging ortamında yapılan testler, production ortamını etkilemez.


2. Kod Entegrasyonu: CI/CD Pipeline Oluşturmak

Kod değişikliklerinin staging ortamına otomatik deploy edilmesi için bir CI/CD (Continuous Integration/Continuous Deployment) süreci kurulmalıdır.

Kullanılabilecek araçlar:

  • GitLab CI/CD
  • GitHub Actions
  • Jenkins
  • Bitbucket Pipelines

Bu araçlar aracılığıyla staging ortamına otomatik deploy yapılabilir. Sonrasında production’a geçiş için onay (manual trigger) eklenebilir.


3. Tek Tuşla Geçiş İçin Pipeline Ayarı

Staging’den production’a geçişi tek tuşla yapmak için pipeline’a “manual approval” aşaması veya özel bir trigger eklenebilir. Örneğin:

deploy_to_production:
stage: deploy
script:
- ./deploy.sh production
when: manual
only:
- main

Bu yapı sayesinde bir “deploy” butonuna basarak staging ortamındaki testleri geçen versiyon canlıya alınabilir.


4. Blue-Green Deployment veya Canary Release Kullanımı

Tek tuşla geçişi daha güvenli hâle getirmek için aşağıdaki dağıtım stratejileri kullanılabilir:

  • Blue-Green Deployment: Mevcut production ortamı (blue) çalışırken, staging’de test edilen versiyon (green) hazır hâle getirilir. Tek tuşla geçişte tüm trafik yeni ortama yönlendirilir.
  • Canary Release: Yeni versiyon, kullanıcıların küçük bir yüzdesine sunulur. Sorun çıkmazsa tüm trafiğe açılır.

Bu stratejiler, yüksek trafikli uygulamalarda kesintisiz geçişe yardımcı olur.


5. Rollback Kolaylığı

Cloud server altyapısında versiyon kontrol sistemleri (Git) ve otomatik yedekleme sayesinde geçiş sonrası sorun yaşanırsa eski sürüme hızlıca dönülebilir.


6. Güvenlik ve Erişim Yetkilendirmesi

Geçiş işlemleri yalnızca belirli yetkilere sahip kullanıcılar tarafından yapılmalıdır. Bu amaçla:

  • IAM (Identity and Access Management) ile yetkilendirme yapılmalı
  • Audit log sistemiyle kim, ne zaman, hangi sürümü geçirdi takip edilmelidir

Örnek Araçlar:

  • Terraform + Ansible ile altyapının kodla yönetimi
  • Docker + Kubernetes ile uygulama konteynerizasyonu ve orkestrasyonu
  • ArgoCD / FluxCD ile GitOps yaklaşımıyla tek tuş deploy

Sonuç

Cloud server altyapısı sayesinde staging ve production ortamları arasında güvenli, kontrol edilebilir ve hızlı geçişler yapılabilir. CI/CD sistemlerinin doğru kurulumu, bu geçişin tek tuşla ve risksiz gerçekleşmesini sağlar.

Vps.com.tr