Cloudflare Genel

Cloudflare Workers ile Sunucusuz Uygulama Geliştirme

Cloudflare Workers ile Sunucusuz Uygulama Geliştirme

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.