{"id":38403,"date":"2026-01-30T15:30:51","date_gmt":"2026-01-30T12:30:51","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/"},"modified":"2026-01-30T15:30:51","modified_gmt":"2026-01-30T12:30:51","slug":"my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/","title":{"rendered":"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme"},"content":{"rendered":"<h2>My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme<\/h2>\n<p>Yeni bir y\u0131l, yeni ba\u015flang\u0131\u00e7lar ve yeni hedefler demektir. Bu &#8220;Yeni Y\u0131l Yeni Sen&#8221; meydan okumas\u0131nda, kendinizi geli\u015ftirmek ve dijital varl\u0131\u011f\u0131n\u0131z\u0131 g\u00fc\u00e7lendirmek i\u00e7in harika bir f\u0131rsat sunuyoruz: kendi ki\u015fisel portf\u00f6y uygulaman\u0131z\u0131 Google Cloud Run \u00fczerinde hayata ge\u00e7irmek. Bu makale, bu heyecan verici yolculukta size rehberlik edecek, modern bulut teknolojilerinin g\u00fcc\u00fcn\u00fc kullanarak projelerinizi ve yeteneklerinizi d\u00fcnyaya sergilemenizi sa\u011flayacak.<\/p>\n<h3>Giri\u015f: Neden Bir Portf\u00f6y Uygulamas\u0131 ve &#8220;Yeni Y\u0131l Yeni Sen&#8221;<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i d\u00fcnyas\u0131nda, ki\u015fisel markala\u015fma ve yeteneklerinizi etkili bir \u015fekilde sergilemek b\u00fcy\u00fck \u00f6nem ta\u015f\u0131maktad\u0131r. Bir portf\u00f6y uygulamas\u0131, projelerinizi, deneyimlerinizi ve becerilerinizi potansiyel i\u015fverenlere, m\u00fc\u015fterilere veya i\u015fbirlik\u00e7ilere sunman\u0131n en profesyonel yollar\u0131ndan biridir. &#8220;Yeni Y\u0131l Yeni Sen&#8221; meydan okumas\u0131 ise, bu projeyi ertelemek yerine hemen \u015fimdi harekete ge\u00e7mek i\u00e7in m\u00fckemmel bir motivasyon kayna\u011f\u0131d\u0131r.<\/p>\n<h4>Ki\u015fisel Markala\u015fman\u0131n \u00d6nemi<\/h4>\n<p>Dijital \u00e7a\u011fda, bir web sitesi veya \u00e7evrimi\u00e7i portf\u00f6y, sizin dijital kartvizitiniz gibidir. Bu, sadece bir \u00f6zge\u00e7mi\u015ften \u00e7ok daha fazlas\u0131n\u0131 sunar; \u00e7al\u0131\u015fmalar\u0131n\u0131z\u0131 canl\u0131 \u00f6rneklerle g\u00f6sterebilir, ki\u015fili\u011finizi yans\u0131tabilir ve potansiyel ba\u011flant\u0131larla do\u011frudan etkile\u015fim kurma imkan\u0131 sunar. Kendi alan ad\u0131n\u0131zla yay\u0131nlanan bir portf\u00f6y, profesyonelli\u011finizi ve teknolojiye olan yatk\u0131nl\u0131\u011f\u0131n\u0131z\u0131 da g\u00f6sterir.<\/p>\n<h4>&#8220;Yeni Y\u0131l Yeni Sen&#8221; Felsefesi ve Proje Hedefleri<\/h4>\n<p>&#8220;Yeni Y\u0131l Yeni Sen&#8221; meydan okumas\u0131, kendinize yeni bir beceri kazand\u0131rmak, mevcut yeteneklerinizi peki\u015ftirmek ve somut bir \u00fcr\u00fcn ortaya koymak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu meydan okuman\u0131n ana hedefi, modern bulut teknolojilerini kullanarak, s\u0131f\u0131rdan veya mevcut projelerinizi d\u00f6n\u00fc\u015ft\u00fcrerek, tamamen i\u015flevsel ve profesyonel bir portf\u00f6y uygulamas\u0131 olu\u015fturmakt\u0131r. Bu s\u00fcre\u00e7te hem teknik bilgi birikiminizi art\u0131racak hem de g\u00f6zle g\u00f6r\u00fcl\u00fcr bir ba\u015far\u0131 elde edeceksiniz.<\/p>\n<h4>Neden Modern Bir Yakla\u015f\u0131m?<\/h4>\n<p>Geleneksel sunucu y\u00f6netimi, kurulum ve bak\u0131m s\u00fcre\u00e7leri zaman al\u0131c\u0131 ve maliyetli olabilir. Modern bulut yakla\u015f\u0131mlar\u0131, \u00f6zellikle sunucusuz (serverless) mimariler, geli\u015ftiricilerin altyap\u0131 endi\u015feleri olmadan kod yazmaya odaklanmas\u0131n\u0131 sa\u011flar. Bu, projenizi daha h\u0131zl\u0131 hayata ge\u00e7irmenize, maliyetleri optimize etmenize ve uygulaman\u0131z\u0131n otomatik olarak \u00f6l\u00e7eklenmesini sa\u011flaman\u0131za olanak tan\u0131r. Google Cloud Run, bu modern yakla\u015f\u0131m\u0131n en g\u00fc\u00e7l\u00fc temsilcilerinden biridir.<\/p>\n<h3>Google Cloud Run Nedir ve Neden Tercih Edilmeli?<\/h3>\n<p>Google Cloud Run, kapsay\u0131c\u0131l\u0131 (containerized) uygulamalar\u0131 sunucusuz bir ortamda \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yan y\u00f6netilen bir bilgi i\u015flem platformudur. Geli\u015ftiricilerin altyap\u0131 y\u00f6netimiyle u\u011fra\u015fmadan, sadece kodlar\u0131na odaklanmas\u0131n\u0131 sa\u011flar. Bu, \u00f6zellikle ki\u015fisel portf\u00f6y gibi de\u011fi\u015fken trafikli uygulamalar i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h4>Sunucusuz (Serverless) Mimarinin Avantajlar\u0131<\/h4>\n<p>Sunucusuz mimari, geli\u015ftiricilerin sunucu provizyonu, yamalama, g\u00fcncelleme veya \u00f6l\u00e7ekleme gibi altyap\u0131 g\u00f6revlerini y\u00f6netme ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r. Bunun yerine, uygulaman\u0131z yaln\u0131zca bir istek geldi\u011finde \u00e7al\u0131\u015f\u0131r ve yaln\u0131zca kulland\u0131\u011f\u0131n\u0131z kaynaklar i\u00e7in \u00f6deme yapars\u0131n\u0131z. Bu, \u00f6zellikle d\u00fc\u015f\u00fck trafikli zamanlarda maliyetleri \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Cloud Run, bu modelin t\u00fcm avantajlar\u0131n\u0131, Docker kapsay\u0131c\u0131lar\u0131n\u0131n esnekli\u011fi ile birle\u015ftirir.<\/p>\n<h4>\u00d6l\u00e7eklenebilirlik ve Otomatik \u00d6l\u00e7eklenme<\/h4>\n<p>Portf\u00f6y uygulaman\u0131z\u0131n trafi\u011fi zaman zaman artabilir, \u00f6zellikle bir i\u015f ba\u015fvurusu yapt\u0131\u011f\u0131n\u0131zda veya projeniz viral oldu\u011funda. Cloud Run, uygulaman\u0131z\u0131n talebe g\u00f6re otomatik olarak s\u0131f\u0131rdan binlerce \u00f6rne\u011fe kadar \u00f6l\u00e7eklenmesini sa\u011flar. Trafik azald\u0131\u011f\u0131nda ise otomatik olarak \u00f6l\u00e7e\u011fi k\u00fc\u00e7\u00fclt\u00fcr, hatta s\u0131f\u0131ra iner. Bu, uygulaman\u0131z\u0131n her zaman eri\u015filebilir ve performansl\u0131 olmas\u0131n\u0131 garanti ederken, gereksiz maliyetlerden ka\u00e7\u0131nman\u0131z\u0131 sa\u011flar.<\/p>\n<h4>Kolay Da\u011f\u0131t\u0131m ve Y\u00f6netim<\/h4>\n<p>Cloud Run, Docker kapsay\u0131c\u0131lar\u0131 kulland\u0131\u011f\u0131 i\u00e7in, uygulaman\u0131z\u0131 yerel ortam\u0131n\u0131zda \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z gibi bulutta da \u00e7al\u0131\u015ft\u0131rabilirsiniz. Mevcut bir Docker imaj\u0131n\u0131 veya kaynak kodunuzu do\u011frudan da\u011f\u0131tabilirsiniz. Google Cloud Console, <code>gcloud<\/code> CLI veya Cloud Build gibi ara\u00e7larla entegrasyonu sayesinde da\u011f\u0131t\u0131m ve y\u00f6netim s\u00fcre\u00e7leri olduk\u00e7a basittir. Bu, geli\u015ftirme d\u00f6ng\u00fcn\u00fcz\u00fc h\u0131zland\u0131r\u0131r ve operasyonel y\u00fck\u00fc azalt\u0131r.<\/p>\n<h3>Portf\u00f6y Uygulaman\u0131z\u0131n Mimarisi ve Geli\u015ftirme S\u00fcreci<\/h3>\n<p>Bir portf\u00f6y uygulamas\u0131 genellikle basit bir yap\u0131ya sahip olsa da, modern web teknolojilerini kullanarak daha dinamik ve etkile\u015fimli hale getirilebilir. Cloud Run, bu t\u00fcr uygulamalar i\u00e7in esnek bir bar\u0131nd\u0131rma ortam\u0131 sunar.<\/p>\n<h4>Teknoloji Se\u00e7imleri (Frontend, Backend, Veritaban\u0131)<\/h4>\n<p>*   <strong>Frontend:<\/strong> React, Vue.js, Angular gibi modern JavaScript k\u00fct\u00fcphaneleri veya framework&#8217;leri ile zengin kullan\u0131c\u0131 aray\u00fczleri olu\u015fturabilirsiniz. Daha basit bir yakla\u015f\u0131m i\u00e7in HTML, CSS ve Vanilla JavaScript de yeterli olabilir.<br \/>\n*   <strong>Backend:<\/strong> Portf\u00f6y\u00fcn\u00fczde dinamik i\u00e7erik (\u00f6rne\u011fin blog yaz\u0131lar\u0131, ileti\u015fim formu) bar\u0131nd\u0131rmak isterseniz, Python (Flask\/Django), Node.js (Express), Go veya Java gibi dillerle bir backend API olu\u015fturabilirsiniz. Cloud Run, bu dillerin hepsiyle uyumludur.<br \/>\n*   <strong>Veritaban\u0131:<\/strong> E\u011fer dinamik i\u00e7erik veya kullan\u0131c\u0131 verisi depolaman\u0131z gerekiyorsa, Google Cloud SQL (PostgreSQL, MySQL) veya Firestore gibi y\u00f6netilen veritaban\u0131 hizmetlerini kullanabilirsiniz. Cloud Run, bu hizmetlerle kolayca entegre olabilir.<\/p>\n<h4>Uygulama Geli\u015ftirme Ad\u0131mlar\u0131<\/h4>\n<p>1.  <strong>Tasar\u0131m ve Planlama:<\/strong> Portf\u00f6y\u00fcn\u00fcz\u00fcn g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc ve hangi bilgileri i\u00e7erece\u011fini planlay\u0131n. Bir tel kafes (wireframe) veya mockup olu\u015fturmak faydal\u0131 olacakt\u0131r.<br \/>\n2.  <strong>Frontend Geli\u015ftirme:<\/strong> Se\u00e7ti\u011finiz teknoloji ile kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fc olu\u015fturun. Duyarl\u0131 (responsive) tasar\u0131m prensiplerine dikkat edin.<br \/>\n3.  <strong>Backend Geli\u015ftirme (iste\u011fe ba\u011fl\u0131):<\/strong> E\u011fer dinamik bir yap\u0131ya ihtiyac\u0131n\u0131z varsa, API u\u00e7 noktalar\u0131n\u0131 ve i\u015f mant\u0131\u011f\u0131n\u0131 geli\u015ftirin.<br \/>\n4.  <strong>Veritaban\u0131 Entegrasyonu (iste\u011fe ba\u011fl\u0131):<\/strong> Veritaban\u0131 modelinizi tasarlay\u0131n ve uygulaman\u0131zla entegre edin.<br \/>\n5.  <strong>Yerel Test:<\/strong> Uygulaman\u0131z\u0131 yerel ortam\u0131n\u0131zda kapsaml\u0131 bir \u015fekilde test edin.<\/p>\n<h4>Kapsay\u0131c\u0131la\u015ft\u0131rma (Containerization) ve Docker<\/h4>\n<p>Cloud Run, uygulamalar\u0131 Docker kapsay\u0131c\u0131lar\u0131 i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131r. Bu, uygulaman\u0131z\u0131n t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131yla birlikte izole bir ortamda paketlenmesi anlam\u0131na gelir.<br \/>\nBir <code>Dockerfile<\/code> olu\u015fturarak uygulaman\u0131z\u0131n nas\u0131l derlenece\u011fini ve \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 tan\u0131mlars\u0131n\u0131z. Bu dosya, uygulaman\u0131z\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli t\u00fcm ad\u0131mlar\u0131 (taban imaj\u0131 se\u00e7imi, ba\u011f\u0131ml\u0131l\u0131klar\u0131n y\u00fcklenmesi, kodun kopyalanmas\u0131, portun a\u00e7\u0131lmas\u0131 vb.) i\u00e7erir.<\/p>\n<pre><code class=\"language-dockerfile\">\n# Dockerfile\n# Python taban imaj\u0131n\u0131 kullan\nFROM python:3.9-slim-buster\n\n# \u00c7al\u0131\u015fma dizinini ayarla\nWORKDIR \/app\n\n# Ba\u011f\u0131ml\u0131l\u0131klar\u0131 kopyala ve y\u00fckle\nCOPY requirements.txt .\nRUN pip install --no-cache-dir -r requirements.txt\n\n# Uygulama kodunu kopyala\nCOPY . .\n\n# Uygulaman\u0131n dinleyece\u011fi portu belirt\nENV PORT 8080\nEXPOSE 8080\n\n# Uygulamay\u0131 ba\u015flatma komutu\nCMD [\"python\", \"app.py\"]\n<\/pre>\n<p><\/code><\/p>\n<pre><code class=\"language-python\">\n# app.py (Basit bir Flask uygulamas\u0131 \u00f6rne\u011fi)\nfrom flask import Flask, render_template_string\n\napp = Flask(__name__)\n\n@app.route('\/')\ndef home():\n    return render_template_string(\"\"\"\n        <!DOCTYPE html>\n        <html lang=\"tr\">\n        <head>\n            <meta charset=\"UTF-8\">\n            <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n            <title>My Portfolio - Yeni Y\u0131l Yeni Sen<\/title>\n            <style>\n                body { font-family: Arial, sans-serif; margin: 40px; background-color: #f4f4f4; color: #333; }\n                h1 { color: #0056b3; }\n                p { line-height: 1.6; }\n            <\/style>\n        <\/head>\n        <body>\n            <h1>Ho\u015f Geldiniz!<\/h1>\n            <p>Bu, Google Cloud Run \u00fczerinde \u00e7al\u0131\u015fan \"My Portfolio - Yeni Y\u0131l Yeni Sen\" meydan okumas\u0131n\u0131n bir par\u00e7as\u0131 olan \u00f6rnek portf\u00f6y uygulaman\u0131zd\u0131r.<\/p>\n            <p>Uygulaman\u0131z\u0131 geli\u015ftirmeye devam edin ve yeteneklerinizi sergileyin!<\/p>\n        <\/body>\n        <\/html>\n    \"\"\")\n\nif __name__ == '__main__':\n    app.run(debug=True, host='0.0.0.0', port=8080)\n<\/pre>\n<p><\/code><\/p>\n<pre><code class=\"language-text\">\n# requirements.txt\nFlask\n<\/pre>\n<p><\/code><\/p>\n<h3>Google Cloud Run \u00dczerinde Da\u011f\u0131t\u0131m (Deployment) Ad\u0131mlar\u0131<\/h3>\n<p>Uygulaman\u0131z\u0131 bir Docker kapsay\u0131c\u0131s\u0131na d\u00f6n\u00fc\u015ft\u00fcrd\u00fckten sonra, Cloud Run'a da\u011f\u0131tmak olduk\u00e7a basittir. \u0130\u015fte ad\u0131m ad\u0131m s\u00fcre\u00e7:<\/p>\n<h4>Google Cloud Projesi Olu\u015fturma ve Ayarlar<\/h4>\n<p>1.  <strong>Google Cloud Hesab\u0131:<\/strong> Bir Google Cloud hesab\u0131n\u0131z oldu\u011fundan emin olun. Yeni kullan\u0131c\u0131lar genellikle \u00fccretsiz kredi al\u0131r.<br \/>\n2.  <strong>Proje Olu\u015fturma:<\/strong> Google Cloud Console'a gidin ve yeni bir proje olu\u015fturun veya mevcut bir projeyi se\u00e7in.<br \/>\n3.  <strong>API'leri Etkinle\u015ftirme:<\/strong> Cloud Run API'sini ve Cloud Build API'sini (e\u011fer kaynak koddan da\u011f\u0131t\u0131m yapacaksan\u0131z) etkinle\u015ftirin.<\/p>\n<h4>Docker \u0130maj\u0131n\u0131 Olu\u015fturma ve Google Container Registry'ye Y\u00fckleme<\/h4>\n<p>1.  <strong>GCP CLI Kurulumu:<\/strong> Google Cloud SDK'y\u0131 bilgisayar\u0131n\u0131za kurun ve <code>gcloud auth login<\/code> ile kimlik do\u011frulamas\u0131 yap\u0131n.<br \/>\n2.  <strong>Docker \u0130maj\u0131n\u0131 Olu\u015fturma:<\/strong> Uygulaman\u0131z\u0131n k\u00f6k dizininde (Dockerfile'\u0131n oldu\u011fu yer) a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">\n    docker build -t gcr.io\/<PROJE_ID>\/my-portfolio:latest .\n    <\/pre>\n<p><\/code><br \/>\n    *   <code><PROJE_ID><\/code> yerine kendi Google Cloud Proje ID'nizi yaz\u0131n.<br \/>\n3.  <strong>\u0130maj\u0131 Y\u00fckleme:<\/strong> Olu\u015fturdu\u011funuz Docker imaj\u0131n\u0131 Google Container Registry'ye (GCR) y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">\n    docker push gcr.io\/<PROJE_ID>\/my-portfolio:latest\n    <\/pre>\n<p><\/code><br \/>\n    Art\u0131k imaj\u0131n\u0131z bulutta depolanm\u0131\u015ft\u0131r ve Cloud Run taraf\u0131ndan kullan\u0131labilir.<\/p>\n<h4>Cloud Run Servisini Da\u011f\u0131tma ve Yap\u0131land\u0131rma<\/h4>\n<p>1.  <strong>Servis Da\u011f\u0131t\u0131m\u0131:<\/strong> Cloud Run servisini da\u011f\u0131tmak i\u00e7in a\u015fa\u011f\u0131daki <code>gcloud<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">\n    gcloud run deploy my-portfolio-app \\\n      --image gcr.io\/<PROJE_ID>\/my-portfolio:latest \\\n      --platform managed \\\n      --region us-central1 \\\n      --allow-unauthenticated \\\n      --port 8080\n    <\/pre>\n<p><\/code><br \/>\n    *   <code>my-portfolio-app<\/code>: Servisinizin ad\u0131.<br \/>\n    *   <code>--image<\/code>: GCR'ye y\u00fckledi\u011finiz imaj\u0131n yolu.<br \/>\n    *   <code>--platform managed<\/code>: Y\u00f6netilen Cloud Run platformunu kullanaca\u011f\u0131n\u0131z\u0131 belirtir.<br \/>\n    *   <code>--region<\/code>: Uygulaman\u0131z\u0131 da\u011f\u0131tmak istedi\u011finiz b\u00f6lge (\u00f6rne\u011fin <code>us-central1<\/code>, <code>europe-west1<\/code>).<br \/>\n    *   <code>--allow-unauthenticated<\/code>: Uygulaman\u0131z\u0131n genel eri\u015fime a\u00e7\u0131k olmas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>--port 8080<\/code>: Uygulaman\u0131z\u0131n Docker kapsay\u0131c\u0131s\u0131 i\u00e7inde dinledi\u011fi portu belirtir.<br \/>\n2.  <strong>Da\u011f\u0131t\u0131m Onay\u0131:<\/strong> Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, sizden onay isteyebilir. Onaylad\u0131ktan sonra Cloud Run servisi olu\u015fturulacak ve uygulaman\u0131z da\u011f\u0131t\u0131lacakt\u0131r.<br \/>\n3.  <strong>URL Alma:<\/strong> Da\u011f\u0131t\u0131m tamamland\u0131\u011f\u0131nda, uygulaman\u0131z\u0131n eri\u015filebilir oldu\u011fu bir URL alacaks\u0131n\u0131z. Bu URL'yi taray\u0131c\u0131n\u0131zda a\u00e7arak uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayabilirsiniz.<\/p>\n<h3>Uygulaman\u0131z\u0131 Daha da Geli\u015ftirmek ve Optimize Etmek<\/h3>\n<p>Portf\u00f6y uygulaman\u0131z\u0131 da\u011f\u0131tt\u0131ktan sonra, onu daha profesyonel hale getirmek ve kullan\u0131c\u0131 deneyimini iyile\u015ftirmek i\u00e7in \u00e7e\u015fitli geli\u015ftirmeler yapabilirsiniz.<\/p>\n<h4>\u00d6zel Alan Ad\u0131 (Custom Domain) Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Cloud Run, uygulaman\u0131z i\u00e7in varsay\u0131lan bir URL sa\u011flar, ancak <code>www.sizinadiniz.com<\/code> gibi kendi \u00f6zel alan ad\u0131n\u0131z\u0131 kullanmak profesyonelli\u011fi art\u0131r\u0131r.<br \/>\n1.  <strong>Alan Ad\u0131 Kayd\u0131:<\/strong> Bir alan ad\u0131 sa\u011flay\u0131c\u0131s\u0131ndan (Google Domains, GoDaddy vb.) bir alan ad\u0131 sat\u0131n al\u0131n.<br \/>\n2.  <strong>Cloud Run Entegrasyonu:<\/strong> Google Cloud Console'da Cloud Run servisinize gidin. \"\u00d6zel Alan Adlar\u0131\" sekmesinden \"Alan Ad\u0131 E\u015fle\" se\u00e7ene\u011fini kullanarak alan ad\u0131n\u0131z\u0131 Cloud Run servisinize ba\u011flay\u0131n.<br \/>\n3.  <strong>DNS Kay\u0131tlar\u0131:<\/strong> Cloud Run size DNS sa\u011flay\u0131c\u0131n\u0131zda ayarlaman\u0131z gereken CNAME ve\/veya A kay\u0131tlar\u0131n\u0131 verecektir. Bu kay\u0131tlar\u0131 alan ad\u0131 sa\u011flay\u0131c\u0131n\u0131z\u0131n DNS y\u00f6netimi panelinde yap\u0131land\u0131r\u0131n.<\/p>\n<h4>CI\/CD Entegrasyonu (GitHub Actions\/Cloud Build)<\/h4>\n<p>S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131 kurmak, kod de\u011fi\u015fikliklerinizi otomatik olarak test etmenizi ve da\u011f\u0131tman\u0131z\u0131 sa\u011flar.<br \/>\n*   <strong>GitHub Actions:<\/strong> Kodunuzu GitHub'da bar\u0131nd\u0131r\u0131yorsan\u0131z, GitHub Actions ile bir i\u015f ak\u0131\u015f\u0131 olu\u015fturarak her <code>git push<\/code> i\u015fleminde otomatik olarak Docker imaj\u0131n\u0131z\u0131 olu\u015fturup GCR'ye y\u00fckleyebilir ve Cloud Run servisinizi g\u00fcncelleyebilirsiniz.<br \/>\n*   <strong>Google Cloud Build:<\/strong> Kaynak kodunuzu do\u011frudan Cloud Build'e ba\u011flayarak, belirli bir branch'e yap\u0131lan her push i\u015fleminde uygulaman\u0131z\u0131 otomatik olarak derleyip Cloud Run'a da\u011f\u0131tabilirsiniz. Bu, manuel da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini ortadan kald\u0131r\u0131r ve hata yapma olas\u0131l\u0131\u011f\u0131n\u0131 azalt\u0131r.<\/p>\n<h4>Performans \u0130yile\u015ftirmeleri ve Caching<\/h4>\n<p>*   <strong>CDN Kullan\u0131m\u0131:<\/strong> Statik i\u00e7erikleriniz (resimler, CSS, JavaScript dosyalar\u0131) i\u00e7in Google Cloud CDN gibi bir \u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011f\u0131 (CDN) kullanarak uygulaman\u0131z\u0131n y\u00fcklenme h\u0131z\u0131n\u0131 art\u0131rabilirsiniz. CDN, i\u00e7eri\u011fi kullan\u0131c\u0131lara co\u011frafi olarak daha yak\u0131n sunucularda \u00f6nbelle\u011fe alarak gecikmeyi azalt\u0131r.<br \/>\n*   <strong>\u00d6nbellekleme Stratejileri:<\/strong> Dinamik i\u00e7erikleriniz i\u00e7in uygun \u00f6nbellekleme stratejileri uygulay\u0131n. HTTP \u00f6nbellek ba\u015fl\u0131klar\u0131n\u0131 (Cache-Control) kullanarak taray\u0131c\u0131 \u00f6nbelleklemesini veya Cloud CDN ile \u00f6nbellekleme yapabilirsiniz. Backend'inizde Redis gibi bir \u00f6nbellek katman\u0131 da kullanabilirsiniz.<\/p>\n<h3>G\u00fcvenlik ve Maliyet Y\u00f6netimi \u0130pu\u00e7lar\u0131<\/h3>\n<p>Bulut uygulamalar\u0131 geli\u015ftirirken g\u00fcvenlik ve maliyet y\u00f6netimi her zaman \u00f6ncelikli olmal\u0131d\u0131r.<\/p>\n<h4>Kimlik Do\u011frulama ve Yetkilendirme Stratejileri<\/h4>\n<p>*   <strong>Herkese A\u00e7\u0131k Portf\u00f6y:<\/strong> E\u011fer portf\u00f6y\u00fcn\u00fcz tamamen herkese a\u00e7\u0131k olacaksa, <code>--allow-unauthenticated<\/code> bayra\u011f\u0131n\u0131 kullanmaya devam edebilirsiniz.<br \/>\n*   <strong>Y\u00f6netici Paneli:<\/strong> E\u011fer portf\u00f6y\u00fcn\u00fczde bir y\u00f6netici paneli veya \u00f6zel i\u00e7erik varsa, Google Identity Platform (Firebase Authentication), Auth0 veya kendi JWT tabanl\u0131 kimlik do\u011frulama sisteminizi kullanarak eri\u015fimi k\u0131s\u0131tlayabilirsiniz. Cloud Run, IAM (Identity and Access Management) ile entegre \u00e7al\u0131\u015farak servislerinize kimlerin eri\u015febilece\u011fini detayl\u0131 bir \u015fekilde kontrol etmenizi sa\u011flar.<\/p>\n<h4>G\u00fcvenlik A\u00e7\u0131klar\u0131n\u0131 \u00d6nleme<\/h4>\n<p>*   <strong>Ba\u011f\u0131ml\u0131l\u0131k G\u00fcncellemeleri:<\/strong> Uygulaman\u0131z\u0131n kulland\u0131\u011f\u0131 t\u00fcm k\u00fct\u00fcphaneleri ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 d\u00fczenli olarak g\u00fcncelleyin. G\u00fcvenlik a\u00e7\u0131klar\u0131 genellikle eski s\u00fcr\u00fcmlerde bulunur.<br \/>\n*   <strong>G\u00fcvenli Kodlama Pratikleri:<\/strong> XSS (Cross-Site Scripting), SQL Injection gibi yayg\u0131n web g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 \u00f6nlemler al\u0131n. Kullan\u0131c\u0131 giri\u015flerini her zaman do\u011frulay\u0131n ve sanitize edin.<br \/>\n*   <strong>S\u0131rlar Y\u00f6netimi:<\/strong> API anahtarlar\u0131, veritaban\u0131 \u015fifreleri gibi hassas bilgileri kodunuzda do\u011frudan saklamay\u0131n. Google Secret Manager veya Cloud Run'\u0131n ortam de\u011fi\u015fkenleri (environment variables) \u00f6zelli\u011fini kullanarak bu s\u0131rlar\u0131 g\u00fcvenli bir \u015fekilde y\u00f6netin.<\/p>\n<h4>Cloud Run Maliyetlerini Optimize Etme<\/h4>\n<p>Cloud Run'\u0131n \"kulland\u0131\u011f\u0131n kadar \u00f6de\" modeli genellikle maliyet etkin olsa da, baz\u0131 optimizasyonlar yapabilirsiniz:<br \/>\n*   <strong>Maksimum E\u015fzamanl\u0131l\u0131k (Concurrency):<\/strong> Her bir Cloud Run \u00f6rne\u011finin ayn\u0131 anda ka\u00e7 iste\u011fi i\u015fleyebilece\u011fini ayarlayarak maliyetleri optimize edebilirsiniz. Varsay\u0131lan de\u011fer 80'dir, ancak uygulaman\u0131z\u0131n performans\u0131na g\u00f6re bunu de\u011fi\u015ftirebilirsiniz.<br \/>\n*   <strong>CPU Ayarlar\u0131:<\/strong> Uygulaman\u0131z\u0131n CPU tahsisini \"CPU her zaman tahsis edildi\" veya \"CPU sadece istek s\u0131ras\u0131nda tahsis edildi\" olarak ayarlayabilirsiniz. Arka planda i\u015flem yapmayan veya d\u00fc\u015f\u00fck trafikli uygulamalar i\u00e7in \"CPU sadece istek s\u0131ras\u0131nda tahsis edildi\" se\u00e7ene\u011fi daha uygun maliyetlidir.<br \/>\n*   <strong>Maksimum ve Minimum \u00d6rnek Say\u0131s\u0131:<\/strong> Uygulaman\u0131z\u0131n bo\u015fta kalma s\u00fcresini ve minimum \u00f6rnek say\u0131s\u0131n\u0131 ayarlayarak maliyetleri kontrol alt\u0131nda tutabilirsiniz. <code>min-instances<\/code> de\u011ferini 0 olarak ayarlamak, trafik olmad\u0131\u011f\u0131nda hi\u00e7bir maliyet \u00f6dememenizi sa\u011flar.<br \/>\n*   <strong>B\u00fct\u00e7e Uyar\u0131lar\u0131:<\/strong> Google Cloud'da b\u00fct\u00e7e uyar\u0131lar\u0131 ayarlayarak harcamalar\u0131n\u0131z\u0131 takip edin ve beklenmedik maliyet art\u0131\u015flar\u0131n\u0131 \u00f6nleyin.<\/p>\n<h3>Sonu\u00e7: Gelece\u011fe Y\u00f6nelik Bir Ad\u0131m<\/h3>\n<p>\"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen\" meydan okumas\u0131, sadece bir portf\u00f6y uygulamas\u0131 olu\u015fturmaktan \u00e7ok daha fazlas\u0131n\u0131 temsil ediyor. Bu, modern bulut teknolojilerini \u00f6\u011frenmek, kendinizi geli\u015ftirmek ve dijital d\u00fcnyada g\u00fc\u00e7l\u00fc bir varl\u0131k olu\u015fturmak i\u00e7in at\u0131lm\u0131\u015f somut bir ad\u0131md\u0131r. Google Cloud Run'\u0131n sundu\u011fu esneklik, \u00f6l\u00e7eklenebilirlik ve kullan\u0131m kolayl\u0131\u011f\u0131 sayesinde, altyap\u0131 endi\u015feleri olmadan yarat\u0131c\u0131l\u0131\u011f\u0131n\u0131za odaklanabilir ve projelerinizi h\u0131zla hayata ge\u00e7irebilirsiniz.<\/p>\n<p>Bu s\u00fcre\u00e7te edindi\u011finiz bilgiler ve olu\u015fturdu\u011funuz uygulama, kariyerinizde yeni kap\u0131lar a\u00e7abilir, yeni f\u0131rsatlar yaratabilir. Unutmay\u0131n, geli\u015fim s\u00fcrekli bir yolculuktur. Uygulaman\u0131z\u0131 yay\u0131nlad\u0131ktan sonra bile, yeni \u00f6zellikler eklemeye, performans\u0131 iyile\u015ftirmeye ve en son teknolojileri ke\u015ffetmeye devam edin. \"Yeni Y\u0131l Yeni Sen\" felsefesiyle \u00e7\u0131kt\u0131\u011f\u0131n\u0131z bu yolda, ba\u015far\u0131lar dileriz!<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>Cloud Run \u00fccretsiz mi?<\/h4>\n<p>Cloud Run, belirli bir kullan\u0131m limitine kadar \u00fccretsiz bir katman sunar. Bu limitler genellikle ki\u015fisel portf\u00f6y gibi d\u00fc\u015f\u00fck trafikli uygulamalar i\u00e7in yeterli olabilir. Limitlerin \u00fczerinde kullan\u0131m durumunda ise \"kulland\u0131\u011f\u0131n kadar \u00f6de\" prensibiyle \u00fccretlendirilirsiniz. Detayl\u0131 bilgi i\u00e7in Google Cloud fiyatland\u0131rma sayfas\u0131na bakabilirsiniz.<\/p>\n<h4>Cloud Run hangi programlama dillerini destekliyor?<\/h4>\n<p>Cloud Run, Docker kapsay\u0131c\u0131lar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131 i\u00e7in, bir Docker imaj\u0131 olu\u015fturabildi\u011finiz s\u00fcrece teorik olarak herhangi bir programlama dilini (Python, Node.js, Go, Java, .NET, PHP, Ruby vb.) destekler.<\/p>\n<h4>Veritaban\u0131 nas\u0131l entegre ederim?<\/h4>\n<p>Cloud Run uygulaman\u0131zdan Google Cloud SQL (PostgreSQL, MySQL, SQL Server), Firestore veya Cloud Spanner gibi y\u00f6netilen veritaban\u0131 hizmetlerine kolayca ba\u011flanabilirsiniz. Cloud SQL i\u00e7in \"Cloud SQL ba\u011flant\u0131 proxy'si\"ni kullanarak g\u00fcvenli ve y\u00f6netilen bir ba\u011flant\u0131 kurmak en iyi uygulamad\u0131r.<\/p>\n<h4>Portf\u00f6y uygulamam i\u00e7in ne kadar maliyet beklemeliyim?<\/h4>\n<p>\u00c7o\u011fu ki\u015fisel portf\u00f6y uygulamas\u0131, Cloud Run'\u0131n \u00fccretsiz katman limitleri i\u00e7inde kalabilir veya \u00e7ok d\u00fc\u015f\u00fck maliyetlerle (ayl\u0131k birka\u00e7 dolar) \u00e7al\u0131\u015fabilir. Maliyetler, uygulaman\u0131z\u0131n ald\u0131\u011f\u0131 trafik miktar\u0131na, kullan\u0131lan CPU ve bellek kaynaklar\u0131na, ve ek olarak kulland\u0131\u011f\u0131n\u0131z di\u011fer Google Cloud hizmetlerine (veritaban\u0131, depolama vb.) ba\u011fl\u0131d\u0131r.<\/p>\n<h4>Cloud Run yerine ba\u015fka hangi se\u00e7enekler var?<\/h4>\n<p>Google Cloud i\u00e7inde benzer sunucusuz se\u00e7enekler aras\u0131nda Cloud Functions (daha \u00e7ok tekil fonksiyonlar i\u00e7in), App Engine (daha \u00e7ok geleneksel web uygulamalar\u0131 i\u00e7in) ve Kubernetes Engine (daha fazla kontrol ve esneklik isteyenler i\u00e7in) bulunmaktad\u0131r. Di\u011fer bulut sa\u011flay\u0131c\u0131lar\u0131nda ise AWS Lambda, Azure Functions, Heroku gibi alternatifler mevcuttur. Cloud Run, kapsay\u0131c\u0131 esnekli\u011fi ile sunucusuz kolayl\u0131\u011f\u0131n\u0131 birle\u015ftirdi\u011fi i\u00e7in genellikle tercih edilen bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n","protected":false},"excerpt":{"rendered":"Bu, Google Cloud Run \u00fczerinde \u00e7al\u0131\u015fan &#8220;My Portfolio &#8211; Yeni Y\u0131l Yeni Sen&#8221; meydan okumas\u0131n\u0131n bir par\u00e7as\u0131 olan \u00f6rnek portf\u00f6y uygulaman\u0131zd\u0131r.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1341],"tags":[],"class_list":{"0":"post-38403","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-cloud","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme\" \/>\n<meta property=\"og:description\" content=\"Bu, Google Cloud Run \u00fczerinde \u00e7al\u0131\u015fan &quot;My Portfolio - Yeni Y\u0131l Yeni Sen&quot; meydan okumas\u0131n\u0131n bir par\u00e7as\u0131 olan \u00f6rnek portf\u00f6y uygulaman\u0131zd\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-30T12:30:51+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme\",\"datePublished\":\"2026-01-30T12:30:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\"},\"wordCount\":2746,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Cloud\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\",\"name\":\"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-30T12:30:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/","og_locale":"tr_TR","og_type":"article","og_title":"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme","og_description":"Bu, Google Cloud Run \u00fczerinde \u00e7al\u0131\u015fan \"My Portfolio - Yeni Y\u0131l Yeni Sen\" meydan okumas\u0131n\u0131n bir par\u00e7as\u0131 olan \u00f6rnek portf\u00f6y uygulaman\u0131zd\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-30T12:30:51+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme","datePublished":"2026-01-30T12:30:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/"},"wordCount":2746,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Cloud"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/","url":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/","name":"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-30T12:30:51+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/my-portfolio-yeni-yil-yeni-sen-meydan-okumasi-google-cloud-run-ile-modern-bir-portfoy-uygulamasi-gelistirme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"My Portfolio \u2013 Yeni Y\u0131l Yeni Sen Meydan Okumas\u0131: Google Cloud Run ile Modern Bir Portf\u00f6y Uygulamas\u0131 Geli\u015ftirme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38403"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38403\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}