Python Geliştirici Merkezi

Platform, Python tabanlı uygulamaların barındırılması için özel olarak tasarlanmış, ölçeklenebilir Apache uygulama sunucusunun kutudan çıkar çıkmaz entegrasyonunu sunar. Bu sunucu, hemen yönetim için optimize edilmiş ve hazırlanmış olup, çok sayıda orkestrasyon göreviyle uğraşmadan doğrudan geliştirmeye başlamanızı sağlar. Yani, barındırma sürecini geliştiriciler için en uygun hale getirir.

Python Ortam Barındırma

Python uygulamanızı platformda barındırmaya başlamak için güçlü topoloji sihirbazı aracılığıyla uygun ortamı oluşturmanız gerekmektedir (bu sihirbaz,Yeni Ortambutonuna tıklanarak ana panelin üst kısmından erişilebilir).

Pythondil sekmesine geçin ve istenen motor sürümünü seçin. Apache Python uygulama sunucusu, mod_wsgi modülü ile birlikte otomatik olarak eklenir. Kaynak sınırlarını ve düğüm sayısını belirtin, ayrıca gerekirse ekstra yazılım yığınlarını veya seçenekleri (örneğin, Genel IP'ler) ekleyin.

Not:Bu şablon, modern birsystemdbaşlatma daemon'ını kullanmaktadır.

Python Ortam Barındırma
  • Her bir örnek, tamamen bağımsız izole edilmiş bir konteynerdir.
  • Aynı katmandaki örnekler, yüksek kullanılabilirlik sağlamak için mevcut sunuculara otomatik olarak dağıtılır.

Python Sürüm Yönetimi

Şu anda (bu yazının yazıldığı zaman), aşağıdaki Python sürümleri desteklenmektedir:

  • 3.8.20
  • 3.9.19
  • 3.10.15
  • 3.11.10
  • 3.12.7
  • 3.13.0

Platformda mevcut olan sürümlerin güncel listesi, özel olarak (haftalık olarak) güncellenen Yazılım Yığını Sürümleri belgesinde sağlanmaktadır.

Python Sürümleri

Yeni bir ortam oluştururken Python sürümünü doğrudan topoloji sihirbazından seçebilir ve mevcut ortamlar için de konteyner yeniden dağıtımı ile sürümü ayarlayabilirsiniz.

Python Uygulama Dağıtımı

Yönetilen uygulama sunucularına (Apache Python) dağıtım, platform tarafından otomatikleştirilmiştir ve aşağıdaki akışlardan biri kullanılarak gerçekleştirilebilir:

  • uzak VCS deposundan (örneğin, GitHub)
  • uygulama arşivi aracılığıyla, dış URL veya yerel makineden yüklenerek

Bir ortamdan diğerine trafik yönlendirmek için (örneğin, müşteri trafiğini yeni uygulama sürümüne kesintisiz olarak yönlendirmek için), alan adı değiştirme işlevi kullanılmalıdır. Bu işlev aynı zamandaSwapExtIpsAPI/CLI metodu olarak da mevcuttur.

Python Uygulama Dağıtımı

Python Paketleri/Modülleri Yönetimi

Bir Python uygulamasını başarılı bir şekilde dağıtmak ve çalıştırmak için bazı ek modüllerin veya paketlerin yüklenmesi gerekebilir. Python web uygulamalarını izole edilmiş sanal ortamlar içinde çalıştırmak yaygın bir uygulamadır; örneğin, yönetici ayrıcalıkları olmadan projeleri bağımsız olarak yönetmeyi sağlayan sanal ortam aracını kullanarak.

1. SSH üzerinden Python ortamına bağlanın (yerel veya dahili Web SSH istemcisi kullanarak) ve yeni bir sanal ortam oluşturup başlatmak için aşağıdaki komutları çalıştırın:

  1. virtualenv {appName}
  2. source {appName}/bin/activate
Python Sanal Ortamı

Gerekli yazılım paketlerinin yönetimi genellikle pip ile yapılır - PiPI deposu için popüler bir Python paket yönetim sistemidir. Aşağıda en yaygın komutlardan bazıları listelenmiştir:

  • pip install {packageName}- gerekli modülü yükler
  • pip uninstall {packageName}- önceden yüklenen modülü kaldırır
  • pip install -upgrade {packageName}- belirtilen modülü en son sürümüne yükseltir
  • pip install -r requirements.txt- requirements.txt dosyasında listelenen tüm modülleri yükler
  • pip list- yüklü olan modüllerin listesini gösterir

İpucu:Önceden yapılandırılmış uygulama paketleri (arşivler) durumunda, tüm bağımlılıklarrequirements.txtdosyası aracılığıyla sağlanır; bu dosya dağıtım sürecinde Python modüllerini otomatik olarak yüklemek için okunur. Ayrıca, Apache için mod_wsgi ile sanal ortam içinde uygulamayı çalıştıran giriş noktası betiği olanwsgi.pydosyasını içermelidir.

Alan Adları Yönetimi

Gerekirse, Python uygulamanızın varsayılan alan adı, şu şekilde özel bir alan adı ile değiştirilebilir:

  • CNAME yönlendirmesi(Paylaşılan Yük Dengeleyici kullanıyorsanız);geliştirmevetestortamları için tavsiye edilir
  • DNS A Kaydı(Halka açık IP kullanıyorsanız); yüksek trafik yükünü kaldırabilir veüretimortamları için uygundur

Ayrıca, platform, trafiği iki ortam arasında hızlıca ve kesinti olmadan yönlendirme olanağı sunar (örneğin, müşterileri yeni uygulama sürümüne kesintisiz yönlendirmek için) swap alan adları fonksiyonu veyaSwapExtIpsAPI/CLI yöntemiyle.

Özel Alan Adları Yönetimi

Otomatik Dikey Ölçeklendirme

Platform tarafından uygulanan otomatik dikey ölçeklendirme, Python uygulamanızın şu anda ihtiyaç duyduğu kaynakların (RAM ve CPU) tam miktarını sağlar. Sonuç olarak, yükle ilgili ayarlamaları sürekli olarak yapmanıza gerek kalmaz. Ayrıca, Kullanıma Göre Öde (Pay-as-You-Use) fiyatlandırma modeliyle birleştiğinde, kullanılmayan kaynaklar için aşırı ödeme yapmazsınız.

Sadece Python uygulama sunucunuz için üst bulut limitini belirleyin (her biri 128 MiB RAM ve 400 MHz CPU'ya eşittir). Gerisini platform otomatik olarak halledecektir.

Otomatik Dikey Ölçeklendirme

Manuel Yatay Ölçeklendirme

Python sunucularının yatay ölçeklendirilmesi, platformda herhangi bir örneğin ölçeklendirilmesinden farklı değildir - sadece topoğrafya sihirbazının merkezi kısmında gerekli node sayısını+/-butonları ile belirtin. Gerekirse, tercih edilen ölçeklendirme modunu seçin:

  • Durumsuz- Yeni node'ları temel imaj şablonundan aynı anda oluşturur
  • Durumlu- Ana konteynerin dosya sistemini yeni node'lara sırasıyla kopyalar
Manuel Yatay Ölçeklendirme

İpucu:Doğru istek dağılımı için, Python sunucusu ölçeklendirildiğinde ortamınıza otomatik olarak bir yük dengeleleyici örneği eklenir. Daha fazla özellik için yatay ölçeklendirme belgelerine başvurun.

Otomatik Yatay Ölçeklendirme

OrtamınAyarlar >Otomatik Yatay Ölçeklendirmebölümüne giderek, uygulama yüküne bağlı olarak node sayısını otomatik olarak arttırmak/azaltmak için özel tetikleyiciler ayarlayabilirsiniz. İzlenecek kaynak türünü (CPU, RAM, Ağ, Disk) ve ölçeklendirme koşulunu seçin, geri kalan işlemler otomatik olarak yapılır. İlgili seçenek etkinleştirilirse, herhangi bir değişiklik hakkında e-posta bildirimleri alırsınız.

Otomatik Yatay Ölçeklendirme