Bulut & Modernizasyon

Bulut Göçü & Uygulama Modernizasyonu: Cloud Migration

On-prem sunucularınızı ve bakımı zorlaşan eski monolit uygulamalarınızı, riski strangler-fig ile yöneterek kesintisiz buluta taşıyabiliyoruz: rehost / replatform / refactor, konteynerleştirme, CI/CD ve gözlemlenebilirlik.

Bakımı zorlaşan eski uygulama, kapasitesi dolmuş on-prem sunucu odası, her donanım yenilemesinde gelen büyük yatırım kalemi, Türkiye'deki orta ve büyük ölçekli işletmelerin teknoloji altyapısında çok yaygın bir tablo. Yıllar içinde büyümüş bir monolit uygulama tek bir sunucuda çalışıyor; onu yazan ekip çoktan dağılmış, kimse dokunmaya cesaret edemiyor, en küçük değişiklik bile haftalar sürüyor. Sunucular yaşlanıyor, UPS ve klima maliyeti birikiyor, yedekleme stratejisi "umarım çalışır" seviyesinde. Talep arttığında ölçeklenmek için yeni fiziksel sunucu sipariş edip aylarca beklemek gerekiyor. Dijital dönüşümün altyapı tarafında ilk müdahale ettiğimiz alan budur: on-prem ve eski monolitten çıkıp, riski yöneterek kademeli geçen, ölçeklenebilir, gözlemlenebilir ve maliyeti kontrol altında olan bir bulut mimarisine taşınmak.

On-Prem + Eski Monolit + Manuel Operasyonun Yarattığı Kayıplar

Eski monolit uygulamaya kimse dokunmak istemiyor; tek bir alan eklemek bile haftalar sürüyor, her sürüm gece yapılan riskli manuel bir operasyona dönüşüyor. Değişiklik hızı neredeyse durmuş.

On-prem sunucu odası kapasitesi dolmuş; yeni kapasite için fiziksel sunucu siparişi + kurulum 2-3 ay alıyor, talep artışına o anda yanıt verilemiyor, kampanya / sezon yoğunluğunda sistem çöküyor.

Sistem çöktüğünde 'gerçekte ne oldu' görünmüyor. Merkezi log yok, metrik yok, alarm yok; sorun çoğu zaman müşteri şikayetiyle öğreniliyor, kök neden saatlerce aranıyor.

Donanım, lisans, elektrik, klima, UPS ve yedek personel maliyeti sabit ve yüksek; kaynaklar gerçek kullanımdan bağımsız hep tam kapasite ödeniyor, gece boş duran sunuculara bile fatura geliyor.

Felaket kurtarma planı kâğıt üzerinde; yedekler test edilmemiş, tek lokasyon var. Ciddi bir donanım arızasında saatlerce, belki günlerce kesinti ve geri dönülemez veri kaybı riski masada.

Yaklaşımımız

Bulut göçü projelerinde işe kod yazarak değil, mevcut sistemin gerçek envanterini çıkararak başlamayı öneriyoruz. Hangi uygulamalar çalışıyor, birbirlerine nasıl bağlılar, hangi veritabanları var, trafiğin gerçek deseni ne, bunları çıkarmadan atılan her adım sonradan sürpriz üretiyor. Bu envanter üzerinden her iş yükü için 6R çerçevesinde bir karar veriyoruz: rehost (olduğu gibi taşı), replatform (küçük dokunuşlarla iyileştir), refactor (mimariyi yenile), repurchase (hazır SaaS'a geç), retain (şimdilik on-prem tut) ya da retire (kapat). Her uygulamayı refactor etmek zorunda değiliz; çoğu durumda doğru karar rehost ile hızlı taşıyıp, gerçek darboğaz neredeyse oraya yatırım yapmaktır. Hangi uygulamanın hangi muameleyi hak ettiğini iş değeri ve risk dengesine göre belirliyoruz.

İkinci kritik karar strangler-fig ile kademeli geçiş. Eski monoliti bir gecede mikroservise çevirmeye çalışan "büyük patlama" projeleri Türkiye'de de dünyada da en sık başarısız olan yaklaşım. Bunun yerine monolitin önüne bir API gateway / reverse proxy koymayı öneriyoruz; ardından her seferinde tek bir iş yeteneğini (fatura, kullanıcı yönetimi, raporlama gibi) ayrı bir servise çıkarıp trafiği parça parça yönlendiriyoruz. Eski kod, çıkarılan parça stabil çalışana kadar yedek olarak kalıyor. Böylece her adım küçük, test edilebilir ve geri alınabilir; iş süreçleri aylarca süren bir yeniden yazıma kilitlenmiyor. Bu yaklaşımın güzelliği, ilk haftadan itibaren üretimde değer görmeniz. Tüm sistemin bitmesini beklemiyorsunuz.

Üçüncü katman konteynerleştirme ve ölçeklenebilirlik. Uygulamaları Docker ile konteynerleştirip Kubernetes üzerinde çalıştırmayı öneriyoruz; böylece "benim makinemde çalışıyor" sorunu ortadan kalkıyor, dağıtım her ortamda aynı oluyor. Kubernetes HPA (Horizontal Pod Autoscaler) ile yük arttığında otomatik ölçekleniyor, düşük trafikte küçülüyor. Sabit büyük sunucu kirası yerine gerçek kullanım kadar ödeme. Altyapının tamamını Terraform ile kod olarak (IaC) yönetiyoruz; her kaynak versiyonlanmış, gözden geçirilebilir ve tekrar üretilebilir hale geliyor, "elle kurulmuş ve kimsenin nasıl olduğunu bilmediği" sunucu kalmıyor. AWS, Azure ya da GCP arasındaki seçimi mevcut yetkinliğinize, veri yerelliği gereksinimlerinize ve maliyet profilinize göre birlikte yapıyoruz.

Son katman CI/CD, gözlemlenebilirlik ve güvenli dağıtım. Her değişiklik GitHub Actions ya da GitLab CI ile otomatik test edilip dağıtılıyor; gece yapılan riskli manuel sürümler yerine, gün içinde küçük ve sık dağıtımlar geliyor. Prometheus + Grafana ile metrikleri, OpenTelemetry ile dağıtık izleri (distributed tracing) topluyoruz; bir istek hangi servislerden geçti, nerede yavaşladı net görünüyor. Üretime çıkışta blue-green ya da canary deploy kullanıyoruz: yeni sürüme trafiği önce yüzde 5, sorun yoksa yüzde 25, sonra tam açıyoruz. Bir aksilikte saniyeler içinde eski sürüme dönülebiliyor. Hedefimiz: dağıtım sıradan ve sıkıcı bir işlem olsun, herkesin nefesini tuttuğu bir gece operasyonu değil.

Süreç

01

Envanter & 6R Değerlendirmesi

Mevcut uygulamalar, bağımlılıklar, veritabanları ve trafik deseni çıkarılıyor. Her iş yükü için rehost / replatform / refactor / repurchase / retain / retire kararı iş değeri ve risk dengesine göre veriliyor.

02

Altyapı Temeli (IaC + Landing Zone)

Terraform ile AWS / Azure / GCP üzerinde landing zone, ağ, kimlik, güvenlik ve maliyet etiketleri kuruluyor. Her kaynak kod olarak versiyonlanıyor, elle kurulmuş gizemli sunucu kalmıyor.

03

Konteynerleştirme & Pilot Göç

Uygulamalar Docker ile konteynerleştirilip Kubernetes'e alınıyor. Veritabanı için DMS + CDC ile canlı senkron; düşük riskli bir servis pilot olarak buluta taşınıp doğrulanıyor.

04

Strangler-Fig ile Kademeli Modernizasyon

API gateway arkasında monolitten parça parça servisler çıkarılıyor, trafik kademeli yönlendiriliyor. Her adım küçük, test edilebilir ve geri alınabilir; üretimde değer ilk haftadan görülüyor.

05

CI/CD + Gözlemlenebilirlik + Devir

GitHub Actions / GitLab CI ile otomatik dağıtım, Prometheus + Grafana + OpenTelemetry ile izleme, blue-green / canary deploy. Ekip eğitimi, runbook'lar ve hyper-care ile devir tamamlanıyor.

Tercih Ettiğimiz Teknolojiler

Tipik tercihlerimiz aşağıdaki gibi; mevcut yığınınıza, bulut sağlayıcı tercihinize ve iş yükü profilinize göre uyarlıyoruz.

Teknik Stack
Docker (konteynerleştirme)Kubernetes (orkestrasyon + HPA)AWS / Azure / GCPTerraform (IaC)GitHub Actions / GitLab CIPrometheus + Grafana (metrik)OpenTelemetry (distributed tracing)PostgreSQL (yönetilen veritabanı)Redis (cache + queue)Strangler-fig patternBlue-green / canary deployAWS DMS / pgloader (veri göçü)

Sıkça Sorulan Sorular

Hayır, hedefimiz kesintisiz ya da minimum kesintili göç. Önce mevcut sistemi olduğu gibi buluta alıyoruz (rehost / lift-and-shift); yani uygulama davranışı değişmeden çalışmaya devam ediyor. Veritabanı tarafında AWS DMS, Azure DMS ya da pgloader gibi araçlarla önce tam bir başlangıç kopyası alıyor, ardından CDC (change data capture) ile canlı sistemdeki değişiklikleri sürekli yeni ortama akıtıyoruz. Geçiş anında DNS / load balancer seviyesinde trafik yeni ortama yönlendiriliyor; sorun çıkarsa eski ortama anında geri dönülebiliyor. Kritik servisler için blue-green ya da canary deploy ile trafiği önce yüzde 5, sonra yüzde 25, sonra tam açıyoruz. Tipik olarak gerçek kesinti birkaç dakikalık DNS yayılımıyla sınırlı kalıyor.

Bulut Göçü ve Modernizasyon İçin Görüşelim

15-30 dakikalık ücretsiz keşif görüşmesi. Mevcut altyapınızı, uygulama yığınınızı ve iş yükü profilinizi anlıyoruz; göç stratejisi, mimari yön ve net bir fiyat bandı veriyoruz.