6.2 | Cloud Functions: Bulutta Kod Koşturmak

Yayınlanma Tarihi: 2026-05-13

Uygulamanızdaki her işlem kullanıcının telefonunda gerçekleşmek zorunda değildir. Hatta bazı işlemlerin telefonun dışında, güvenli bir "kalede" yapılması şarttır. İşte bu kaleye Cloud Functions (Bulut Fonksiyonları) diyoruz. Bunlar, belirli bir olay gerçekleştiğinde (örneğin yeni bir kullanıcı kayıt olduğunda) otomatik olarak uyanan ve görevini yapıp tekrar uykuya dalan küçük kod parçacıklarıdır.

1. Neden Bulutta Kod Koşturuyoruz?

Telefon her ne kadar güçlü olsa da, bazı sınırları vardır:

  • Güvenlik: Bir indirim kuponunun geçerli olup olmadığını kontrol eden kod telefonun içindeyse, kötü niyetli bir kullanıcı bu kodu manipüle edebilir. Ancak bu kontrol buluttaki bir fonksiyonda yapılıyorsa, kullanıcı o koda asla dokunamaz.
  • Performans ve Batarya: Binlerce veriyi analiz edip bir sonuç üretmek telefonun bataryasını tüketir. Bu ağır işi Google'ın güçlü sunucularına devrederek telefonun serin kalmasını sağlarız.
  • Otomasyon: "Kullanıcı her alıştırma bitirdiğinde ona tebrik bildirimi gönder" gibi işleri, uygulama kapalıyken bile bulut fonksiyonları halledebilir.

[Image of cloud functions workflow: trigger, execution, and output]

2. Ajan ve Bulutun Uyumu

Ajanlar, bulut fonksiyonu yazmakta çok başarılıdır çünkü bu fonksiyonlar genellikle kısa ve odaklanmış kodlardır.

  • Ajanın Rolü: Ona "Firebase'e yeni bir doküman eklendiğinde çalışan ve bu veriyi analiz edip bana bir özet çıkaran bir fonksiyon yaz" dediğinizde, karmaşık sunucu ayarlarıyla uğraşmadan sonucu size sunar.
  • Senin Rolün (Kod Okuryazarlığı): Bulut fonksiyonları "görünmezdir". Hata verdiklerinde ekranınızda bir şey değişmez. Sizin, 5.0'da konuştuğumuz gibi Firebase Console üzerinden logları okuyup ajana şu geri bildirimi vermeniz gerekir: "Yazdığın fonksiyon 'timeout' hatası veriyor, işlem süresini nasıl optimize edebiliriz?"

3. Tetikleyiciler: Fonksiyonları Ne Uyandırır?

Bulut fonksiyonları kendi başına çalışmaz; birinin onu uyandırması gerekir:

  • Veri Tabanı Tetikleyicisi: Bir veri değiştiğinde çalışır (Örn: Yeni bir skor kaydedildiğinde).
  • Zamanlanmış Tetikleyici (Cron): Her gece belirli bir saatte çalışıp verileri yedekler veya temizlik yapar.
  • HTTP Tetikleyicisi: Uygulamanızdan özel bir istek gönderdiğinizde (bir web adresi gibi) çalışır.

[Image of event triggers for cloud functions: authentication, database, and storage]

4. Maliyet ve Verimlilik

Ajan her işlem için yeni bir fonksiyon yazmak isteyebilir. Ancak Kod Okuryazarlığınız geliştikçe şuna dikkat etmelisiniz: Her fonksiyon çalışması küçük de olsa bir maliyettir. Gereksiz çalışan fonksiyonları tespit edip ajana bunları birleştirmesini söylemek veya sadece gerekli olduğunda tetiklenmesini sağlamak, projenizi hem daha hızlı hem de daha ekonomik hale getirir.


Sözlük (Glossary)

  • Cloud Functions: Sunucu yönetimi gerektirmeyen, olay bazlı çalışan kod parçacıkları.
  • Trigger (Tetikleyici): Bir fonksiyonun çalışmasını başlatan olay (örn: yeni üyelik).
  • Serverless (Sunucusuz): Yazılımcının sunucu donanımıyla uğraşmadığı, sadece koda odaklandığı mimari.
  • Cold Start: Bir süredir kullanılmayan bir fonksiyonun ilk çalışmasındaki kısa süreli gecikme.

Sonraki Adım: 7.0 | Kütüphane ve Framework Seçimi: Doğru Araçlarla Hızlanmak.