Vercel
Kısaca: Next.js projelerine (ve diğer ön yüz çerçevelerine) özelleşmiş bir barındırma platformu — her git push otomatik olarak yeni bir dağıtımı tetikleyebilir.
Biraz daha ayrıntılı: Projeler bir “ekibe” veya kişisel hesaba aittir; her projenin kendi ortam değişkenleri, alan adları ve depolama bağlantıları vardır (örn. Vercel Blob). CLI (vercel), otomatik Git dağıtımına paralel olarak elle dağıtım yapabilir (vercel --prod) — örneğin Git commit yazarı otomatik dağıtımdan engellenmişse yararlıdır.
Ayrıntılı
Üretim ve önizleme dağıtımları
Yapılandırılmış üretim dalına (genellikle main) her push otomatik olarak bir üretim dağıtımını tetikler; diğer dallara veya çekme isteklerine yapılan push’lar ise otomatik olarak kendi önizleme dağıtımlarını (preview deployments) oluşturur — her biri kendi URL’si altında erişilebilen, üretimden yalıtılmış, uygulamanın tamamen bağımsız bir sürümüdür. Bu, bir değişikliğin henüz birleştirilmeden canlı test edilmesine izin verir (yalnızca statik HTML değil, gerçek sunucu işlevselliği dahil). Her önizleme dağıtımının kendi ortam değişkenleri de olabilir — örneğin gerçek üretim veritabanı yerine bir test veritabanı — böylece önizleme ortamlarındaki denemeler gerçek kullanıcı verileri açısından risksiz kalır.
Sunucusuz (serverless) ve edge işlevleri
Vercel’de Next.js projeleri varsayılan olarak, mümkün olan her yerde statik önceden oluşturulmuş sayfaların (örn. kullanıcıya özgü içeriği olmayan sayfalar) ve istek başına dinamik hesaplanması gereken her şey için (API rotaları, veritabanı erişimli Server Components) sunucusuz/edge işlevlerinin karışımında çalışır. İki işlev türü arasındaki fark: sunucusuz işlevler tam bir Node.js ortamında çalışır (daha fazla uyumluluk, ama daha yavaş soğuk başlangıç), edge işlevleri kullanıcıya daha yakın dağıtılmış daha yalın bir çalışma zamanında (daha hızlı soğuk başlangıç, ama daha sınırlı Node.js API desteği) — hangi türün kullanılacağı rota başına export const runtime = "edge" ile denetlenebilir. “Soğuk başlangıç”, o an çalışmayan bir işlevin yeni bir isteğe hazır olana kadar geçen süreyi ifade eder — düşük trafikte (işlev nadiren çağrılır) bu fark, işlevlerin zaten genellikle “sıcak” kaldığı sürekli yüksek yükteki duruma göre daha belirgindir.
Edge ağı ve CDN
Statik içerik (önceden oluşturulmuş sayfalar, görüntüler, CSS/JS paketleri) küresel bir CDN (içerik dağıtım ağı) üzerinden otomatik teslim edilir — Vercel birçok coğrafi olarak dağıtılmış konumda kopyalar tutar; böylece kullanıcı içeriği tek, potansiyel olarak uzak bir sunucudan değil, en yakın konumdan alır. Bu, özellikle özgün sunucu konumundan coğrafi olarak uzak kullanıcılar için yükleme sürelerini fark edilir biçimde azaltır.
Derleme süreci ve önbellekleme
Her dağıtımda Vercel, eksiksiz Next.js derleme sürecini (next build) yalıtılmış bir derleme ortamında çalıştırır — aynı projenin tekrarlanan derlemelerini hızlandırmak için bağımlılıklar derlemeler arasında önbelleğe alınır (node_modules önbelleği). Bir derleme başarısız olursa (örn. bir TypeScript hatası veya eksik bir ortam değişkeni nedeniyle), önceki, çalışan üretim sürümü değişmeden canlı kalır — yani başarısız bir dağıtım uygulamayı otomatik olarak çökertmez, yalnızca atılır.
Alan adları ve DNS
Vercel projeleri otomatik olarak bir *.vercel.app alt alan adı alır; özel alan adları ek olarak DNS kayıtlarıyla (genellikle A veya CNAME kayıtları) bağlanabilir. Üretim kullanımı için özel bir alan adı, yalnızca tanınırlık ve barındırma platformundan bağımsızlık nedeniyle bile, otomatik üretilen Vercel alt alan adından hemen her zaman daha mantıklıdır.
Ayrıca bak: Ortam değişkenleri, Vercel Blob Storage, DNS kayıtları