{"id":2665,"date":"2025-01-31T14:49:00","date_gmt":"2025-01-31T11:49:00","guid":{"rendered":"https:\/\/www.bircloud.com\/cloud\/index.php\/2025\/01\/31\/serverless-fonksiyonlar-event-driven-knative-openfaas\/"},"modified":"2026-02-08T16:12:00","modified_gmt":"2026-02-08T13:12:00","slug":"serverless-fonksiyonlar-event-driven-knative-openfaas","status":"publish","type":"post","link":"https:\/\/www.bircloud.com\/cloud\/index.php\/2025\/01\/31\/serverless-fonksiyonlar-event-driven-knative-openfaas\/","title":{"rendered":"Serverless Fonksiyonlar ile Event-Driven Mimariler: Knative ve OpenFaaS ile Pratik \u00c7\u00f6z\u00fcmler"},"content":{"rendered":"<h2>Giri\u015f: Event-Driven Mimariler ve Serverless Fonksiyonlar\u0131n Y\u00fckseli\u015fi<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde, modern uygulamalar\u0131n karma\u015f\u0131kl\u0131\u011f\u0131 artt\u0131k\u00e7a, geleneksel monolitik mimarilerden daha esnek, \u00f6l\u00e7eklenebilir ve maliyet etkin \u00e7\u00f6z\u00fcmlere olan ihtiya\u00e7 da artmaktad\u0131r. \u0130\u015fte tam bu noktada, <b>event-driven (olay odakl\u0131) mimariler<\/b> ve <b>serverless (sunucusuz) fonksiyonlar<\/b> devreye giriyor. Bu iki kavram, bulut bili\u015fim d\u00fcnyas\u0131nda devrim yaratmakta ve geli\u015ftiricilere uygulamalar\u0131n\u0131 daha h\u0131zl\u0131, daha verimli ve daha az maliyetle geli\u015ftirmeleri i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lar sunmaktad\u0131r.<\/p>\n<p>Event-driven mimariler, uygulamalar\u0131n olaylara tepki vermesi prensibine dayan\u0131r. Bir olay (\u00f6rne\u011fin, bir kullan\u0131c\u0131n\u0131n bir butona t\u0131klamas\u0131, bir sens\u00f6rden gelen bir veri, bir dosyan\u0131n y\u00fcklenmesi) ger\u00e7ekle\u015fti\u011finde, bu olay bir mesaj kuyru\u011funa g\u00f6nderilir ve ilgili servisler bu mesaja abone olarak gerekli i\u015flemleri ger\u00e7ekle\u015ftirir. Bu yakla\u015f\u0131m, servisler aras\u0131ndaki ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 azalt\u0131r, \u00f6l\u00e7eklenebilirli\u011fi art\u0131r\u0131r ve sistemin genel esnekli\u011fini iyile\u015ftirir.<\/p>\n<p>Serverless fonksiyonlar ise, geli\u015ftiricilerin sunucular\u0131 y\u00f6netmek zorunda kalmadan, sadece kodlar\u0131n\u0131 yaz\u0131p \u00e7al\u0131\u015ft\u0131rmalar\u0131na olanak tan\u0131r. Bulut sa\u011flay\u0131c\u0131s\u0131, altyap\u0131y\u0131 y\u00f6netir, kaynaklar\u0131 otomatik olarak \u00f6l\u00e7eklendirir ve sadece kod \u00e7al\u0131\u015ft\u0131\u011f\u0131 s\u00fcre boyunca \u00fccretlendirir. Bu sayede, geli\u015ftiriciler altyap\u0131 y\u00f6netimiyle u\u011fra\u015fmak yerine, i\u015f mant\u0131\u011f\u0131na odaklanabilir ve uygulamalar\u0131n\u0131 daha h\u0131zl\u0131 geli\u015ftirebilirler.<\/p>\n<p>Bu yaz\u0131da, serverless fonksiyonlar ile event-driven mimarileri bir araya getirerek nas\u0131l g\u00fc\u00e7l\u00fc ve \u00f6l\u00e7eklenebilir uygulamalar geli\u015ftirebilece\u011fimizi inceleyece\u011fiz. \u00d6zellikle, <b>Knative<\/b> ve <b>OpenFaaS<\/b> gibi pop\u00fcler a\u00e7\u0131k kaynak ara\u00e7lar\u0131n\u0131 kullanarak, bu mimarileri nas\u0131l hayata ge\u00e7irebilece\u011fimizi ad\u0131m ad\u0131m anlataca\u011f\u0131z. Ayr\u0131ca, <b>BirCloud Teknoloji \u00c7\u00f6z\u00fcmleri<\/b> olarak bu alandaki deneyimlerimizi ve sundu\u011fumuz \u00e7\u00f6z\u00fcmleri de sizlerle payla\u015faca\u011f\u0131z.<\/p>\n<h2>Knative: Kubernetes \u00dczerinde Serverless Devrimi<\/h2>\n<p><b>Knative<\/b>, Kubernetes \u00fczerine in\u015fa edilmi\u015f, serverless i\u015f y\u00fcklerini y\u00f6netmek i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir platformdur. Temel amac\u0131, uygulamalar\u0131n da\u011f\u0131t\u0131m\u0131n\u0131, \u00f6l\u00e7eklendirilmesini ve y\u00f6netilmesini kolayla\u015ft\u0131rmakt\u0131r. Knative, a\u015fa\u011f\u0131daki temel bile\u015fenlerden olu\u015fur:<\/p>\n<ul>\n<li><b>Serving:<\/b> Uygulamalar\u0131n da\u011f\u0131t\u0131m\u0131n\u0131 ve \u00f6l\u00e7eklendirilmesini y\u00f6netir. Otomatik \u00f6l\u00e7eklendirme, trafik y\u00f6nlendirme ve s\u00fcr\u00fcm y\u00f6netimi gibi \u00f6zellikleri sunar.<\/li>\n<li><b>Eventing:<\/b> Olay odakl\u0131 mimarileri destekler. Olay kaynaklar\u0131ndan gelen olaylar\u0131 dinler ve ilgili servislere y\u00f6nlendirir.<\/li>\n<li><b>Build:<\/b> Kaynak koddan konteyner imajlar\u0131 olu\u015fturmay\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<h3>Knative&#8217;in Avantajlar\u0131<\/h3>\n<ul>\n<li><b>Ta\u015f\u0131nabilirlik:<\/b> Kubernetes \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, farkl\u0131 bulut platformlar\u0131nda veya on-premise ortamlarda kolayca \u00e7al\u0131\u015ft\u0131r\u0131labilir.<\/li>\n<li><b>Otomatik \u00d6l\u00e7eklendirme:<\/b> Uygulamalar\u0131n trafi\u011fe g\u00f6re otomatik olarak \u00f6l\u00e7eklenmesini sa\u011flar.<\/li>\n<li><b>Olay Odakl\u0131 Mimari Deste\u011fi:<\/b> Olay kaynaklar\u0131ndan gelen olaylar\u0131 dinleyerek, event-driven uygulamalar\u0131n geli\u015ftirilmesini kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><b>Entegrasyon Kolayl\u0131\u011f\u0131:<\/b> Mevcut Kubernetes altyap\u0131s\u0131yla kolayca entegre edilebilir.<\/li>\n<\/ul>\n<h3>Kullan\u0131m Senaryolar\u0131<\/h3>\n<ul>\n<li><b>Web Uygulamalar\u0131:<\/b> Y\u00fcksek trafikli web uygulamalar\u0131n\u0131n \u00f6l\u00e7eklendirilmesi.<\/li>\n<li><b>API Gateway:<\/b> API isteklerinin y\u00f6nlendirilmesi ve y\u00f6netilmesi.<\/li>\n<li><b>Veri \u0130\u015fleme:<\/b> B\u00fcy\u00fck veri k\u00fcmelerinin i\u015flenmesi.<\/li>\n<li><b>IoT Uygulamalar\u0131:<\/b> Sens\u00f6rlerden gelen verilerin i\u015flenmesi.<\/li>\n<\/ul>\n<figure class=\"bircloud-content-image\"><\/figure>\n<h3>Knative Kurulumu ve Ba\u015flang\u0131\u00e7 Rehberi<\/h3>\n<p>Knative&#8217;i kurmak i\u00e7in \u00f6ncelikle bir Kubernetes k\u00fcmesine ihtiyac\u0131n\u0131z vard\u0131r. Kubernetes k\u00fcmeniz haz\u0131r olduktan sonra, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek Knative&#8217;i kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\n# Knative Serving'i kurun\nkubectl apply -f https:\/\/github.com\/knative\/serving\/releases\/download\/v1.0.0\/serving-crds.yaml\nkubectl apply -f https:\/\/github.com\/knative\/serving\/releases\/download\/v1.0.0\/serving-core.yaml\n\n# Knative Eventing'i kurun (iste\u011fe ba\u011fl\u0131)\nkubectl apply -f https:\/\/github.com\/knative\/eventing\/releases\/download\/v1.0.0\/eventing-crds.yaml\nkubectl apply -f https:\/\/github.com\/knative\/eventing\/releases\/download\/v1.0.0\/eventing-core.yaml\n<\/code><\/pre>\n<p>Knative kurulduktan sonra, bir servis olu\u015fturarak uygulaman\u0131z\u0131 da\u011f\u0131tabilirsiniz. A\u015fa\u011f\u0131daki \u00f6rnek, basit bir Hello World uygulamas\u0131n\u0131n Knative servisi olarak nas\u0131l da\u011f\u0131t\u0131labilece\u011fini g\u00f6stermektedir:<\/p>\n<pre><code class=\"language-yaml\">\napiVersion: serving.knative.dev\/v1\nkind: Service\nmetadata:\n  name: hello-world\nspec:\n  template:\n    spec:\n      containers:\n        - image: gcr.io\/knative-samples\/helloworld-go\n<\/code><\/pre>\n<p>Bu YAML dosyas\u0131n\u0131 `kubectl apply -f hello-world.yaml` komutuyla uygulayarak, Hello World uygulaman\u0131z\u0131 Knative \u00fczerinde da\u011f\u0131tabilirsiniz.<\/p>\n<h2>OpenFaaS: Basit ve Ta\u015f\u0131nabilir Serverless Fonksiyonlar<\/h2>\n<p><b>OpenFaaS (Functions as a Service)<\/b>, konteynerler \u00fczerinde serverless fonksiyonlar \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir framework&#8217;t\u00fcr. Amac\u0131, fonksiyonlar\u0131n geli\u015ftirilmesini, da\u011f\u0131t\u0131lmas\u0131n\u0131 ve y\u00f6netilmesini kolayla\u015ft\u0131rmakt\u0131r. OpenFaaS, Docker ve Kubernetes gibi konteyner teknolojileriyle entegre \u00e7al\u0131\u015f\u0131r.<\/p>\n<h3>OpenFaaS&#8217;\u0131n Avantajlar\u0131<\/h3>\n<ul>\n<li><b>Basitlik:<\/b> Fonksiyonlar\u0131n geli\u015ftirilmesi ve da\u011f\u0131t\u0131lmas\u0131 olduk\u00e7a kolayd\u0131r.<\/li>\n<li><b>Ta\u015f\u0131nabilirlik:<\/b> Docker ve Kubernetes \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, farkl\u0131 ortamlarda kolayca \u00e7al\u0131\u015ft\u0131r\u0131labilir.<\/li>\n<li><b>\u00d6l\u00e7eklenebilirlik:<\/b> Fonksiyonlar\u0131n trafi\u011fe g\u00f6re otomatik olarak \u00f6l\u00e7eklenmesini sa\u011flar.<\/li>\n<li><b>Dil Ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131:<\/b> Herhangi bir programlama dilinde yaz\u0131lm\u0131\u015f fonksiyonlar\u0131 destekler.<\/li>\n<\/ul>\n<h3>Kullan\u0131m Senaryolar\u0131<\/h3>\n<ul>\n<li><b>API Endpoint&#8217;leri:<\/b> Basit API endpoint&#8217;leri olu\u015fturmak i\u00e7in.<\/li>\n<li><b>Webhook \u0130\u015fleme:<\/b> Webhook&#8217;lardan gelen olaylar\u0131 i\u015flemek i\u00e7in.<\/li>\n<li><b>G\u00f6r\u00fcnt\u00fc \u0130\u015fleme:<\/b> G\u00f6r\u00fcnt\u00fclerin yeniden boyutland\u0131r\u0131lmas\u0131, d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi gibi i\u015flemler i\u00e7in.<\/li>\n<li><b>Veri D\u00f6n\u00fc\u015ft\u00fcrme:<\/b> Verilerin farkl\u0131 formatlara d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi i\u00e7in.<\/li>\n<\/ul>\n<figure class=\"bircloud-content-image\"><\/figure>\n<h3>OpenFaaS Kurulumu ve Ba\u015flang\u0131\u00e7 Rehberi<\/h3>\n<p>OpenFaaS&#8217;\u0131 kurmak i\u00e7in \u00f6ncelikle bir Kubernetes k\u00fcmesine ihtiyac\u0131n\u0131z vard\u0131r. Kubernetes k\u00fcmeniz haz\u0131r olduktan sonra, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek OpenFaaS&#8217;\u0131 kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\n# OpenFaaS CLI'y\u0131 kurun\ncurl -sLS https:\/\/cli.openfaas.com | sudo sh\n\n# Kubernetes k\u00fcmenize giri\u015f yap\u0131n\nkubectl config use-context your-cluster-context\n\n# OpenFaaS'\u0131 kurun\nfaas-cli namespace new openfaas\nkubectl apply -f https:\/\/raw.githubusercontent.com\/openfaas\/faas-netes\/master\/namespaces.yml\nkubectl apply -f https:\/\/raw.githubusercontent.com\/openfaas\/faas-netes\/master\/yaml\/openfaas\/openfaas.yml\n<\/code><\/pre>\n<p>OpenFaaS kurulduktan sonra, bir fonksiyon olu\u015fturarak uygulaman\u0131z\u0131 da\u011f\u0131tabilirsiniz. A\u015fa\u011f\u0131daki \u00f6rnek, basit bir Hello World fonksiyonunun OpenFaaS fonksiyonu olarak nas\u0131l da\u011f\u0131t\u0131labilece\u011fini g\u00f6stermektedir:<\/p>\n<pre><code class=\"language-bash\">\n# Yeni bir fonksiyon olu\u015fturun\nfaas-cli new hello-world --lang python3\n\n# Fonksiyon kodunu d\u00fczenleyin (hello-world\/handler.py)\n\n# Fonksiyonu da\u011f\u0131t\u0131n\nfaas-cli up -f hello-world.yml\n<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 takip ederek, Hello World uygulaman\u0131z\u0131 OpenFaaS \u00fczerinde da\u011f\u0131tabilirsiniz.<\/p>\n<h2>BirCloud Perspektifi: Serverless ile Dijital D\u00f6n\u00fc\u015f\u00fcm<\/h2>\n<p><b>BirCloud Teknoloji \u00c7\u00f6z\u00fcmleri<\/b> olarak, m\u00fc\u015fterilerimizin dijital d\u00f6n\u00fc\u015f\u00fcm yolculuklar\u0131nda onlara rehberlik ediyor ve en uygun bulut \u00e7\u00f6z\u00fcmlerini sunuyoruz. Serverless fonksiyonlar ve event-driven mimariler, m\u00fc\u015fterilerimizin uygulamalar\u0131n\u0131 daha esnek, \u00f6l\u00e7eklenebilir ve maliyet etkin hale getirmelerine yard\u0131mc\u0131 oluyor. Knative ve OpenFaaS gibi a\u00e7\u0131k kaynak ara\u00e7lar\u0131n\u0131 kullanarak, m\u00fc\u015fterilerimize \u00f6zel \u00e7\u00f6z\u00fcmler geli\u015ftiriyor ve onlar\u0131n i\u015f s\u00fcre\u00e7lerini optimize etmelerine katk\u0131da bulunuyoruz.<\/p>\n<p>BirCloud olarak, serverless teknolojiler konusunda uzman bir ekibe sahibiz. M\u00fc\u015fterilerimize a\u015fa\u011f\u0131daki konularda destek sa\u011fl\u0131yoruz:<\/p>\n<ul>\n<li><b>Dan\u0131\u015fmanl\u0131k:<\/b> Serverless mimarilerin belirlenmesi ve uygulanmas\u0131.<\/li>\n<li><b>Geli\u015ftirme:<\/b> \u00d6zel serverless fonksiyonlar\u0131n geli\u015ftirilmesi.<\/li>\n<li><b>Entegrasyon:<\/b> Mevcut sistemlerle serverless fonksiyonlar\u0131n entegrasyonu.<\/li>\n<li><b>Y\u00f6netim:<\/b> Serverless fonksiyonlar\u0131n y\u00f6netimi ve izlenmesi.<\/li>\n<\/ul>\n<p>M\u00fc\u015fterilerimizin ihtiya\u00e7lar\u0131na g\u00f6re, Knative veya OpenFaaS gibi farkl\u0131 serverless platformlar\u0131n\u0131 kullanarak \u00e7\u00f6z\u00fcmler geli\u015ftiriyoruz. Amac\u0131m\u0131z, m\u00fc\u015fterilerimizin i\u015f s\u00fcre\u00e7lerini optimize etmek, maliyetleri d\u00fc\u015f\u00fcrmek ve rekabet avantaj\u0131 elde etmelerini sa\u011flamakt\u0131r.<\/p>\n<figure class=\"bircloud-content-image\"><\/figure>\n<h2>Sonu\u00e7: Gelece\u011fin Mimarisi Serverless ve Event-Driven<\/h2>\n<p>Serverless fonksiyonlar ve event-driven mimariler, modern uygulama geli\u015ftirme s\u00fcre\u00e7lerinde \u00f6nemli bir rol oynamaktad\u0131r. Knative ve OpenFaaS gibi a\u00e7\u0131k kaynak ara\u00e7lar, bu mimarilerin hayata ge\u00e7irilmesini kolayla\u015ft\u0131rmakta ve geli\u015ftiricilere g\u00fc\u00e7l\u00fc ara\u00e7lar sunmaktad\u0131r. <b>BirCloud Teknoloji \u00c7\u00f6z\u00fcmleri<\/b> olarak, bu teknolojilerin potansiyelini g\u00f6r\u00fcyor ve m\u00fc\u015fterilerimize bu alanda en iyi \u00e7\u00f6z\u00fcmleri sunmak i\u00e7in \u00e7al\u0131\u015f\u0131yoruz.<\/p>\n<p>Umar\u0131z bu yaz\u0131, serverless fonksiyonlar ve event-driven mimariler hakk\u0131nda size faydal\u0131 bilgiler sa\u011flam\u0131\u015ft\u0131r. Bu teknolojilerle ilgili daha fazla bilgi almak veya projelerinizde destek almak i\u00e7in bizimle ileti\u015fime ge\u00e7ebilirsiniz.<\/p>\n<p>Gelecekteki blog yaz\u0131lar\u0131m\u0131zda, daha detayl\u0131 teknik konular\u0131 ele alacak ve farkl\u0131 serverless platformlar\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131z. Bizi takip etmeye devam edin!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Serverless fonksiyonlarla event-driven mimariler geli\u015ftirin. Knative ve OpenFaaS ile bulut tabanl\u0131 uygulamalar\u0131n\u0131z\u0131 \u00f6l\u00e7eklendirin, maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve geli\u015ftirme s\u00fcre\u00e7lerinizi h\u0131zland\u0131r\u0131n.<\/p>\n","protected":false},"author":1,"featured_media":2663,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[160],"tags":[165,170,171,172,167],"class_list":["post-2665","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bulut-bilisim","tag-bulut-bilisim","tag-event-driven","tag-knative","tag-openfaas","tag-serverless"],"_links":{"self":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts\/2665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/comments?post=2665"}],"version-history":[{"count":1,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts\/2665\/revisions"}],"predecessor-version":[{"id":2666,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts\/2665\/revisions\/2666"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/media\/2663"}],"wp:attachment":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/media?parent=2665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/categories?post=2665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/tags?post=2665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}