İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Microsoft Azure
  • Azure App Service Linux’ta FastAPI Dağıtımı Sadeleşti
Bulut Altyapı Microsoft Azure ASGI, azure app service, FastAPI, Gunicorn, Uvicorn Aşkın KILIÇ 09/08/2026 2 Yorumlar

Azure App Service Linux’ta FastAPI Dağıtımı Sadeleşti

Azure App Service Linux'ta FastAPI Dağıtımı Sadeleşti
📑 İçindekiler
  1. Önceki durumda ne yapmak gerekiyordu?
  2. Neyin değiştiği: Otomatik FastAPI tespiti
  3. Uygulamanız nasıl başlatılıyor?
  4. Birden fazla framework varsa öncelik sırası
  5. Bu değişiklik sizin için ne anlama geliyor?
  6. Kullanılabilirlik
  7. Özet
  8. İlgili İçerikler
  9. Kaynaklar ve İleri Okuma

⏱️ 3 dk okuma📅 9 Ağustos 2026

Azure App Service for Linux üzerinde FastAPI uygulamalarını çalıştırmak, uzun süredir küçük ama can sıkıcı bir ek adım gerektiriyordu: ASGI destekli bir sunucunun devreye girebilmesi için elle startup command tanımlamak. Azure App Service ekibinin duyurduğu son iyileştirmeyle bu adım ortadan kalkıyor. Platform artık FastAPI uygulamalarını otomatik tanıyıp uygun başlatma davranışını kendisi yapılandırıyor.

İlgili içerik: Azure Portal'dan ZIP ile App Service Dağıtımı Kolaylaştı

İlgili içerik: Azure App Service Linux'ta Deferred Kudu Recycle ile

Bu yazıda kaynak duyuruya dayanarak neyin değiştiğine, tespit mantığının nasıl çalıştığına, uygulamanızı hangi komutun ayağa kaldırdığına ve birden fazla framework belirtisi olduğunda önceliklendirmenin nasıl yürüdüğüne bakacağız.

Önceki durumda ne yapmak gerekiyordu?

FastAPI, ASGI (Asynchronous Server Gateway Interface) tabanlı bir Python web framework’ü. Bu yüzden klasik WSGI sunucularıyla doğrudan çalışmaz; önünde Uvicorn gibi bir ASGI sunucusu ya da Uvicorn worker sınıfını kullanan bir Gunicorn yapılandırması bulunması gerekir.

App Service üzerinde Python uygulaması yayınlandığında bu yapılandırma otomatik yapılmıyordu. Geliştiricinin, uygulamanın doğru başlatılabilmesi için özel bir başlatma komutu girmesi bekleniyordu. FastAPI’yi App Service üzerinde ilk kez deneyen kullanıcılar için ek bir sürtünme noktasıydı bu.

Neyin değiştiği: Otomatik FastAPI tespiti

Azure App Service ekibinin duyurusuna göre platforma yerleşik bir tespit mantığı eklendi. Bir Python uygulaması dağıtıldığında App Service, yaygın giriş noktası dosyalarını tarayarak uygulamanın FastAPI olup olmadığını anlamaya çalışıyor.

Taranan dosya adları şunlar:

  • main.py
  • app.py
  • application.py
  • server.py
  • asgi.py
  • api.py
  • index.py
  • run.py

Bu dosyalardan herhangi biri from fastapi ya da import fastapi ifadesiyle FastAPI’yi içe aktarıyorsa App Service uygulamayı FastAPI olarak sınıflandırıyor.

Yanlış pozitiflerin önüne geçmek için bir güvenlik önlemi de var: Aynı dosyada Flask de içe aktarılmışsa, o dosya FastAPI tespiti sırasında atlanıyor. Böylece aynı projede iki framework’ün ipuçları birlikte bulunduğunda yanlış tanıma engellenmiş oluyor.

Uygulamanız nasıl başlatılıyor?

FastAPI olarak algılanan bir uygulama tespit edildiğinde App Service, Gunicorn’u Uvicorn worker sınıfıyla çalıştırıyor. Otomatik kullanılan komut şu:

gunicorn -k uvicorn_worker.UvicornWorker

Bu yapılandırma, FastAPI’nin ihtiyaç duyduğu ASGI desteğini doğrudan sağlıyor. Geliştiricinin bu komutu elle tanımlamasına gerek kalmıyor; runtime akışı uygun sunucu yapılandırmasını kendiliğinden devreye alıyor.

Birden fazla framework varsa öncelik sırası

Gerçek dünya projelerinde bir Python deposu içinde birden çok framework’e ait dosya ya da içe aktarma ifadesi bulunabilir. Bu tür durumlar için App Service’in izlediği bir öncelik sırası tanımlı:

  1. Django
  2. FastAPI
  3. Flask

Django, hem FastAPI hem Flask’a göre öncelikli. Özellikle bir alt dizinde wsgi.py dosyası bulunduğunda Django önceliği korunuyor. FastAPI ise Flask’ın önüne geçiyor. Bu sıralama, karışık ya da geçiş halindeki projelerde platformun hangi framework davranışını uygulayacağını belirlemek açısından önemli.

Bu değişiklik sizin için ne anlama geliyor?

Pratik sonuç net: Azure App Service for Linux üzerine bir FastAPI uygulaması dağıtırken, desteklenen runtime akışında artık özel bir startup command tanımlamanız gerekmiyor. Oryx build sistemi uygulamayı FastAPI olarak algılıyor ve başlatma davranışını otomatik yapılandırıyor.

Özellikle şu senaryolarda faydalı:

  • FastAPI’yi App Service üzerinde ilk kez deneyen geliştiriciler için giriş engelinin azalması.
  • CI/CD boru hatlarında startup command yönetimine ayrılan ek yapılandırmanın sadeleşmesi.
  • Şablon veya hızlı başlangıç projelerinde manuel adımların gerekmemesi.

Kurulum sırasında atlanması gereken bir adım daha ortadan kalkıyor ve FastAPI uygulamalarını App Service üzerinde ayağa kaldırmak daha az sürtünmeli hale geliyor.

Kullanılabilirlik

Duyuruya göre bu iyileştirme şimdilik Python 3.14 ve sonraki sürümler için etkinleştirilmiş durumda. Ek Python sürümlerine yönelik desteğin ilerleyen bir dağıtımla devreye alınacağı belirtiliyor. Daha eski Python sürümlerinde çalışan FastAPI uygulamalarının halihazırdaki startup command yaklaşımını sürdürmesi gerekiyor.

Özet

Azure App Service ekibinin FastAPI için eklediği otomatik tespit ve başlatma yapılandırması, Python geliştiricileri açısından küçük ama etkili bir kalite iyileştirmesi. Belirli dosya adlarında FastAPI içe aktarmasının bulunması yeterli; platform uygulamayı Gunicorn üzerinden Uvicorn worker’ı ile başlatıyor. Django önceliği korunurken FastAPI, Flask’ın önüne geçen bir konumda tanımlı. Değişiklik Python 3.14 ile kullanılabilir; gelecek dağıtımlarda daha geniş bir sürüm yelpazesine ulaşması planlanıyor.

İlgili İçerikler

  • Azure App Service Build 2026: Easy AI, Iv4 ve Yenilikler
  • PHP 8.5 Azure App Service’te: Ne Değişti?
  • Azure App Service Slot Deployment azd ile Kolaylaştı

Kaynaklar ve İleri Okuma

  • Simplifying FastAPI Deployments on Azure App Service for Linux — Azure App Service Blog
  • Azure App Service Python Quickstart — Microsoft Learn
  • Python AI Uygulamalarında Azure App Service: Hız Kazandıran Sessiz Değişim
  • Azure App Service Linux’ta Startup Log Komutları
  • Kudu’da Log Görüntüleme: Linux App Service için Yeni Sayfa
🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler10 Nis 2026
cgroup v1 CPU Shares'ten v2 CPU Weight'e Yeni Dönüşüm
cgroup v1 CPU Shares'ten v2 CPU Weight'e Yeni Dönüşüm27 Tem 2026
PowerShell macOS’ta Neden Artık Daha Sakin Çalışıyor?
PowerShell macOS’ta Neden Artık Daha Sakin Çalışıyor?25 May 2026
Photoshop'ta MSVC ve SPGO ile %20 Hız Artışı: Nasıl Oldu?
Photoshop'ta MSVC ve SPGO ile %20 Hız Artışı: Nasıl Oldu?17 Haz 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket ASGI azure app service FastAPI Gunicorn Uvicorn
Önceki yazı

Microsoft JavaOne 2026’da: Java ile AI Çağı

Sonraki yazı

Entra External ID Native Auth’ta E-posta ve SMS OTP MFA GA

İlginizi Çekebilir

GitHub Copilot App'te OpenTelemetry ile Agent İzleme
Aşkın KILIÇ 0

GitHub Copilot App’te OpenTelemetry ile Agent İzleme

23/09/2026
GPT-6 Sol ve Luna ile Copilot'ta Doğru Model Seçimi
Aşkın KILIÇ 0

GPT-6 Sol ve Luna ile Copilot’ta Doğru Model Seçimi

22/09/2026
Claude Opus 5.5 Copilot'ta: Daha Az Adım, Daha Az Token
Aşkın KILIÇ 0

Claude Opus 5.5 Copilot’ta: Daha Az Adım, Daha Az Token

22/09/2026

2 comments

comments user
Tolga F. 09/08/2026 12:46

Startup command’ı manuel yazarken her seferinde doğru syntax’ı hatırlamaya çalışmak gerçekten can sıkıcıydı, bu otomatik algılama işleri bayağı kolaylaştıracak. Bakalım production ortamında ne kadar güvenilir çalışıyor, birkaç edge case’de aynı başarıyı gösterebilir mi merak ediyorum. Bu arada şu yazınız da güzeldi: PowerShell 7.6 LTS Genel Kullanıma Sunuldu — https://www.askinkilic.com.tr/powershell-76-lts-genel-kullanima-sunuldu/

Yanıtla
comments user
Ceren M. 09/08/2026 16:29

Bunu bir türlü hatırlamıyordum, her dağıtımda startup command’ı yeniden araştırıyordum. Otomatik tespit gerçekten can kurtarır. Bu arada şu yazınız da güzeldi: Entra External ID Native Auth’ta E-posta ve SMS OTP MFA GA — https://www.askinkilic.com.tr/entra-external-id-native-authta-e-posta-ve-sms-otp-mfa-ga/

Yanıtla

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Kubernetes SIG Apps: Workload Dayanıklılığında Yeni Odak
    23/09/2026 Kubernetes SIG Apps: Workload Dayanıklılığında Yeni Odak
  • GitHub Copilot App'te OpenTelemetry ile Agent İzleme
    23/09/2026 GitHub Copilot App’te OpenTelemetry ile Agent İzleme
  • GPT-6 Sol ve Luna ile Copilot'ta Doğru Model Seçimi
    22/09/2026 GPT-6 Sol ve Luna ile Copilot’ta Doğru Model Seçimi
  • Visual Studio Parallel Stacks ile Memory Dump Analizi
    22/09/2026 Visual Studio Parallel Stacks ile Memory Dump Analizi
  • Claude Opus 5.5 Copilot'ta: Daha Az Adım, Daha Az Token
    22/09/2026 Claude Opus 5.5 Copilot’ta: Daha Az Adım, Daha Az Token
  • Microsoft 365 Copilot Agent Evaluations: Ajan Kalitesi Ölçümü
    09/05/2026 Microsoft 365 Copilot Agent Evaluations: Ajan Kalitesi Ölçümü
  • Node.js Addon'larını .NET Native AOT ile Yazmak
    21/04/2026 Node.js Addon’larını .NET Native AOT ile Yazmak
  • GitHub Copilot Build Performance: Proje Bazlı Analiz Geldi
    08/05/2026 GitHub Copilot Build Performance: Proje Bazlı Analiz Geldi
  • GitHub Actions Nisan 2026 Güncellemeleri: Üç Küçük Ama Etkili Hamle
    03/04/2026 GitHub Actions Nisan 2026 Güncellemeleri: Üç Küçük Ama Etkili Hamle
  • Entra External ID'de Sosyal Giriş: Native Auth GA Oldu
    05/04/2026 Entra External ID’de Sosyal Giriş: Native Auth GA Oldu
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL bulut bilişim CI/CD CodeQL code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans Pull Request RAG SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 469 yazı 🏗️ Bulut Altyapı 378 yazı 🤖 Yapay Zeka 314 yazı 🔧 DevOps 260 yazı ☁️ Microsoft Azure 254 yazı 🔒 Güvenlik & Kimlik 214 yazı 🏢 Kurumsal Teknoloji 96 yazı 📊 Veri & Analitik 66 yazı 🐳 Konteyner & Kubernetes 61 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Microsoft JavaOne 2026’d...
    Entra External ID Native Auth&... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS