Teknoloji

Headless CMS ve Jamstack Siteler İçin Hosting Rehberi: Statik Build, Object Storage ve Serverless Fonksiyonlar

İçindekiler

Headless CMS ve Jamstack Siteler İçin Neden Ayrı Bir Hosting Stratejisi Gerekir?

Headless CMS ve Jamstack mimarileri, klasik “PHP + MySQL + paylaşımlı hosting” dünyasından oldukça farklı çalışır. İçerik yönetimi bir yerde, frontend uygulaması başka yerde, araya da statik build süreçleri ve serverless fonksiyonlar girer. Bu kadar parçalı bir yapıda, doğru hosting modellerini seçmezseniz build süreleri uzar, dağıtımlar karmaşıklaşır ve performans anlamında beklediğiniz “uçan kaçan site” deneyimini yaşayamazsınız.

Ajanslarla ve ürün ekipleriyle yaptığımız mimari tasarım görüşmelerinde, özellikle headless WordPress, Strapi, Directus, Ghost, Sanity vb. çözümlerle geliştirilen Jamstack projelerde hep benzer sorular geliyor: “Statik build nerede koşsun?”, “Object storage mı klasik web sunucusu mu?”, “Serverless fonksiyonları gerçekten kullanmalı mıyım, yoksa küçük bir VPS mi yeter?”. Bu rehberde, tam olarak bu sorulara cevap veriyoruz.

DCHost altyapısında Jamstack projeler barındıran müşterilerimizden edindiğimiz saha deneyimlerini, pratik örnekler ve mimari şemalarla anlatacağız. Amaç; tek bir “mükemmel mimari”yi dayatmak değil, ihtiyacınıza göre seçim yapabilmeniz için artıları, eksileri ve maliyet etkilerini netleştirmek.

Headless CMS ve Jamstack Mimarisi Kısaca

Headless CMS nedir?

Headless CMS, geleneksel WordPress gibi “tek parça” çalışan sistemlerden farklı olarak, içerik yönetimi katmanını (admin panel, içerik modelleri, medya yönetimi) sunum katmanından (tema, frontend) ayırır. İçerik genellikle JSON API veya GraphQL üzerinden servis edilir; frontend tarafında ise React, Vue, Svelte gibi framework’ler veya statik site jeneratörleri bu veriyi tüketir.

Jamstack yaklaşımı nasıl çalışır?

Jamstack (JavaScript, API, Markup) yaklaşımında temel fikir, mümkün olan her şeyi build anında üretmek ve canlı ortamda olabildiğince az sunucu tarafı işlem bırakmaktır. Tipik akış şöyle olur:

  • İçerik editörü Headless CMS üzerinde içerik günceller.
  • Git deposuna (örneğin Next.js, Nuxt, Astro projeniz) yeni kod push’lanır veya CMS’den bir webhook tetiklenir.
  • Build sistemi projeyi derler, HTML/CSS/JS ve statik JSON dosyaları üretir.
  • Ortaya çıkan statik çıktılar bir origin’e yüklenir: klasik web sunucusu, object storage veya her ikisinin kombinasyonu.
  • CDN, bu origin’i ön belleğe alarak globalde milisaniyeler seviyesinde cevap verir.

SSR (server-side rendering) veya edge functions gibi hibrit senaryolarda işler biraz daha karmaşıklaşır. Bu durumlar için daha önce detaylı anlattığımız Next.js ve Nuxt uygulamaları için doğru hosting mimarisi yazısına mutlaka göz atmanızı öneririz.

Jamstack projenin bileşenleri

Bir Jamstack / headless CMS projesini hosting açısından 4 ana parçaya bölebiliriz:

  • Headless CMS backend: WordPress (headless), Strapi, Directus, Ghost vb. – genellikle PHP veya Node.js tabanlıdır.
  • Statik site jeneratörü / frontend: Next.js, Nuxt, Gatsby, Astro, Eleventy vb.
  • Statik build çıktısının barındırılması: Web sunucusu (Nginx/Apache/LiteSpeed) veya object storage + CDN.
  • Serverless fonksiyonlar / API katmanı: Ödeme webhooks, form işlemleri, resim dönüştürme gibi “dinamik ama küçük” işleri üstlenir.

Bu parçaların her biri için doğru hosting modelini seçmek, performans, güvenlik ve maliyet üçgeninde dengeli bir mimari kurmanın anahtarıdır.

Statik Build Süreci Nerede Çalışmalı?

Jamstack projelerde en kritik ama en çok ihmal edilen konu, “build nerede koşuyor?” sorusudur. Küçük projelerde local makinede build alıp çıktıyı FTP ile yüklemek mümkün olsa da, ekip büyüdükçe ve içerik güncelleme sıklığı arttıkça bu model hızla sürdürülemez hale gelir.

3 temel build yaklaşımı

DCHost müşterilerinde sık gördüğümüz üç ana senaryoyu özetleyelim:

  1. Geliştiricinin makinesinde build + manuel deploy
  2. CI/CD servisi üzerinde build + otomatik deploy
  3. Kendi VPS’inizde self-hosted CI + build + deploy

1) Lokal build + manuel deploy (küçük projeler)

Tek geliştirici tarafından yönetilen küçük blog veya landing page projelerinde, lokal build hâlâ makul bir seçenek olabilir. Akış şöyle olur:

  • Geliştirici local ortamda npm run build ile projeyi derler.
  • out veya dist klasörünü klasik hosting hesabına veya object storage’a yükler.
  • CDN varsa önbellek temizlenir.

Avantajı, ek maliyet yaratmaması ve kurulumunun çok basit olmasıdır. Dezavantajı ise tamamen geliştirici bilgisayarına bağımlı olması, tutarlı build ortamı sağlamaması ve build sürelerinin ölçülemez hale gelmesidir. Ekip büyüdüğünde ve staging ortamları devreye girdiğinde bu model sürdürülebilir değildir.

2) Harici CI/CD servisi ile build (çoğu ekip için ideal başlangıç)

Git deposuna her push’ta tetiklenen build’ler, bugün Jamstack projeler için varsayılan kabul edilen yaklaşım. Burada önemli olan; build çıktısını nereye gönderdiğinizdir:

  • FTP/SFTP ile bir DCHost paylaşımlı hosting hesabına veya VPS’e deploy
  • Object storage bucket’ına doğrudan upload (statik hosting)
  • Hem web sunucusuna hem object storage’a karma deploy (örneğin HTML’ler web sunucusunda, medya object storage’ta)

Bu modelde build paralelleştirilebilir, her branch için ayrı önizleme ortamı kurulabilir, testler otomatik koşabilir. Özellikle Git ile otomatik deploy süreçlerini kurduğunuzda, Jamstack projenizi klasik PHP uygulamalarıyla aynı pipeline içine bile oturtabilirsiniz.

3) Kendi VPS’inizde self-hosted CI (kontrol ve gizlilik isteyen ekipler)

Kurumsal ekipler veya GDPR/KVKK sebebiyle kaynak kodunu üçüncü taraf servislerden geçirmek istemeyen projeler için, build sürecini kendi VPS’inize çekmek iyi bir çözümdür. DCHost üzerinde ayrılmış bir VPS’e GitLab CI runner, Jenkins veya benzeri bir aracı kurarak şu akışı sağlayabilirsiniz:

  • Geliştirici Git repo’ya push atar.
  • Self-hosted runner, ilgili commit’i çekip npm install + npm run build adımlarını çalıştırır.
  • Oluşan statik çıktıyı aynı VPS üzerindeki Nginx kök dizinine veya ayrı bir object storage bucket’ına yükler.

Bu yaklaşım size şu avantajları sağlar:

  • Build ortamının CPU/RAM kaynaklarını doğrudan siz belirlersiniz.
  • Kurumsal ağdan erişim, VPN, IP kısıtlama gibi güvenlik ihtiyaçları daha rahat sağlanır.
  • Özellikle büyük monorepo’larda build sürelerini optimize etmek daha kolay olur.

Statik Çıktıyı Nerede Barındırmalı? Web Sunucusu vs Object Storage

Jamstack mimarinin asıl gücü burada ortaya çıkar: Ortada PHP veya Node.js’in sürekli çalıştığı bir uygulama yoktur; sadece statik dosyalar vardır. Bu noktada iki ana seçeneğiniz var: Klasik web sunucusu (Nginx/Apache/LiteSpeed) veya object storage tabanlı statik hosting.

Klasik web sunucusu ile statik hosting

Bu modelde build çıktısını bir DCHost paylaşımlı hosting hesabına veya VPS/dedicated sunucuya koyarsınız. Nginx ya da Apache, bu statik dosyaları doğrudan servis eder. CDN kullanıyorsanız, CDN’in origin’i bu web sunucusudur.

Avantajları:

  • Yıllardır bildiğimiz, olgunlaşmış bir mimari.
  • Basit projelerde ek bir servis (object storage) öğrenmeden yola çıkabilirsiniz.
  • Gerekirse aynı sunucu üzerinde basit API’ler, cron job’lar veya arka plan işleri de çalıştırabilirsiniz.

Dezavantajları:

  • Yüksek trafik altında disk IOPS ve bağlantı sayısı web sunucusunu yorabilir.
  • Çok bölgeye yayılmak istediğinizde, her bölge için ayrı origin kurmak zorunda kalırsınız.
  • Statik dosya sayısı arttıkça (on binlerce HTML/asset) deploy ve rsync süreleri uzar.

Object storage ile tamamen statik origin

Object storage, dosyaları “nesne” olarak tutan ve HTTP üzerinden servis eden dağıtık bir depolama yapısıdır. S3 uyumlu çözümler bunun en bilinen örneğidir. Daha önce object storage’ı web site origin’i olarak kullanmak yazımızda bu modeli detaylı anlatmıştık.

Jamstack projelerde tipik akış şöyle olur:

  • Build sonrası oluşan tüm HTML, CSS, JS ve asset’ler bir object storage bucket’ına yüklenir.
  • Bucket, “static website hosting” veya benzeri bir mod ile origin gibi davranacak şekilde ayarlanır.
  • CDN, origin olarak bu bucket’ı kullanır; çoğu zaman web sunucusuna hiç ihtiyaç kalmaz.

Avantajları:

  • Teorik olarak sınırsız ölçeklenebilirlik ve çok yüksek eşzamanlı istek kapasitesi.
  • Statik dosyalar için son derece ekonomik depolama maliyeti.
  • Birden fazla bölgeye replikasyon, multi-region origin gibi gelişmiş senaryolar.

Dezavantajları ise şunlar olabilir:

  • .htaccess gibi klasik web sunucusu özelliklerini kullanamazsınız; yönlendirme ve kurallar CDN veya uygulama tarafında çözülür.
  • Dinamik iş yüklerini (PHP/Node.js) aynı origin üzerinde çalıştırmanız mümkün değildir; mutlaka ayrı bir API katmanı gerekir.
  • Başlangıçta bucket politikaları, erişim izinleri, HTTPS sertifikası gibi konuları öğrenmeniz gerekir.

Hibrit model: HTML web sunucusunda, medya object storage’ta

Özellikle headless WordPress projelerinde sık kullandığımız bir yöntem, HTML üretimini klasik web sunucusunda, medya dosyalarını ise object storage’ta tutmaktır. WordPress tarafında media offload eklentileri ile yüklenen görseller otomatik olarak object storage’a aktarılır. Bu mimariyi adım adım anlattığımız object storage ile medya offload stratejisi yazımızı da inceleyebilirsiniz.

Bu sayede:

  • Frontend tarafında nispeten küçük bir dosya setini deploy edersiniz (HTML + kritic JS/CSS).
  • Ağır statik içerik (görseller, videolar, PDF’ler) object storage + CDN üzerinden ölçeklenir.
  • Origin değişimi veya taşıma süreçlerinde medya dosyalarıyla uğraşmanız gerekmez.

Headless CMS Backend’ini Nereye Koymalı?

Frontend’i statik hale getirseniz bile, arka planda mutlaka bir içerik kaynağınız var: WordPress, Strapi, Ghost, özel bir Laravel paneli vb. Bu katman genellikle ziyaretçiye doğrudan açılmaz; sadece build sırasında veya authenticated admin kullanıcılarına hizmet verir. Dolayısıyla hosting stratejisi de biraz farklıdır.

Seçenek 1: Paylaşımlı hosting (sadece küçük headless WordPress projeleri)

Basit bir headless WordPress kurulumunda, admin panelini DCHost paylaşımlı hosting üzerinde barındırıp, frontend’i tamamen ayrı bir yerde (statik olarak) yayınlamak mümkün. Ancak şu sınırlamalara dikkat etmek gerekir:

  • Yoğun REST API trafiği ve çok sık build alan projelerde, paylaşımlı hosting limitlerine takılabilirsiniz.
  • Arka planda çalışan cron job’lar ve arka plan queue işleri için esnek alanınız azdır.
  • Güvenlik tarafında IP kısıtlama, mTLS, özel firewall kuralları gibi gelişmiş önlemler genellikle VPS/dedicated ortamda daha rahat uygulanır.

Bu yüzden, headless WordPress + Next.js gibi senaryolarda orta ve uzun vadede VPS’e geçmek çoğu zaman daha sağlıklı olur. Bu mimariyi headless WordPress + Next.js hosting rehberi yazımızda detaylandırdık.

Seçenek 2: VPS üzerinde CMS + API

Jamstack ve headless CMS projeleri için en esnek ve dengeli çözüm, CMS backend’ini DCHost üzerinde ayrılmış bir VPS’e koymaktır. Böylece:

  • CPU, RAM ve disk kaynaklarını içerik editör sayınıza ve API trafiğinize göre boyutlandırabilirsiniz.
  • Güvenlik duvarı, VPN, mTLS, IP kısıtlama gibi kurumsal ihtiyaçları rahatlıkla karşılayabilirsiniz.
  • Gerekirse aynı VPS üzerinde basit arka plan işçileri (queue workers), thumbnail generator’lar veya webhook işleyiciler de çalıştırabilirsiniz.

Headless WordPress, Laravel veya Node.js tabanlı panel fark etmeksizin; doğru kaynak boyutlandırması için yeni web sitesi için CPU, RAM ve trafik nasıl hesaplanır rehberindeki prensipleri Jamstack projelere de uygulayabilirsiniz.

Seçenek 3: Dedicated veya colocation (yüksek trafik ve kurumsal gereksinimler)

Çok sayıda editörü olan, yoğun API trafiği üreten veya KVKK/GDPR gereği verisini tamamen kendi kontrolünde tutmak isteyen kurumlarda, CMS backend’ini dedicated sunucuya veya colocation ortamına almak mantıklı hale gelir. Özellikle:

  • Büyük medya arşivleri (haber siteleri, arşiv portalları)
  • Çok dilli, çok markalı headless yapılarda onlarca siteyi besleyen tek CMS
  • Verinin ülke sınırları içinde kalmasının zorunlu olduğu sektörler

Bu durumda Jamstack mimariyi; statik frontend’in global CDN üzerinden, CMS ve veritabanının ise DCHost veri merkezlerindeki dedicated veya colocation altyapısında çalıştığı hibrit bir yapıya dönüştürmek mümkün.

Serverless Fonksiyonlar Jamstack’te Nereye Oturur?

Jamstack projelerin “tamamen statik” olamadığı yerlerde, genellikle serverless fonksiyonlar devreye girer. Örnekler:

  • Ödeme sağlayıcısından gelen webhook’ların işlenmesi
  • İletişim formları, anketler, lead toplama formları
  • Gerçek zamanlı olmayan ama “dinamik” diyebileceğimiz API uçları (arama önerisi, kullanıcıya özel alanlar)
  • On-the-fly görsel yeniden boyutlama, thumbnail üretimi

Seçenek 1: Harici bir serverless servisi kullanmak

En yaygın model; global bir serverless platformunda fonksiyonları barındırmak ve Jamstack frontend’den bu fonksiyonlara HTTPS üzerinden istek göndermektir. Bu durumda hosting mimariniz kabaca şöyle görünür:

  • Statik frontend: Object storage + CDN veya web sunucusu + CDN
  • Headless CMS: DCHost VPS/dedicated
  • Serverless fonksiyonlar: Harici FaaS platformu

Avantajları; yüksek ölçeklenebilirlik, bölgesel dağıtım ve kullanım başına ödeme modelidir. Dezavantajı ise vendor lock-in ve gecikme sürelerinin her zaman tam kontrolünüzde olmamasıdır.

Seçenek 2: VPS üzerinde “kendi serverless” ortamınızı kurmak

Daha fazla kontrol isteyen ekipler, DCHost üzerinde ayrılmış bir VPS veya birkaç VPS üzerinde kendi FaaS benzeri ortamlarını kurabiliyor. Basit haliyle bile şu mimari iş görür:

  • Fonksiyonlarınızı küçük Node.js/Go servisleri olarak Docker container’larında paketlersiniz.
  • Nginx veya özel bir gateway ile bu servisleri tek bir API alan adının altında toplarsınız.
  • Otomatik ölçeklendirme için container orchestrator (Kubernetes, Nomad vb.) kullanabilirsiniz.

Bu yaklaşım; “serverless fonksiyonlar mı klasik VPS mi?” ikilemini tartıştığımız serverless fonksiyonlar vs klasik VPS rehberindeki “çok kiracılı mini servisler” senaryosu ile oldukça benzerdir.

Seçenek 3: Küçük projelerde serverless yerine tek VPS kullanmak

Küçük ve orta ölçekli çoğu headless proje için dürüst olmak gerekirse ayrı bir serverless platformuna hemen atlamaya gerek yok. Çoğu zaman:

  • Headless CMS
  • Küçük bir REST/GraphQL API
  • Webhook işlemleri

tek bir DCHost VPS üzerinde rahatlıkla yönetilebilir. Jamstack’in getirdiği performans kazancının büyük kısmı, zaten statik build + CDN sayesinde elde edilir. Geriye kalan “ufak dinamik parçalar”ı gereğinden fazla karmaşık hale getirmek, operasyon yükünü arttırmaktan başka bir işe yaramayabilir.

Performans, Güvenlik ve Maliyet Açısından Karşılaştırma

Performans

  • Statik build + object storage + CDN: En yüksek performans potansiyeline sahip model. TTFB değerleri çok düşer, Core Web Vitals metrikleri iyileşir. Detaylar için Core Web Vitals’ı hosting tarafında iyileştirmek rehberindeki önbellekleme ve CDN önerilerini Jamstack projelerinize de uygulayabilirsiniz.
  • Statik build + klasik web sunucusu: Doğru yapılandırılmış Nginx/LiteSpeed ile hâlâ çok hızlıdır. Küçük projeler için çoğu zaman yeterlidir.
  • SSR ağırlıklı hibrit modeller: Her istekte sunucu tarafı render çalıştığı için, altyapı zayıfsa TTFB yükselir. Bu durumda güçlü VPS veya dedicated sunucu şart hale gelir.

Güvenlik

  • Statik frontend, üzerinde çalışacak kod olmadığı için saldırı yüzeyini ciddi ölçüde küçültür.
  • Headless CMS backend’ini VPN veya IP kısıtlaması ile sadece ekip üyelerine açabilirsiniz.
  • Serverless fonksiyonlar, doğru kurgulanmadığında yeni bir saldırı yüzeyi oluşturur; özellikle kimlik doğrulama ve rate limiting mutlaka düşünülmelidir.

Jamstack projelerde özellikle önem verdiğimiz konulardan biri de DNS ve TLS tarafının sağlam kurulması. DNS kayıtları A’dan Z’ye rehberi ve HTTP güvenlik başlıkları rehberi Jamstack projelerinizi yayına alırken elinizin altında olması gereken iki temel kontrol listesi.

Maliyet

Jamstack’in doğru kurulduğunda en güzel yanlarından biri, maliyeti son derece öngörülebilir hale getirmesidir:

  • Frontend tarafında, çoğu zaman sadece depolama + trafik ve varsa CDN maliyetiniz olur.
  • Headless CMS ve olası API’leriniz için, trafik ve editör yoğunluğuna uygun büyüklükte bir DCHost VPS veya dedicated sunucu seçersiniz.
  • Serverless fonksiyonlar kullanıyorsanız, istek sayısı ve yürütme süresi üzerinden ayrı bir fatura kalemi oluşur.

Toplam maliyeti düşürmek için en etkili adımlar genellikle şunlardır:

  • Önbellek katmanlarını (CDN, tarayıcı cache, reverse proxy) agresif ve bilinçli kullanmak
  • Medya dosyalarını object storage’a taşıyıp, asıl origin’in disk yükünü hafifletmek
  • Headless CMS için gereğinden büyük sunucu seçmemek; büyümeyi metriklere göre kademeli yapmak

Bu açıdan bakınca, Jamstack projeler, klasik monolitik uygulamalara göre genellikle daha düşük ve daha yönetilebilir bir hosting faturasına sahip olabiliyor.

3 Örnek Mimari: Hangi Senaryoda Ne Seçmeli?

1) Kişisel blog veya içerik sitesi (Headless CMS + statik frontend)

Senaryo:

  • Ayda 10–50 bin ziyaretçi
  • 1–2 editör, günde birkaç içerik güncellemesi
  • Next.js/Nuxt ile statik build (SSG), headless WordPress veya basit bir Node.js CMS

Önerilen mimari:

  • Headless CMS: Küçük boyutlu bir DCHost VPS (örneğin 2 vCPU, 4 GB RAM)
  • Frontend: Build çıktısını object storage + CDN veya küçük bir paylaşımlı hosting hesabı üzerinde barındırma
  • Serverless: Gerekmedikçe kullanmayın; iletişim formu gibi işlemleri basit bir backend endpoint’iyle çözebilirsiniz.

2) Ajansın yönettiği çoklu müşteri projeleri

Senaryo:

  • 10–30 arası kurumsal site, çoğu Jamstack mimaride
  • Her müşteri için ayrı domain, staging ve canlı ortamlar
  • Ajans ekibinde 5–10 geliştirici ve içerik yöneticisi

Önerilen mimari:

  • Merkezi Git tabanlı CI/CD pipeline (GitLab CI, GitHub Actions vb.)
  • Ajans için ayrılmış 1–2 DCHost VPS: Biri CMS ve API’ler, diğeri build runner’lar için
  • Statik frontend’ler için object storage + CDN; her müşteri için ayrı bucket ve ayrı CDN konfigürasyonu
  • İhtiyaca göre bazı projeler için harici serverless fonksiyonlar veya ajansın kendi “mini FaaS” VPS ortamı

Ajans tarafında özellikle monitoring ve alarm sistemleri kritik hale geliyor. Müşteri sitelerini izleme ve uyarı mekanizmalarını kurgulamak için ajanslar için müşteri sitelerini izleme mimarisi rehberimiz, Jamstack projelerde de birebir uygulanabilir.

3) Headless e-ticaret veya SaaS arayüzü

Senaryo:

  • Headless e-ticaret (örneğin ayrı bir ödeme ve stok sistemi)
  • Çok sayıda dinamik bileşen (sepet, kullanıcı alanı, raporlar)
  • On binlerce ürün veya kullanıcı, artan trafik

Önerilen mimari:

  • Statik olarak üretilebilen sayfaları (kategori, içerik, blog, yardım merkezi) Jamstack ile SSG olarak build edin.
  • Gerçek zamanlı bileşenleri (sepet, kullanıcı alanı) API tabanlı, cache-friendly olacak şekilde tasarlayın.
  • Headless backend (ürün, sipariş, kullanıcı) için güçlü bir DCHost VPS kümesi veya dedicated sunucu kullanın.
  • Yoğun hesaplama veya entegrasyon işleri için, hedeflerinize göre ya harici serverless fonksiyonlara ya da kendi arka plan queue sisteminize başvurun.

Bu senaryoda Jamstack, sunucusuz bir dünya vadetmez; daha çok, trafiğin büyük kısmını ucuz ve hızlı statik katmana kaydırıp, pahalı dinamik katmanı olabildiğince küçültmenizi sağlar.

Sonuç: Jamstack ve Headless CMS İçin “Tek Doğru” Hosting Yok, Ama Net Prensipler Var

Headless CMS ve Jamstack projelerde asıl fark yaratan şey, “hangi sağlayıcıyı kullandığınız” değil, mimariyi ne kadar net tanımladığınız. Statik build süreci nerede çalışacak, statik çıktıyı nerede barındıracaksınız, CMS backend’i ne kadar gizli olacak, hangi dinamik kısımlar gerçekten serverless fonksiyonlara ihtiyaç duyuyor… Bu sorulara baştan net cevap verebildiğiniz projeler, hem performans hem de maliyet anlamında çok daha sağlıklı ilerliyor.

DCHost olarak biz, Jamstack ve headless CMS projelerde genellikle şu yol haritasıyla ilerliyoruz:

  • Küçük projelerde: CMS + basit API’ler için tek VPS, frontend için object storage + CDN veya hafif bir web sunucusu.
  • Orta ölçekli ajans ve ürün ekiplerinde: Ayrı build runner VPS’i, merkezi CI/CD, CMS ve API’ler için izole VPS kümeleri.
  • Büyük ve kurumsal yapılarda: Dedicated veya colocation üzerinde headless backend, dünya geneline yayılmış CDN ve gerektiğinde çok bölgeli object storage replikasyonu.

Eğer siz de yeni bir headless projeye başlayacak veya mevcut WordPress/Laravel sitenizi Jamstack’e taşımayı planlıyorsanız, mimari tasarım aşamasında bizimle detayları üzerinden geçmek isterseniz memnuniyetle yardımcı oluruz. Trafik tahmini, build sıklığı, içerik modeli ve güvenlik gereksinimlerinizi birlikte değerlendirip; statik build, object storage ve serverless fonksiyonları en verimli şekilde kullanan bir DCHost altyapısı tasarlayabiliriz.

Sıkça Sorulan Sorular

En basit ve sağlıklı mimariyi üç parçaya ayırabilirsiniz: Öncelikle küçük bir DCHost VPS üzerinde headless CMS’inizi (örneğin WordPress, Strapi veya özel bir Laravel paneli) barındırın. İkinci katmanda, statik frontend’i (Next.js, Nuxt, Astro vb. ile üretilen HTML/JS/CSS) ya hafif bir web sunucusunda ya da doğrudan object storage + CDN kombinasyonunda yayınlayın. Üçüncü olarak da domain yönetimi, DNS kayıtları ve SSL sertifikanızı düzgün konumlandırın. Küçük projelerde serverless fonksiyonlara mecbur değilsiniz; iletişim formu gibi işleri CMS veya ufak bir API ile çözmek genellikle yeterli olur.

Evet, özellikle başlangıç aşamasında veya küçük projelerde build çıktısını klasik bir web sunucusunda (Nginx/Apache/LiteSpeed) barındırmak gayet makul. Statik dosyalarınızı DCHost paylaşımlı hosting veya VPS üzerinde servis edip, önüne bir CDN koyarak da ciddi performans kazanırsınız. Object storage’ın asıl avantajı çok sayıda dosya, yüksek trafik ve çok bölgeli dağıtım söz konusu olduğunda ortaya çıkar. Eğer sitenizde on binlerce statik dosya, büyük medya arşivleri veya global trafik yoksa, klasik hosting modeliyle başlayıp ihtiyaç büyüdükçe object storage’a geçmek pratik bir yaklaşımdır.

Birçok Jamstack projede serverless fonksiyonlar teknik olarak zorunlu değil, daha çok konfor ve ölçeklenebilirlik aracı. Küçük ve orta ölçekli projelerde; headless CMS, basit API uçları, webhook işlemleri ve cron tarzı işleri tek bir DCHost VPS üzerinde gayet sağlıklı şekilde yürütebilirsiniz. Serverless fonksiyonlar daha çok çok bölgeli dağıtım, ani trafik patlamaları, çok sayıda kısa ömürlü iş (resim dönüştürme, entegrasyon webhooks’ları) gibi durumlarda anlamlı hale gelir. Eğer operasyonel karmaşıklığı artırmak istemiyorsanız önce tek VPS modeliyle başlayıp, dar boğazları gördükçe belirli işleri serverless’e taşımak daha dengeli bir stratejidir.

Headless WordPress + Next.js mimarisinde iki ayrı katmanı düşünmelisiniz. WordPress tarafında; editör sayısı, eklenti yükü ve REST API trafiğine göre tipik olarak 2–4 vCPU ve 4–8 GB RAM’li bir DCHost VPS iyi bir başlangıç olur. Diskte ise NVMe SSD tercih etmek, özellikle medya yönetiminde fark yaratır. Next.js tarafında ise asıl kritik nokta statik build ve dağıtım stratejiniz: SSG ağırlıklı bir yapıdaysanız, build çıktısını object storage + CDN’de barındırarak çok düşük TTFB elde edebilirsiniz. SSR veya edge functions ağırlığı artıyorsa, Next.js uygulamasını da yeterli CPU/RAM’e sahip ayrı bir VPS’te konumlandırmak ve CDN’yi sadece cache katmanı olarak kullanmak daha doğru olur.