İçindekiler
- 1 Serverless fonksiyonlar ve klasik VPS gerçekten rakip mi?
- 2 Serverless fonksiyonlar ve VPS’in temel farkları
- 3 Küçük uygulamalar için maliyet karşılaştırması
- 4 Performans: Gecikme, soğuk başlama ve stabilite
- 5 Yönetim, güvenlik ve operasyonel yük
- 6 Senaryo bazlı karar: Hangi durumda hangisi mantıklı?
- 7 Hibrit mimari: Serverless + VPS birlikte nasıl çalışır?
- 8 DCHost ile pratik karar rehberi
- 9 Özet ve hangi yoldan başlamak mantıklı?
Serverless fonksiyonlar ve klasik VPS gerçekten rakip mi?
Küçük bir API, basit bir panel ya da yeni doğmuş bir SaaS fikri… Mimari tasarlarken çoğu ekip aynı soruyla karşılaşıyor: “Serverless fonksiyonlar mı kullanalım, yoksa küçük bir VPS ile mi başlayalım?” Bu soruya net ve gerçekçi bir cevap vermek için maliyet, performans, esneklik ve operasyonel yükü birlikte düşünmek gerekiyor. Tek başına “daha ucuz” veya “daha modern” gibi etiketler çoğu zaman yanıltıcı oluyor.
Biz DCHost tarafında onlarca küçük uygulamanın önce serverless, sonra VPS ya da tam tersi yönde evrildiğine şahit olduk. En çok gözden kaçan nokta, trafik deseni (sabit mi, patlayıcı mı?), iş yükü tipi (uzun çalışan işler mi, kısa fonksiyon çağrıları mı?) ve ekibin teknik alışkanlıkları oluyor. Bu yazıda, özellikle küçük ve orta ölçekli uygulamalar için, serverless fonksiyonlar ile klasik VPS’i maliyet ve performans açısından detaylı karşılaştıralım; nerede hangisi mantıklı, nerede hibrit bir model daha sağlıklı, netleştirelim.
Okurken isterseniz elinizdeki projeyi de gözünüzün önüne getirin: Tipik günlük istek sayısı, en yoğun saatler, veritabanı yapınız, log ve izleme ihtiyacınız… Böylece yazının sonunda, kendi uygulamanız için somut bir yol haritanız olsun.
Serverless fonksiyonlar ve VPS’in temel farkları
Önce iki yaklaşımın çıplak halini tanımlayalım.
Serverless fonksiyonlar nedir?
Serverless fonksiyonlar, kodunuzu “fonksiyon” seviyesinde çalıştırdığınız, altyapı yönetimini büyük oranda servis sağlayıcıya bıraktığınız bir modeldir. Tipik özellikleri:
- İstek başına faturalama: Genellikle çağrı sayısı ve fonksiyonun çalıştığı süreye göre ücretlendirilirsiniz.
- Otomatik ölçeklenme: Trafik arttıkça, arka planda yeni fonksiyon kopyaları otomatik devreye girer.
- Altyapı soyutlama: İşletim sistemi, güvenlik yamaları, sunucu yönetimi gibi konularla doğrudan uğraşmazsınız.
- Durumsuz çalışma: Fonksiyonlar genellikle kısa ömürlü, disk durumu tutmayan, stateless yapılardır.
Klasik VPS nedir?
VPS (Virtual Private Server), bir fiziksel sunucunun üzerinde çalışan izole sanal sunucudur. Kendi işletim sisteminiz, firewall kurallarınız, web sunucunuz ve uygulama runtime’ınız sizin kontrolünüzdedir. Özellikleri:
- Sabit aylık maliyet: CPU, RAM, disk ve bant genişliği için önceden tanımlı bir ücret ödersiniz.
- Tam kontrol: İstediğiniz web sunucuyu, veritabanını, cache sistemini kurabilirsiniz.
- Sürekli çalışan süreçler: Uzun süreli çalışan worker, queue tüketicisi, WebSocket gibi bileşenler doğrudan mümkündür.
- Kaynak sınırları net: Kaç vCPU, ne kadar RAM ve IOPS olduğunuzu bilirsiniz; kapasite planlaması buna göre yapılır.
Eğer VPS dünyasına yeniyseniz, VPS hosting nedir ve küçük işletmeler için avantajları yazımız size genel çerçeveyi çizmekte yardımcı olabilir.
Küçük uygulamalar için maliyet karşılaştırması
Maliyet analizinde en kritik nokta, “nasıl trafik alıyorum?” sorusudur. Düşük ama sabit trafik ile düzensiz, patlayıcı trafik arasında serverless – VPS dengesini kökten değiştiren farklar var.
Serverless: İstek başı fiyatlandırmanın artıları ve eksileri
Serverless fonksiyonlarda tipik maliyet bileşenleri şunlardır:
- Fonksiyon çağrı sayısı (milyon istek başına fiyat)
- Çalışma süresi (ör. GB-saniye cinsinden)
- Ağ çıkışı (özellikle dışarıya veri gönderiyorsanız)
Avantajı, “kullandığın kadar öde” modelidir. Aylık birkaç bin istek alan bir webhook’unuz varsa, çoğu zaman hem operasyonel yük hem de maliyet açısından oldukça caziptir. Ancak küçük uygulamalar için sık yaptığımız bir hata var: Fonksiyonlar uzun çalışıyorsa (örneğin 10–20 saniyelik raporlama işlemleri) veya bellek ihtiyacı yüksekse, GB-saniye maliyeti hızla şişiyor.
Örneğin:
- Aylık 1 milyon istek
- Her istekte 512 MB bellek, ortalama 300 ms çalışma
Böyle bir senaryoda, orta boy bir VPS’in aylık sabit maliyetine oldukça yaklaşabilirsiniz. Trafik hızla 3–5 milyon isteğe çıkarsa, çoğu zaman ufak-orta bir VPS’in maliyetini aşmaya başlar.
VPS: Sabit maliyet ve doğru boyutlandırmanın etkisi
VPS tarafında baştan belirlenmiş bir aylık sabit maliyet vardır. Küçük bir uygulama için tipik olarak:
- 1–2 vCPU
- 2–4 GB RAM
- Hızlı SSD/NVMe disk
Bu kaynaklar, doğru cache ve veritabanı ayarlarıyla, saniyede onlarca – yüzlerce isteği rahatlıkla yönetebilir. Özellikle trafik sürekli ama orta seviye ise (örneğin her saat başı minik trafik pikleri olan SaaS panelleri veya B2B API’ler), sabit VPS maliyeti genellikle serverless’a göre daha öngörülebilir ve çoğu zaman daha düşük olur.
Burada asıl kritik konu, VPS’i fazla büyük seçip kaynak israfı yapmamak. DCHost olarak bu noktada, hosting maliyetlerini düşürme rehberimizde anlattığımız gibi önce küçük başlayıp, izlemelere göre yukarı ölçeklemeyi öneriyoruz.
Gizli maliyetler: Operasyon, loglama ve entegrasyonlar
Salt “sunucu faturası”na bakmak tek başına yeterli değil. Şu kalemleri de göz önünde bulundurmalısınız:
- Log ve izleme maliyetleri: Serverless’ta log satırları ve metrikler için ayrı ücretlendirme olabilir. VPS’te ise genellikle disk ve CPU’nun bir parçasıdır.
- Veritabanı ve kuyruk servisleri: Serverless mimaride veritabanı ve mesajlaşma sistemlerini genelde ek servisler olarak alırsınız; VPS’te çoğunu aynı sunucuda tutabilirsiniz (doğru planlama koşuluyla).
- Geliştirme zamanı: Serverless özelinde vendor’a özgü SDK, IAM, politika ve event yapısını öğrenmek de bir maliyettir. VPS’te ise klasik Linux, Nginx/Apache, PHP/Node.js/Java ekosisteminde kalırsınız.
Özetle, çok düşük ve seyrek trafik için serverless gerçekten ucuz ve pratik olabilir; ancak küçük ama düzenli trafiği olan projelerde, iyi boyutlandırılmış bir VPS çoğu zaman daha hesaplı ve basit hale gelir.
Performans: Gecikme, soğuk başlama ve stabilite
Maliyet kadar önemli diğer başlık performans. Kullanıcı deneyimini doğrudan etkileyen metrikler: cevap süresi, kararlılık ve tahmin edilebilir gecikme.
Serverless’ta soğuk başlama ve gecikme profili
Serverless fonksiyonların en çok konuşulan konusu soğuk başlama (cold start) problemidir. Uzun süre çağrılmayan bir fonksiyon, tekrar tetiklendiğinde:
- Fonksiyon container’ının ayağa kalkması
- Runtime’ın (Node.js, Python, PHP vb.) yüklenmesi
- Uygulama bağımlılıklarının başlatılması
gibi adımlardan geçtiği için ilk isteğe cevap süresi normalden çok daha uzun olabilir. Bu süre bazı ortamlarda yüzlerce milisaniyeden birkaç saniyeye kadar çıkabilir.
Eğer uygulamanız bir webhook tüketicisi ise (örneğin ödeme sağlayıcısından gelen bildirimler) bu gecikme çoğu senaryoda kabul edilebilir. Ancak kullanıcıların doğrudan beklediği bir REST API ya da gerçek zamanlıya yakın bir işlem yapıyorsanız, soğuk başlama sürelerini mutlaka hesaba katmanız gerekir.
VPS’te sürekli çalışan süreçlerin avantajı
VPS tarafında uygulamanız hep ayaktadır. Web sunucunuz (Nginx, Apache, LiteSpeed), uygulama süreçleriniz (PHP-FPM, Node.js process manager’ı, Java application server’ı) sürekli çalışır. Bu sayede:
- İlk istek ile sonraki istekler arasında dramatik bir fark olmaz.
- Ön bellekleme (opcode cache, object cache, HTTP cache) tutarlı şekilde çalışır.
- Performans ayarlarını (örneğin PHP-FPM veya Node.js worker sayısı) doğrudan sizin belirlediğiniz profilde tutabilirsiniz.
Özellikle WordPress, WooCommerce, Laravel veya Node.js tabanlı uygulamalar için VPS tarafındaki ince ayarların performansa etkisini ayrıntılı olarak, örneğin WordPress için sunucu tarafı optimizasyon rehberimizde detaylı anlattık. Küçük uygulamalarda bile doğru ayarlarla oldukça akıcı bir deneyim elde etmek mümkün.
IO yoğun işler, dosya işlemleri ve uzun süreçler
Serverless fonksiyonlar, kısa süreli ve CPU odaklı işlerde çok başarılıdır. Ancak:
- Uzun süren raporlama ve dış API çağrıları
- Büyük dosya işleme (video, yüksek çözünürlüklü görsel, PDF birleştirme vb.)
- Arka planda kuyruktan iş tüketen sürekli worker’lar
gibi senaryolarda, fonksiyon başına süre limitleri ve faturalama modeli dezavantaj haline gelebilir. Bu tip iş yüklerinde, iyi ayarlanmış bir VPS üzerindeki cron job’lar, queue worker’ları ve uzun ömürlü süreçler hem performans hem maliyet bakımından daha kontrollüdür.
Yönetim, güvenlik ve operasyonel yük
Karar verirken gözden kaçan ama uzun vadede en çok yoran alan: günlük operasyon. Loglar, güncellemeler, güvenlik yamaları, deploy süreçleri…
Serverless: Daha az sunucu yönetimi, daha çok servis entegrasyonu
Serverless kullanmanın en büyük avantajı, “sunucu” kavramıyla daha az uğraşmanızdır:
- İşletim sistemi güncellemesi, kernel patch, firewall gibi işler sizin sorumluluğunuzda değildir.
- Otomatik ölçeklenme, concurrency limiti, timeout vb. parametreleri panel veya YAML/JSON yapılandırmaları üzerinden yönetirsiniz.
- Serverless spesifik CI/CD, event tetikleyiciler, IAM politikaları gibi kavramlarla daha çok haşır neşir olursunuz.
Dezavantajı ise genellikle vendor kilidi ve debugging/izlenebilirliktir. Fonksiyonlar arası gecikmeyi, cold start etkisini, üçüncü parti entegrasyon hatalarını teşhis etmek için sağlayıcının sunduğu izleme ekosistemine daha bağımlı olursunuz.
VPS: Daha çok sorumluluk, daha fazla esneklik
VPS tarafında:
- Güvenlik duvarı, SSH ayarları, güncellemeler, backup stratejisi sizin kontrolünüzdedir.
- Buna karşılık monitoring, log toplama, alarmlar ve yedekleme süreçlerini istediğiniz araçlarla kurabilirsiniz.
- Farklı servisleri (web, veritabanı, cache, queue) aynı VPS üzerinde, kontrollü şekilde koşturabilirsiniz.
Biz DCHost olarak bu noktada, özellikle teknik ekibi olan küçük projelere, önce temel bir güvenlik ve izleme iskeleti kurmalarını öneriyoruz. Örneğin VPS sunucu güvenliği kontrol listesi ve VPS izleme ve uyarı rehberimiz, yeni açılan bir VPS’i birkaç saat içinde üretim için çok daha güvenli ve gözlemlenebilir hale getirmenize yardımcı olur.
Senaryo bazlı karar: Hangi durumda hangisi mantıklı?
Teoriden pratiğe geçelim. Küçük ve orta ölçekli projelerde en sık gördüğümüz senaryolara bakalım.
1. Seyrek tetiklenen webhook ve entegrasyon fonksiyonları
Örnekler:
- Ödeme sağlayıcısından gelen başarılı ödeme webhooks
- CRM veya ERP entegrasyonunda saatlik/dakikalık senkronizasyon fonksiyonları
- Form doldurulduğunda tetiklenen “arkaplanda e-posta gönder + CRM’e kaydet” fonksiyonları
Bu tip işlerde, istek sayısı genellikle düşüktür, ancak yüksek erişilebilirlik istersiniz. Serverless fonksiyonlar burada çok güçlü bir seçenek:
- Kullandığınız kadar ödersiniz.
- Altyapıyı siz ölçeklemezsiniz; tetiklemeler arttıkça otomatik ölçeklenir.
- Bakım maliyeti düşük, operasyon yükü minimaldir.
Bu yüzden “ana uygulama”nın dışında kalan, entegrasyon odaklı ve seyrek tetiklenen fonksiyonlar için serverless çoğu zaman ideal.
2. Küçük ama sürekli çalışan SaaS panelleri ve API’ler
Örnekler:
- Günlük 1.000–20.000 arası istek alan B2B SaaS panelleri
- Kurumsal müşterilere açık, istikrarlı trafikli REST API’ler
- Küçük kullanıcı tabanına sahip, iç kullanım odaklı dashboard’lar
Bu senaryolarda trafik genelde düzenli ve öngörülebilir olur. Kullanıcıların beklediği cevap süresi düşüktür ve her an erişilebilirlik önemlidir. Burada iyi boyutlandırılmış bir VPS, çoğu zaman:
- Daha düşük toplam maliyet (özellikle 7/24 çalışan, düzenli trafikte)
- Daha öngörülebilir performans (soğuk başlama yok, cache davranışı tutarlı)
- Veritabanı, cache, queue gibi bileşenleri aynı altyapıda yönetme imkanı
sunuyor. Bu tip projeler için küçük SaaS uygulamaları için en doğru hosting mimarisi yazımızı kesinlikle gözden geçirmenizi öneririz; tek VPS, çoklu VPS ve yönetilen bulut senaryolarını detaylı işledik.
3. IO yoğun, uzun süreli ve gerçek zamanlı işler
Örnekler:
- Gerçek zamanlı oyun sunucuları, sohbet uygulamaları, WebSocket bağlantıları
- Video işleme, transkodlama, büyük dosya upload/indirme işlemleri
- Uzun süren raporlama, ETL (Extract-Transform-Load) süreçleri
Bu tip işlerde, serverless fonksiyonlar şu nedenlerle genellikle dezavantajlı:
- Fonksiyon başına süre limitleri ve timeout kuralları
- Büyük dosya transferi ve disk IO için sınırlı esneklik
- Uzun çalışan süreçlerde hızla artan GB-saniye maliyeti
VPS ise burada doğal ortamıdır: Uzun süreli worker’lar, arka planda çalışan queue tüketicileri, streaming servisleri ve WebSocket’ler için klasik sanal sunucu hem esneklik hem maliyet hem de gözlemlenebilirlik açısından çok daha uygun.
4. Hızla büyüyebileceğini düşündüğünüz, ama henüz küçük olan SaaS fikri
Özellikle startup’larda sık gördüğümüz bir ikilem: “Şimdi serverless ile başlayalım, büyüyünce büyük bir mimariye geçeriz.” Kulağa mantıklı gelse de, çoğu kez zamanla artan komplekslik ve vendor bağımlılığı ciddi maliyet çıkarıyor. Biz DCHost tarafında çoğu küçük SaaS projesine şu stratejiyi öneriyoruz:
- Başlangıçta iyi boyutlandırılmış tek bir VPS ile başla.
- Uygulamayı temiz katmanlarla (API, ön yüz, queue, cron) ayır.
- Log ve metrikleri baştan düzgün topla.
- Trafik ve büyüme eğrisini 3–6 ay izle.
- Gerçekten ihtiyaç çıktığında, kritik bazı parçaları serverless’a taşı (örneğin yoğun resim işleme, raporlama gibi).
Böylece hem hızlı başlar, hem de erken aşamada karmaşık, dağınık bir mimariye sıkışmamış olursunuz.
Hibrit mimari: Serverless + VPS birlikte nasıl çalışır?
Pratikte en sağlıklı çözümlerden biri, hibrit mimari kurmaktır. Yani:
- Ana uygulama, API ve veritabanı DCHost VPS üzerinde çalışır.
- Belirli arka plan işlerini, seyrek tetiklenen fonksiyonları, entegrasyon webhooks’larını serverless üzerinden yürütürsünüz.
Örneğin Node.js tabanlı bir API’niz olduğunu düşünelim. Temel veritabanı okuma/yazma işlemleri, kimlik doğrulama ve panel, DCHost üzerindeki bir VPS’te Nginx + Node.js kombinasyonuyla koşar. Zaman zaman tetiklenen, CPU yoğun raporlama veya üçüncü parti API ile senkronizasyon fonksiyonlarınız ise serverless üzerinde çalışabilir. Node.js tarafını VPS’te yayınlama ile ilgili detayları Node.js uygulamalarını nerede host etmeli yazımızda oldukça ayrıntılı ele aldık.
Benzer şekilde Laravel, Symfony gibi PHP framework’leri için de benzer bir hibrit yaklaşım mümkün; ana uygulamayı VPS’te, ağır arka plan işlerini ise ayrı worker’lar ya da fonksiyon servisleri üzerinden koşturabilirsiniz.
DCHost ile pratik karar rehberi
Tüm bu bilgileri somut bir karar akışına dökelim. Yeni bir küçük uygulama için kendi kendinize şu soruları sorabilirsiniz:
- Aylık tahmini istek sayım nedir? 10–20 bin civarı ve üzerindeyse, düzenli trafikte genellikle küçük bir VPS daha avantajlıdır.
- İş yüküm sürekli mi, yoksa patlayıcı mı? Sürekli ise VPS, tamamen düzensiz ve seyrek ise serverless veya hibrit model mantıklı olabilir.
- İşlerim kısa ve stateless mi, yoksa uzun süreli ve IO yoğun mu? Uzun süreli, dosya ağırlıklı ve gerçek zamanlı işler için VPS çok daha kontrollü bir ortam sunar.
- Ekibimin uzmanlığı nerede? Klasik Linux + web sunucusu ekosistemine daha hakimsiniz, o zaman VPS ile hızlı ve güvenli ilerlemek çoğu zaman daha kolay.
- 3 yıl ileriye sararsam, vendor bağımlılığından rahatsız olur muyum? Eğer evet diyorsanız, çekirdeği VPS üzerinde tutup yalnızca belirli fonksiyonları serverless’a taşımak daha doğru.
Bu sorulara verdiğiniz cevaplarla birlikte, DCHost tarafında sunulan VPS, dedicated ve gerekirse colocation seçeneklerini bir araya getirerek hem maliyet hem performans açısından dengeli bir mimari kurabilirsiniz. Donanım tarafında daha derine inmek isterseniz, dedicated sunucu mu VPS mi? yazımız, uzun vadeli ölçeklenme senaryolarında da fikir verecektir.
Özet ve hangi yoldan başlamak mantıklı?
Serverless fonksiyonlar ile klasik VPS aslında birbirinin tam alternatifi değil; farklı iş yükleri için optimize edilmiş araçlar. Küçük projeler özelinde tabloyu sadeleştirecek olursak:
- Tamamen seyrek tetiklenen entegrasyonlar, webhook tüketicileri ve kısa süreli fonksiyonlar için serverless çoğu zaman maliyet ve operasyon açısından rahattır.
- Düzenli trafiği olan küçük SaaS uygulamaları, iç kullanım panelleri, e-ticaret benzeri API’ler için iyi boyutlandırılmış bir VPS hem daha ekonomik hem de daha öngörülebilir performans sunar.
- Gerçek zamanlı, IO yoğun ve uzun süreçli işler için VPS neredeyse zorunludur.
- Uzun vadede esneklik ve vendor bağımsızlığı istiyorsanız, çekirdeği VPS üzerinde tutup, yalnızca belirli arka plan işlerini serverless’a taşımak en sağlıklı hibrit modeldir.
DCHost ekibi olarak, yeni bir projeye başlarken önce küçük, temiz mimarili bir VPS ile başlamayı; loglama, izleme ve yedeklemeyi ilk günden kurmayı; trafik ve kullanım verilerini birkaç ay izledikten sonra serverless veya ek VPS’lerle ölçeklemeyi öneriyoruz. Başlangıç noktanızı seçmekte zorlanıyorsanız, mevcut planınızı ve trafik beklentinizi bizimle paylaşın; birlikte hem maliyet hem de performans açısından en mantıklı DCHost altyapısını planlayalım.
