Cloudflare Workers ile Sunucusuz Uygulama Geliştirme
Günümüzde web uygulamalarının hızlı ve ölçeklenebilir olması büyük önem taşımaktadır. Sunucusuz (serverless) mimariler, bu gereksinimleri karşılamak için ideal bir çözüm sunar. Cloudflare Workers, geliştiricilere dünya çapında dağıtılmış bir ağ üzerinde kod çalıştırma olanağı sağlayarak performansı ve kullanıcı deneyimini artırır. Bu makalede, Cloudflare Workers kullanarak sunucusuz uygulama geliştirme sürecini adım adım ele alacağız.
Cloudflare Workers Nedir?
Cloudflare Workers, Cloudflare’ın küresel edge ağında JavaScript veya WebAssembly kodu çalıştırmanızı sağlayan bir sunucusuz uygulama platformudur. Bu sayede uygulamalarınız, kullanıcılara en yakın noktada çalışarak düşük gecikme süreleri ve yüksek performans sunar.
Neden Sunucusuz Mimari?
– Ölçeklenebilirlik: Uygulamanız gelen trafiğe göre otomatik olarak ölçeklenir.
– Maliyet Etkinliği: Kullanılan kaynaklar için ödeme yaparsınız, bu da maliyetleri düşürür.
– Kolay Yönetim: Sunucu yönetimiyle uğraşmanıza gerek kalmaz; altyapı Cloudflare tarafından yönetilir.
Başlamadan Önce
– Bir Cloudflare hesabı oluşturun.
– Makinenizde Node.js ve npm kurulu olmalıdır.
Adım Adım Cloudflare Workers ile Uygulama Geliştirme
1. Wrangler CLI’nin Kurulumu
wrangler
, Cloudflare Workers ile çalışmak için kullanılan bir CLI aracıdır.
npm install -g wrangler
Kurulumun başarılı olduğunu doğrulamak için:
wrangler --version
2. Projenin Oluşturulması
Yeni bir Worker projesi başlatmak için:
wrangler init my-worker
Bu komut, my-worker
adında yeni bir dizin oluşturur ve gerekli dosyaları içine yerleştirir.
3. Cloudflare Hesap Bilgilerinin Ayarlanması
wrangler.toml
dosyasını açın ve account_id
ve zone_id
bilgilerinizi ekleyin:
name = "my-worker" type = "javascript" account_id = "YOUR_ACCOUNT_ID" workers_dev = true route = "" zone_id = ""
account_id
ve zone_id
değerlerini Cloudflare kontrol panelinizden bulabilirsiniz.
4. Worker Kodunun Yazılması
index.js
dosyasını açın ve aşağıdaki örnek kodu ekleyin:
addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { return new Response('Merhaba, Cloudflare Workers!', { headers: { 'content-type': 'text/plain' }, }) }
Bu basit kod, gelen her isteğe “Merhaba, Cloudflare Workers!” yanıtını döndürür.
5. Uygulamanın Test Edilmesi
Yerel olarak test etmek için aşağıdaki komutu çalıştırın:
wrangler dev
Tarayıcınızda http://localhost:8787
adresine giderek uygulamanızı test edebilirsiniz.
6. Uygulamanın Yayınlanması
Uygulamanızı Cloudflare ağına dağıtmak için:
wrangler publish
Yayınlandıktan sonra, uygulamanız https://my-worker.YOUR_SUBDOMAIN.workers.dev
adresinde erişilebilir olacaktır.
7. KV Storage ile Veri Depolama
Cloudflare Workers, kalıcı veri depolamak için KV Storage hizmeti sunar.
KV Storage Alanı Oluşturma:
– Cloudflare Dashboard’da Workers > KV yolunu izleyin.
– Yeni bir KV Namespace oluşturun ve adını not edin.
wrangler.toml
Dosyasına KV Ekleme:
kv_namespaces = [ { binding = "MY_KV", id = "YOUR_KV_NAMESPACE_ID" } ]
KV Storage Kullanımı:
async function handleRequest(request) {
const value = await MY_KV.get('anahtar')
return new Response(Değer: ${value}
)
}
8. Üçüncü Parti Kütüphanelerin Kullanımı
Workers, Webpack ile paketlendiği için NPM paketlerini kullanabilirsiniz.
Bir Paket Yüklemek:
npm install uuid
Kullanmak:
import { v4 as uuidv4 } from 'uuid'
async function handleRequest(request) {
const id = uuidv4()
return new Response(UUID: ${id}
)
}
9. Güvenlik ve Performans Optimizasyonları
– CORS Ayarları: API’leriniz için uygun CORS başlıklarını ekleyin.
– Cache Kullanımı: Cloudflare’ın önbellekleme özelliklerini kullanarak performansı artırın.
– Edge Compute: İş yükünüzü kullanıcıya en yakın noktada işleyerek gecikmeyi azaltın.
Sonuç
Cloudflare Workers ile sunucusuz uygulama geliştirme, hem performans hem de ölçeklenebilirlik açısından büyük avantajlar sunar. Bu rehberde, temel bir uygulamanın nasıl oluşturulacağını ve yayınlanacağını adım adım ele aldık. Daha karmaşık uygulamalar ve işletme ihtiyaçlarınız için sağlam bir altyapıya ihtiyaç duyabilirsiniz. Bu noktada bulut sunucu ve sanal sunucu hizmetlerimizden faydalanabilirsiniz. Fiziksel kaynaklara ihtiyaç duyuyorsanız, fiziksel sunucu seçeneklerimizi de incelemeyi unutmayın.
—
Not: Bu makale, Cloudflare Workers ile sunucusuz uygulama geliştirme konusunda temel bilgiler sunmaktadır. İleri seviye konular ve en iyi uygulamalar için resmi Cloudflare Workers dokümantasyonunu incelemenizi öneririz.