Ana içeriğe geç

Cloud Run: GCP'de Konteynerleştirilmiş Uygulamaları Dağıtma Rehberi

Cloud Run ve kullanım alanlarını öğrenin; ardından adım adım rehberimizi izleyip ilk instancenızı başlatın.
· 9 dk. oku

Yapay Zeka ile Keşfedin

Cloud Run, Google Cloud’un altyapı yönetimiyle uğraşmadan uygulama dağıtmanıza olanak tanıyan, tamamen yönetilen sunucusuz platformudur. Son derece esnektir ve hobi projelerinden kurumsal seviyeye kadar pek çok proje için harika bir tercihtir.

Bu yazıda Cloud Run’ın ne olduğunu, nasıl çalıştığını, hangi kullanım senaryolarını çözdüğünü ve diğer sunucusuz çözümlerle nasıl karşılaştırıldığını anlatacağım. Ayrıca ilk Cloud Run uygulamanızı adım adım nasıl dağıtacağınızı da göstereceğim!

Ve başlamadan önce: Bulut bilişime tamamen yeniyseniz, Introduction to Cloud Computing kursumuzu öneririm. Bu kurs, bulutun temel kavramlarını açıklar; ölçeklenebilirlik ve gecikme gibi kilit terimleri tanımlar ve GCP gibi sağlayıcıların sunduğu bulut araçlarının avantajlarını kapsar.

Cloud Run nedir? 

Cloud Run, altyapı yönetimini dert etmeden uygulamaları dağıtmanıza olanak tanıyan sunucusuz bir konteyner yürütme platformudur. 

Geleneksel sunucu tabanlı dağıtımlarda genellikle sanal makineleri sağlamak ve sürdürmek gerekir. Cloud Run biraz farklı çalışır; tüm bunları soyutlayarak tamamen yönetilen bir ortam sunar. 

Knative üzerine (sunucusuz iş yüklerini etkinleştiren Kubernetes tabanlı bir açık kaynak platform) inşa edilmiştir; bu da uygulamanızın talebe göre otomatik ölçekleneceği anlamına gelir. Trafik arttığında Cloud Run bunu karşılamak için daha fazla instance başlatır. Trafik azaldığında da ölçeği küçültür. Hatta sıfıra kadar inebilir; böylece uygulamanız aktif olarak çalışmıyorken ücret ödemezsiniz.

Cloud Run maliyet etkin olmasının yanı sıra çok da esnektir. Konteyner içinde çalıştığı sürece herhangi bir dilde yazılmış ve herhangi bir çatı ya da ikili dosya kullanan uygulamaları dağıtabilirsiniz. Node.js, Python, Go, Java gibi yaygın teknolojilerin yanı sıra daha niş olanlarla da çalışabilirsiniz. Pratikte bu, Cloud Run’ın arka uç servisleri, API’ler, yapay zeka iş yükleri, web uygulamaları ve hatta zamanlanmış toplu işler için güç sağlayabileceği anlamına gelir. 

Bu küçük bir ön bakıştı. Şimdi Cloud Run’ın temel özelliklerine biraz daha yakından bakalım.

Cloud Run’ın Temel Özellikleri

Birkaçından bahsettik; işte Cloud Run’ın başlıca özelliklerinin tam bir özeti.

Dilden ve çatıdan bağımsız

Cloud Run’ın en büyük avantajlarından biri, sizi belirli bir dil ya da çatıya kilitlememesidir. Uygulamanız bir konteyner içinde çalıştığı sürece onu dağıtabilirsiniz. Çeşitli bir teknoloji yığınıyla çalışan bir ekip olarak tüm servislerinizde Cloud Run’ı kullanabilirsiniz. Hepsini yöneten tek bir araç!

Otomatik ölçekleme

Cloud Run, trafiğe bağlı olarak yatay ve dinamik şekilde ölçeklenir. Uygulamanız daha fazla istek alırsa Cloud Run otomatik olarak daha fazla instance başlatır. Talep azaldığında ise ölçeği küçültür; gerekirse sıfıra kadar iner.

Yerleşik güvenlik ve uyumluluk

Cloud Run, dağıtılan tüm servisler için otomatik HTTPS, güvenli kimlik doğrulama için Google tarafından yönetilen servis kimliği, özel ağ için VPC bağlantısı ve SOC 2, ISO 27001, HIPAA (sağlık uygulamaları için) gibi yerleşik uyumluluk sertifikalarıyla birlikte gelir. Kısacası, güvendesiniz.

Google Cloud servisleriyle entegrasyon

Cloud Run, Google Cloud ekosisteminin bir parçası olduğundan diğer GCP servisleriyle uyumlu çalışır. Veritabanları için Cloud SQL’e kolayca bağlanabilir, Pub/Sub ile veri akışı yapabilir, dosyaları Cloud Storage’da depolayabilir ya da BigQuery, Firebase ve AI/ML servisleriyle birlikte kullanabilirsiniz.

İhtiyaca göre GPU desteği

Yapay zeka iş yükleri için Cloud Run artık isteğe bağlı GPU desteği sunuyor. Bu, makine öğrenimi çıkarımı, video işleme ve bilimsel hesaplama için büyük bir gelişme; çünkü donanımı yönetmeden GPU hızlandırmalı herhangi bir iş yükünü çalıştırmanıza olanak tanır.

Cloud Run Functions: Hizmet Olarak Fonksiyon (FaaS) modeli

Tam konteynerleri yönetmek istemiyorsanız, Cloud Run Functions küçük ve tek amaçlı fonksiyonları çalıştırmak için basitleştirilmiş, olay odaklı bir yol sağlar. AWS Lambda veya Google Cloud Functions’a benzer, ancak Cloud Run’ın altyapısı üzerinde çalışır.

Cloud Run Nasıl Çalışır: Adım Adım

Bu bölümde, basit bir uygulamayı Cloud Run’a nasıl dağıtacağınızı anlatacağım. Uygulamanızı konteynerleştirme, Cloud Run’a dağıtma ve talebe göre otomatik ölçeklendirme süreçlerinde size rehberlik edeceğim.

Uygulamamızı konteynerleştirmek için Docker kullanacağız, ancak bunu yapmak zorunda değilsiniz. Bununla ilgili daha fazlası sonda.

Adım 1: Ortamınızı hazırlayın

Herhangi bir dağıtım yapmadan önce aşağıdaki araçların kurulu olması gerekir:

  1. Google Cloud SDK: Bu, Cloud Run dahil Google Cloud servisleriyle etkileşim kurmanızı sağlayan komut satırı arayüzüdür (CLI). buradan kurabilirsiniz.
  2. Docker: Uygulamanız zaten konteynerleştirilmemişse, uygulamanızı paketlemek için Docker’a ihtiyacınız olacak. Docker’ı buradan kurun.
  3. Google Cloud Projesi: Bir Google Cloud projesi kurduğunuzdan emin olun. Google Cloud Console üzerinden oluşturabilirsiniz.

Adım 2: Uygulama kodunuzu yazın

Şimdi basit bir “Hello World” Node.js uygulaması yazalım.

Uygulamanız için bir dizin oluşturun:

mkdir hello-world-app
cd hello-world-app

Dizin içinde aşağıdaki içerikle bir index.js dosyası oluşturun:

const http = require('http');

const requestListener = (req, res) => {
    res.writeHead(200);
    res.end('Hello, Cloud Run!');
};

const server = http.createServer(requestListener);
server.listen(8080, () => {
    console.log('Server is running on port 8080');
});

Uygulamanızın bağımlılıklarını tanımlamak için bir package.json oluşturun:

{
    "name": "hello-world-app",
    "version": "1.0.0",
    "main": "index.js",
    "dependencies": {}
}

Uygulama hazır olduğuna göre, şimdi konteynerleştirmeye geçeceğiz.

Adım 3: Uygulamayı konteynerleştirin

Container imajını tanımlamak için bir Dockerfile oluşturun

Proje dizininizde “Dockerfile” adlı bir dosya oluşturun ve aşağıdaki içeriği ekleyin:

# Use the official Node.js image as a base
FROM node:16-alpine

# Set the working directory inside the container
WORKDIR /usr/src/app

# Copy package.json and install dependencies (if any)
COPY package*.json ./

# Copy the rest of the application code
COPY . .

# Expose port 8080 for Cloud Run
EXPOSE 8080

# Start the app
CMD ["node", "index.js"]

Docker imajını oluşturun

Docker imajınızı oluşturmak için şu komutu çalıştırın:

docker build -t gcr.io/your-project-id/hello-world-app .

Not: your-project-id kısmını kendi Google Cloud proje kimliğinizle değiştirin.

İmajı yerelde test edin

Docker konteynerinizi yerelde şu komutla test edebilirsiniz:

docker run -p 8080:8080 gcr.io/your-project-id/hello-world-app

http://localhost:8080 adresini tarayıcınızda açarak uygulamanın çalıştığını doğrulayın.

Adım 4: İmajı Google Artifact Registry’ye gönderin

Projeniz için Artifact Registry’yi etkinleştirin

Artifact Registry’yi henüz etkinleştirmediyseniz, aşağıdaki komutu çalıştırın

gcloud services enable artifactregistry.googleapis.com

Not: Bu adımı tamamlamak için faturalandırmayı etkinleştirmeniz gerekir!

Artifact Registry’de bir depo oluşturun

Artifact Registry’de yeni bir Docker deposu oluşturun:

gcloud artifacts repositories create hello-world-repo \
--repository-format=docker \
--location=us-central1

Docker’ı Artifact Registry’ye kimlik doğrulamak için yapılandırın

Docker’ı Artifact Registry ile kimlik doğrulaması yapacak şekilde yapılandırın:

gcloud auth configure-docker us-central1-docker.pkg.dev

Docker imajını Artifact Registry için etiketleyin

Docker imajınızı Artifact Registry depo URL’si ile etiketleyin:

docker tag gcr.io/your-project-id/hello-world-app us-central1-docker.pkg.dev/your-project-id/hello-world-repo/hello-world-app

İmajı Artifact Registry’ye gönderin

Etiketlenmiş Docker imajını Artifact Registry deponuza gönderin:

docker push us-central1-docker.pkg.dev/your-project-id/hello-world-repo/hello-world-app

Adım 5: Cloud Run’a dağıtın

İmajınız Artifact Registry’ye yüklendikten sonra, doğrudan Cloud Run’a dağıtabilirsiniz.

İmajınızı Cloud Run’a dağıtmak için aşağıdaki komutu kullanın:

gcloud run deploy hello-world-app \
--image us-central1-docker.pkg.dev/your-project-id/hello-world-repo/hello-world-app \
--platform managed \
--region us-central1 \
--allow-unauthenticated
  • hello-world-app: Cloud Run servisinizin adıdır.
  • us-central1-docker.pkg.dev/your-project-id/hello-world-repo/hello-world-app: Artifact Registry’de depolanan imajınızın URL’sidir.
  • --platform managed: Dağıtımın Cloud Run’ın tamamen yönetilen platformunu (GKE kümesi değil) kullandığını garanti eder.
  • --region us-central1: Servisin hangi bölgede dağıtılacağını belirtir.
  • --allow-unauthenticated: Servise herkese açık erişime izin verir. Erişimi kısıtlamak isterseniz bu bayrağı buna göre ayarlayabilirsiniz.

Bu komutu çalıştırdıktan sonra Cloud Run konteynerleştirilmiş uygulamanızı dağıtır ve ona erişmek için bir URL sağlar.

Ve işimiz bitti! GCP konsoluna bir göz atın; yeni instancenızı görmelisiniz.

Adım 6: Temizlik

Devam eden maliyetlerden kaçınmak için testiniz bittiğinde servisinizi sildiğinizden emin olun.

1. Cloud Run servisini silin

Dağıttığınız Cloud Run servisini silmek için şu komutu çalıştırın:

gcloud run services delete hello-world-app --region us-central1

Bu, Cloud Run instancenızı kaldırır ancak konteyner imajını silmez.

2. Artifact Registry imajını silin

Artifact Registry’den imajı kaldırmak için önce imajları listeleyin:

gcloud artifacts docker images list us-central1-docker.pkg.dev/your-project-id/hello-world-repo

Ardından imajı şu komutla silin:

gcloud artifacts docker images delete us-central1-docker.pkg.dev/your-project-id/hello-world-repo/hello-world-app --delete-tags

Artık Artifact Registry’niz de temizlenmiş oldu.

3. Artifact Registry deposunu silin (artık gerekli değilse)

Artifact Registry deposunu tamamen kaldırmak isterseniz şunu çalıştırın:

gcloud artifacts repositories delete hello-world-repo --location=us-central1

Bu adım yalnızca depoyla işiniz tamamen bittiyse gereklidir; aksi halde gelecekteki dağıtımlar için yeniden kullanabilirsiniz.

4. (İsteğe bağlı) Google Cloud projesini silin

Bu bir test projesiyse ve artık ihtiyacınız yoksa, ilişkili tüm kaynakları kaldırmak için tüm projeyi silebilirsiniz:

gcloud projects delete your-project-id

Kaynak koddan dağıtımlar

Uygulamanızı her zaman elle konteynerleştirmenizin gerekmediğini söylediğimi hatırlıyor musunuz?

Cloud Run artık kaynak koddan dağıtımları destekliyor; bu da Cloud Build kullanarak kaynak kodunuzdan konteyneri sizin için oluşturabileceği anlamına gelir.

Şu komutu kullanabilirsiniz:

gcloud run deploy hello-world-app \
--source . \
--region us-central1 \
--allow-unauthenticated

Cloud Build uygulamanızın dilini (Node.js, Python, Go, Java, vb.) otomatik olarak algılar, sizin için bir konteyner imajı oluşturur ve onu Artifact Registry’ye kaydeder. Cloud Run daha sonra, sanki konteyneri elle oluşturmuşsunuz gibi, oluşturulan imajı dağıtır. Bunu desteklenen dillerle (Node.js, Python, Go, Java, vb.) yazılmış basit uygulamalar için kesinlikle öneririm; ancak konteyner üzerinde tam denetime ihtiyacınız varsa (örn. özel bağımlılıklar, OS seviyesinde ince ayarlar, çok adımlı derlemeler) önerilmez.

Cloud Run’ı verimli kullanmak için ipuçları

Bir uygulamayı Cloud Run’a dağıtmak oldukça kolay; ancak verimli çalışmasını sağlamak için biraz ince ayar gerekir. İlk kullandığımda deneme-yanılma sürecinden geçtim ve öğrendiklerim şunlar:

1. Soğuk başlatmalar gerçektir

Özellikle büyük bir konteyner imajıyla çalışıyorsanız. İmajınız ne kadar küçükse, servisiniz o kadar hızlı ayağa kalkar. distroless gibi minimal bir temel imaj kullanmak büyük fark yaratabilir. Python uygulamaları derliyorsanız resmi imajların slim sürümlerini deneyin. Ya da maliyetleri çok dert etmiyorsanız minimum instance sayısını 1 olarak ayarlayın.

2. Oynayabileceğiniz en iyi değişken istek eşzamanlılığı miktarıdır

Cloud Run her bir instance’ın aynı anda birden fazla isteği işlemesine izin verir; ancak varsayılan değer (konteyner başına 80 istek) çoğu zaman en uygun değer değildir. CPU yoğun görevlerde eşzamanlılığı 1 veya 2’ye düşürmek işleri çok daha akıcı hale getiriyor. Öte yandan, API’ler genellikle daha yüksek sayıları kaldırabilir. Sayı yükseldikçe ihtiyaç duyduğunuz instance sayısını azaltabilir, dolayısıyla ödediğiniz tutarı düşürebilirsiniz; bu yüzden uygulamanız için en uygun noktayı bulmak adına farklı değerlerle denemeler yapmak kesinlikle değerli.

3. Instance limitlerinizi ayarlayın!

Birisi (ben) yük testi yapmaya karar verip aşırı sayıda istek başlattığında çok işe yarar. Bu dersi ben aldım, sizin almanıza gerek yok. Lütfen maksimum instance sayınızı ayarlayın.

4. Doğru kişilerin instancınıza eriştiğinden emin olun

Varsayılan olarak Cloud Run servislerine URL’yi bilen herkes erişebilir; bu hızlı demolar için harika ama üretim için pek iyi değil. Uygulamanız herkese açık olmamalıysa IAM izinleriyle erişimi kısıtlayın. 

5. Cloud Logging ve Cloud Trace en iyi dostlarınız olacak

Eğer benim gibi sorun giderirken sanal makinelere SSH ile bağlanmaya alışkınsanız, hayal kırıklığına uğrayabilirsiniz. Cloud Run günlükleri doğrudan Google Cloud panosuna aktarılır; her şeyi orada görebilirsiniz. Uygulamanıza yapılandırılmış loglama eklediğinizden emin olun; sorun gidermeyi çok daha kolaylaştırır.

Cloud Run Kullanım Senaryoları

Web uygulamaları, API’ler veya cron işler gibi bazı kullanım senaryolarından bahsettik; ancak elbette çok daha fazlası var.

Video ve görsel analizi

Bir sosyal medya platformu için yüklenen görselleri gerçek zamanlı işlemek üzere bir görüntü tanıma modelini dağıtabilir veya bir video yüklendiğinde video dönüştürme görevleri çalıştırabilirsiniz. Cloud Run, otomatik ölçeklemesiyle (viral içerik gibi) talep artışlarını karşılayabilir ve talep düşükken maliyet etkinliğini korur.

Video and image analysis

Kaynak: Google Cloud

Gerçek zamanlı akış işleme

Bir çevrimiçi pazaryerinde kullanıcı davranışını izleyen bir sistem kurduğunuzu hayal edin. Pub/Sub veya BigQuery’den olay akışlarını işleyerek kullanıcı etkinliğine göre anında eylemler tetikleyebilir, örneğin anlık bildirimler gönderebilir veya trendleri gerçek zamanlı analiz edebilirsiniz. Cloud Run, yoğun dönemlerde gelen olayları karşılamak için otomatik olarak ölçeklenir ve akış hacmi azaldığında ölçeği küçültür.

Real-time stream processing

Kaynak: Google Cloud

Gerçek zamanlı dosya işleme

Bir kullanım senaryosu, büyük bir kurumsal yapı için gerçek zamanlı günlük dosyası analizi olabilir. Cloud Storage’a bir günlük dosyası yüklendiğinde, Cloud Run dosyayı ayrıştıracak, analizi çalıştıracak ve sonuçları depolayacak bir konteyneri tetikleyebilir; tüm bunları dosya boyutu ve işleme görevinin karmaşıklığına göre dinamik olarak ölçeklendirerek yapar.

Real-time file processing

Kaynak: Google Cloud

Sunucusuz IoT arka uçları

Cloud Run, IoT uygulamalarının arka uç servislerini yönetmek için idealdir. Örneğin, binlerce sensörden çevresel verileri izleyen bir IoT çözümünde Cloud Run, her cihazdan gelen verileri gerçek zamanlı işleyebilir.

Serverless IoT backends

Kaynak: Google Cloud

Google Cloud Run Fiyatlandırması 

Cloud Run, kullandıkça öde modelini izler; yani uygulamanız aktif olarak çalışırken kullanılan bilgi işlem kaynakları için ödeme yaparsınız. Uygulamanız istek almıyorsa sıfıra kadar ölçeklenebilir; bu da gereksiz maliyet ödemeyeceğiniz anlamına gelir.

Fiyatlandırmanın Ayrıntıları

Mart 2025 itibarıyla Cloud Run iki ana faktöre göre ücretlendirir:

KaynakMaliyetÜcretsiz Katman
CPUvCPU-saniye başına $0.000018Aylık 240.000 vCPU-saniye
BellekGiB-saniye başına $0.000002Aylık 450.000 GiB-saniye

Bu fiyatlandırma instance tabanlı faturalama içindir; istek tabanlı faturalamada farklı çalışır. Yukarıdaki fiyat ve ücretsiz katman ayrıca bulunduğunuz bölgeye göre biraz değişir; bu yüzden kesin rakamlar için resmi Google Cloud sayfasını kontrol edin. Maliyetleri hesaplamanıza yardımcı olacak bir fiyat hesaplayıcıları var ve taahhütlü kullanım için indirimler de sunuyorlar.

Küçük bir ipucu: Aynı bölgedeki diğer Google Cloud servisleriyle trafik ücretsizdir; bu yüzden veri alışverişi için harici servisler yerine Cloud Storage, Cloud SQL veya Pub/Sub kullanmayı deneyin.

Cloud Run ve Cloud Run Functions 

Google iki sunucusuz bilgi işlem seçeneği sunar: Cloud Run ve Cloud Run Functions (önceden Cloud Functions). Her ikisi de altyapıyı yönetmeden kod çalıştırmanıza izin verir; ancak aralarında bazı farklılıklar vardır.

ÖzellikCloud RunCloud Functions
Yürütme ModeliTam konteynerleştirilmiş uygulamaları çalıştırırBireysel fonksiyonları çalıştırır (FaaS modeli)
Çalışma Zamanı KontrolüHerhangi bir dil, herhangi bir çatı, özel ikililerÖnceden tanımlı çalışma zamanları (Node.js, Python, Go, vb.)
DurumDurumsuzdur, ancak bir istek süresince bağlantıları sürdürebilirDurumsuzdur, olay odaklı iş yükleri için tasarlanmıştır
ÖlçeklemeKonteyner instance’ı başına ölçeklenirFonksiyon çağrısı başına ölçeklenir
TetiklemeHTTP istekleri, Pub/Sub, olay odaklıOlay odaklı (Pub/Sub, Cloud Storage, HTTP, vb.)
Soğuk BaşlatmalarÖnceden ısıtılmış instance’larla asgari düzeydeÖlçeklenmede fark edilir gecikmeler olabilir
En Uygun Olduğu AlanlarAPI’ler, mikro servisler, arka uç servisleri, AI iş yükleriHafif, olay odaklı fonksiyonlar, otomasyon

Cloud Run’ı Ne Zaman Kullanmali?

  • ✅ Çalışma zamanı ve bağımlılıklar üzerinde tam kontrole ihtiyacınız varsa.
  • ✅ Kalıcı istekleri işleyen bir web servisi, API veya mikro servis çalıştırıyorsanız.
  • ✅ Mevcut bir konteynerleştirilmiş uygulamayı minimum değişiklikle dağıtmak istiyorsanız.
  • ✅ Arka plan işlemleri veya uzun süreli görevler (ör. AI çıkarımı, toplu işler) gerekiyorsa.

Cloud Run Functions’ı Ne Zaman Kullanmalı

  • ✅ Pub/Sub mesajları veya Cloud Storage yüklemeleri gibi olaylarda tetiklenen, basit ve olay odaklı fonksiyonlar istiyorsanız.
  • ✅ Bildirim göndermek, küçük işleri işlemek veya veriyi dönüştürmek gibi kısa süreli işlemler yapıyorsanız.
  • ✅ Konteyner yönetmek istemiyor ve JavaScript, Python, Go vb. için hazır çalışma zamanlarını tercih ediyorsanız.

Yine de illa birini seçmek zorunda değilsiniz; ikisini birlikte kullanabilirsiniz! Örneğin, Cloud Run arka ucunuz, e-posta gönderme veya görselleri eşzamansız işleme gibi belirli görevler için Cloud Run Functions’ı tetikleyebilir.

Diğer Google Cloud Servisleriyle Karşılaştırmalar

Cloud Run ve Cloud Run Functions’ı oldukça kapsamlı şekilde karşılaştırdık; ancak burada bahsetmeye değer birkaç Google Cloud servisi daha olabilir: GKE ve App Engine.

ÖzellikCloud RunGoogle Kubernetes Engine (GKE)App Engine
Yönetim TürüTamamen yönetilen sunucusuzKendi kendini yöneten Kubernetes kümeleriTamamen yönetilen platform olarak servis
ÖlçeklemeOtomatik ölçekleme, sıfıra kadarElle ölçekleme veya Kubernetes ile otomatik ölçeklemeOtomatik ölçekleme (ancak sıfıra kadar değil)
DağıtımKonteyner dağıtımı (herhangi bir dil)Kubernetes üzerinden konteyner dağıtımıKod dağıtımı (belirli çalışma zamanları desteklenir)
Kullanım AlanlarıAPI’ler, mikro servisler, web uygulamaları, toplu işler, AIKarmaşık uygulamalar, geniş ölçekli mikro servisler, ML iş yükleriWeb uygulamaları, mobil arka uçlar, API’ler
Desteklenen DillerHerhangi biri (konteyner tabanlı)Herhangi biri (konteyner tabanlı)Belirli çalışma zamanları desteklenir

Elbette burada daha fazla nüans var; ancak kısaca: Otomatik ölçekleme ve esneklikle birlikte tamamen yönetilen, konteyner tabanlı bir çözüme ihtiyacınız varsa Cloud Run’ı seçin. Minimum yapılandırmayla bir web uygulaması inşa ediyorsanız App Engine’i tercih edin. Büyük ölçekli, karmaşık uygulamalar için Kubernetes kümeleri üzerinde tam denetim istiyorsanız GKE’yi seçin.

Sonuç

Artık Cloud Run hakkında her şeyi bildiğinize göre, ilk instancenızı başlatmayı deneyin ya da sizin için doğru kontrol ve otomasyon düzeyini bulmak üzere diğer Google Cloud Servislerine göz atın!

Cloud Run SSS

Cloud Run’da veritabanı bağlantılarını nasıl yönetirim?

Cloud SQL Auth Proxy’yi kullanabilir, bağlantı havuzlamayı etkinleştirebilir (ör. PostgreSQL için PgBouncer) veya bağlantı sınırlarından kaçınmak için Firestore gibi sunucusuz veritabanlarını tercih edebilirsiniz.

Cloud Run ile özel alan adı kullanabilir miyim?

Evet. Cloud Run konsolunda Özel Alan Adlarını Yönet altında yapılandırın, mülkiyeti doğrulayın ve DNS kayıtlarını güncelleyin. SSL otomatik olarak sağlanır.

Cloud Run WebSocket’leri ve uzun ömürlü bağlantıları destekler mi?

Evet, ancak instance’lar boşta kalırsa kapatılabilir. Bağlantıları sürdürmek için minimum instance sayısını ayarlayın veya olay odaklı iletişim için Pub/Sub kullanın.

Cloud Run arka plan işleriyle başa çıkabilir mi?

Doğrudan değil; istek tabanlıdır. Arka plan işlemlerini tetiklemek ve yönetmek için Cloud Tasks, Pub/Sub veya Workflows kullanın.

Cloud Run üzerinde durumlu uygulamalar çalıştırabilir miyim?

Önerilmez; çünkü instance’lar durumsuzdur. Durumu kalıcı kılmak için Cloud Storage, Firestore veya harici bir veritabanı kullanın.

Marie Fayard

Yazar

Marie Fayard

İlk prototipten ürün-pazar uyumuna ve ötesine kadar erken aşama girişimleri büyütme konusunda uzmanlaşmış, ürün odaklı bir teknik liderim. İnsanların teknolojiyi nasıl kullandığına dair bitmeyen bir merakım var ve kurucularla ile disiplinler arası ekiplerle yakın çalışarak cesur fikirleri hayata geçirmeyi seviyorum. Ürün inşa etmediğim zamanlarda ya dünyanın yeni köşelerinde ilham peşinde koşuyor ya da yoga stüdyosunda stres atıyorum.

Konular

İlgili