Azure'da Python'ı kullanmaya başlama

Bulutta barındırılacak veya bulut hizmetlerini kullanacak Python uygulamaları geliştirmeye başlarken bu belgeyi denetim listesi ve kılavuz olarak kullanın. Bu belgedeki bağlantıları ve yönergeleri izlerseniz şunları yaparsınız:

  • bulutun ne olduğunu ve uygulamanızı bulutu göz önünde bulundurarak nasıl tasarladığınız hakkında temel bilgilere sahip olmanız gerekir.
  • bulut tabanlı uygulamalar oluşturmak için ihtiyacınız olan araçlar ve kitaplıklar dahil olmak üzere yerel geliştirme ortamınızı ayarlayın.
  • bulut tabanlı uygulamalar geliştirirken iş akışını anlayın.

1. Aşama: Kavramları öğrenme

Bulut için uygulama geliştirme konusunda yeniyseniz, video içeren bu kısa makale serisi hızlı bir şekilde çalışmaya başlamanıza yardımcı olacaktır.

Bulut için uygulama geliştirmenin temellerini anladıktan sonra, geliştirme ortamınızı ayarlamak ve ilk uygulamanızı oluşturmak için bir Hızlı Başlangıç veya Öğretici'yi izlemek isteyeceksiniz.

2. Aşama: Azure geliştirmesi için yerel Python ortamınızı yapılandırma

Azure kullanarak Python uygulamaları geliştirmek için öncelikle yerel geliştirme ortamınızı yapılandırmak istiyorsunuz. Yapılandırma, Azure hesabı oluşturmayı, Azure geliştirme araçlarını yüklemeyi ve bu araçları Azure hesabınıza bağlamayı içerir.

Azure'da geliştirme için Python 3.8 veya üzeri gerekir. İş istasyonunuzda Python sürümünü doğrulamak için bir konsol penceresine macOS/Linux veya py --version Windows için komutunu python3 --version yazın.

Azure Hesabı Oluşturma

Azure ile Python uygulamaları geliştirmek için bir Azure hesabınız olmalıdır. Azure hesabınız, Azure'da oturum açmak için kullandığınız kimlik bilgileri ve Azure kaynakları oluşturmak için kullandığınız kimlik bilgileridir.

İş yerinde Azure kullanıyorsanız, Azure'da oturum açmak için kullanılan kimlik bilgilerinizi almak için şirketinizin bulut yöneticisiyle görüşün.

Aksi takdirde ücretsiz bir Azure hesabı oluşturabilir ve 12 aylık popüler hizmetleri ücretsiz olarak alabilir ve 30 gün boyunca Azure'ı keşfetmek için 200 ABD doları kredi alabilirsiniz.

Azure portal’ı kullanma

Kimlik bilgilerinizi aldıktan sonra adresinden Azure portalında https://portal.azure.comoturum açabilirsiniz. Azure portalı genellikle Azure'ı kullanmaya başlamanın en kolay yoludur. Özellikle De Azure'ı ve bulut geliştirmeyi yeni kullanmaya başladıysanız. Azure portalında kaynak oluşturma ve silme gibi çeşitli yönetim görevlerini gerçekleştirebilirsiniz.

Azure ve bulut geliştirme konusunda zaten deneyimliyseniz büyük olasılıkla Visual Studio Code ve Azure CLI gibi araçları kullanmaya başlayacaksınız. Python geliştirici merkezindeki makalelerde Azure portalı, Visual Studio Code ve Azure CLI ile çalışma gösterilmektedir.

Visual Studio Code kullanma

Azure için geliştirme yaparken Python kodu yazmak için herhangi bir düzenleyiciyi veya IDE'yi kullanabilirsiniz. Ancak Azure ve Python geliştirmesi için Visual Studio Code kullanmayı düşünebilirsiniz. Visual Studio Code, Azure ve Python için geliştirme döngünüzü ve yerel ortamdan Azure'a dağıtımı kolaylaştıran birçok uzantı ve özelleştirme sağlar.

Visual Studio Code kullanarak Python geliştirmesi için şunları yükleyin:

  • Python uzantısı. Bu uzantı IntelliSense (Pylance), Linting, Debugging (çok iş parçacıklı, uzak), Jupyter Notebooks, kod biçimlendirme, yeniden düzenleme, birim testleri ve daha fazlasını içerir.

  • Azure Araçları uzantı paketi. Uzantı paketi, Azure Uygulaması Hizmeti, Azure İşlevleri, Azure Depolama, Azure Cosmos DB ve Azure Sanal Makineler ile tek bir kullanışlı pakette çalışmaya yönelik uzantılar içerir. Azure uzantıları, Azure'ı bulmayı ve Azure ile etkileşim kurmayı kolaylaştırır.

Visual Studio Code'dan uzantıları yüklemek için:

  1. Uzantılar penceresini açmak için Ctrl+Shift+X tuşlarına basın.
  2. Azure Araçları uzantısını arayın.
  3. Yükle düğmesini seçin.

Screenshot of the Visual Studio Code showing extensions panel searching for the Azure Tools extension pack.

Visual Studio Code'da uzantıları yükleme hakkında daha fazla bilgi edinmek için Visual Studio Code web sitesindeki Uzantı Marketi belgesine bakın.

Azure Araçları uzantısını yükledikten sonra Azure hesabınızla oturum açın. Sol taraftaki panelde bir Azure simgesi görürsünüz. Bu simgeyi seçtiğinizde Azure hizmetleri için bir denetim masası görüntülenir. Kimlik doğrulama işlemini tamamlamak için Azure'da oturum aç... öğesini seçin.

Screenshot of the Visual Studio Code showing how to sign-in the Azure tools to Azure.

Dekont

"[abonelik kimliği] adlı abonelik bulunamıyor" hatasını görürseniz bunun nedeni bir ara sunucu arkasında olmanız ve Azure API'sine ulaşamamanız olabilir. Terminalinizde proxy bilgilerinizle değişkenleri yapılandırın HTTP_PROXY ve HTTPS_PROXY ortamlayın:

# Windows
set HTTPS_PROXY=https://username:password@proxy:8080
set HTTP_PROXY=http://username:password@proxy:8080
# macOS/Linux
export HTTPS_PROXY=https://username:password@proxy:8080
export HTTP_PROXY=http://username:password@proxy:8080

Azure CLI'yi kullanma

Azure portalına ve Visual Studio Code'a ek olarak Azure, Azure kaynaklarını oluşturmak ve yönetmek için Azure CLI komut satırı aracını da sunar. Azure CLI verimlilik, tekrarlanabilirlik ve yinelenen görevleri betik oluşturma olanağının avantajlarını sunar. Uygulamada çoğu geliştirici hem Azure portalını hem de Azure CLI'yi kullanır.

Azure CLI'yı yükledikten sonra, komutunu az login iş istasyonunuzda bir terminal penceresine yazarak Azure CLI'dan Azure hesabınızda oturum açın.

az login

Azure CLI, oturum açma işlemini tamamlamak için varsayılan tarayıcınızı açar.

Python sanal ortamını yapılandırma

Azure için Python uygulamaları oluştururken, her uygulama için bir sanal ortam oluşturmanız önerilir. Sanal ortam, belirli bir Python sürümüne ek olarak bu uygulama için gereken diğer paketler için bağımsız bir dizindir.

Sanal ortam oluşturmak için şu adımları izleyin.

  1. Bir terminal veya komut istemi açın.

  2. Projeniz için bir klasör oluşturun.

  3. Sanal ortamı oluşturun:

    # py -3 uses the global python interpreter. You can also use python3 -m venv .venv.
    py -3 -m venv .venv
    

    Bu komut Python venv modülünü çalıştırır ve ".venv" klasöründe bir sanal ortam oluşturur. .gitignore dosyalarının genellikle bir ".venv" girdisi vardır, böylece sanal ortam kod iadelerinizle iade edilemez.

  4. Sanal ortamı etkinleştirin:

    .venv\Scripts\activate
    

    Dekont

    Windows Komut Kabuğu kullanıyorsanız ile sanal ortamı .venv\Scripts\activateetkinleştirin. Windows'da Visual Studio Code'da Git Bash kullanıyorsanız, bunun yerine komutunu source .venv/Scripts/activate kullanın.

Bu ortamı etkinleştirdiğinizde (Visual Studio Code'un otomatik olarak yaptığı) çalıştırma pip install işlemi yalnızca bu ortama bir kitaplık yükler. Sanal ortamda çalışan Python kodu, bu sanal ortama yüklenen belirli paket sürümlerini kullanır. Farklı sanal ortamların kullanılması, farklı uygulamaların bazen gerekli olan farklı bir paketin farklı sürümlerini kullanmasına olanak tanır. Sanal ortamlar hakkında daha fazla bilgi edinmek için Python belgelerinde Sanal Ortamlar ve Paketler bölümüne bakın.

Örneğin, gereksinimleriniz bir requirements.txt dosyasındaysa, etkinleştirilmiş sanal ortamın içinde bunları şu şekilde yükleyebilirsiniz:

pip install -r requirements.txt

3. Aşama: Azure geliştirme iş akışını anlama

Önceki makale: kaynakları sağlama, erişme ve yönetme

Artık Azure'ın hizmet ve kaynak modelini anladığınıza göre Azure ile bulut uygulamaları geliştirmenin genel akışını anlayabilirsiniz: sağlama, kod, test, dağıtma ve yönetme.

Adımlar Birincil araçlar Aktiviteler
uygulamasını hazırlama Azure SDK yönetim kitaplıklarını kullanarak Azure CLI, Azure portalı, VS Code Azure Araçları uzantıları, Cloud Shell, Python betikleri Kaynak grupları oluşturma ve bu gruplarda kaynak oluşturma; kaynakları uygulama kodundan kullanıma hazır olacak ve/veya dağıtımlarda Python kodu almaya hazır olacak şekilde yapılandırın.
Kod Kod düzenleyicisi (Visual Studio Code ve PyCharm gibi), Azure SDK istemci kitaplıkları, başvuru belgeleri Sağlanan kaynaklarla etkileşime geçmek için Azure SDK istemci kitaplıklarını kullanarak Python kodu yazın.
Test etme Python çalışma zamanı, hata ayıklayıcı Etkin bulut kaynaklarına (genellikle üretim kaynakları yerine geliştirme veya test kaynakları) karşı Python kodunu yerel olarak çalıştırın. Kodun kendisi henüz Azure'da barındırılamaz ve bu da hata ayıklamanıza ve hızlı bir şekilde yinelemenize yardımcı olur.
Dağıt VS Code, Azure CLI, GitHub Actions, Azure Pipelines Kod yerel olarak test edildikten sonra kodun bulutta çalıştırabileceği uygun bir Azure barındırma hizmetine dağıtın. Dağıtılan kod genellikle hazırlama veya üretim kaynaklarına karşı çalışır.
Yönetme Azure CLI, Azure portalı, VS Code, Python betikleri, Azure İzleyici Uygulama performansını ve yanıt hızını izleyin, üretim ortamında ayarlamalar yapın, geliştirmeleri bir sonraki sağlama ve geliştirme turu için geliştirme ortamına geri geçirin.

1. Adım: Kaynakları sağlama ve yapılandırma

Bu serinin önceki makalesinde açıklandığı gibi, herhangi bir uygulamayı geliştirmenin ilk adımı, uygulamanız için hedef ortamı oluşturan kaynakları sağlamak ve yapılandırmaktır.

Sağlama, uygun bir Azure bölgesinde bir kaynak grubu oluşturarak başlar. Azure portalı, Azure Araçları uzantılarıyla VS Code, Azure CLI veya Azure SDK yönetim kitaplıklarını (veya REST API) kullanan özel bir betik ile bir kaynak grubu oluşturabilirsiniz.

Bu kaynak grubu içinde ihtiyacınız olan tek tek kaynakları yine portal, VS Code, CLI veya Azure SDK kullanarak sağlar ve yapılandırabilirsiniz. (Yeniden, Kullanılabilir kaynak türlerine genel bakış için Azure geliştirici kılavuzu .)

Yapılandırma, hangi kimliklerin (hizmet sorumluları ve/veya uygulama kimlikleri) bu kaynaklara erişebileceklerini denetleyen erişim ilkeleri ayarlamayı içerir. Erişim ilkeleri Azure Rol Tabanlı Erişim Denetimi (RBAC) aracılığıyla yönetilir; bazı hizmetlerin de daha belirli erişim denetimleri vardır. Azure ile çalışan bir bulut geliştiricisi olarak Azure RBAC hakkında bilgi sahibi olduğunuzdan emin olun çünkü bunu güvenlikle ilgili endişeleri olan hemen her kaynakta kullanırsınız.

Çoğu uygulama senaryosunda genellikle Azure SDK yönetim kitaplıklarını kullanarak Azure CLI ve/veya Python kodu ile sağlama betikleri oluşturursunuz. Bu tür betikler, uygulamanızın kaynak gereksinimlerinin toplamını açıklar (temelde uygulamayı dağıttığınız özel bulut bilgisayarı tanımlar). Betik, geliştirme, test, hazırlama ve üretim gibi farklı ortamlarda aynı kaynak kümesini kolayca yeniden oluşturmanıza olanak tanır. Otomatikleştirdiğinizde, Azure portalında veya VS Code'da birçok yinelenen adımı el ile gerçekleştirmekten kaçınabilirsiniz. Bu tür betikler, farklı bir bölgede ortam sağlamayı veya farklı kaynak gruplarını kullanmayı da kolaylaştırır. Bu betikleri kaynak denetim depolarında da tutarsanız, tam denetim ve değişiklik geçmişine de sahip olursunuz.

2. Adım: Kaynakları kullanmak için uygulama kodunuzu yazma

Uygulamanız için ihtiyacınız olan kaynakları sağladıktan sonra, bu kaynakların çalışma zamanı yönleriyle çalışmak için uygulama kodunu yazarsınız.

Örneğin, sağlama adımında bir Azure depolama hesabı oluşturmuş, bu hesap içinde bir blob kapsayıcısı oluşturmuş ve bu kapsayıcıdaki uygulama için erişim ilkeleri ayarlamış olabilirsiniz. Bu sağlama işlemi Örnek - Azure Depolama sağlama bölümünde gösterilmiştir. Kodunuzdan bu depolama hesabıyla kimlik doğrulaması yapabilir ve ardından bu kapsayıcıda bloblar oluşturabilir, güncelleştirebilir veya silebilirsiniz. Bu çalışma zamanı işlemi Örnek - Azure Depolama kullanma bölümünde gösterilmiştir. Benzer şekilde, uygulama kodunuzun veritabanına bağlanabilmesi ve her zamanki create-read-update-delete sorgularını gerçekleştirebilmesi için bir şema ve uygun izinlerle (Örnek - Veritabanı sağlama bölümünde gösterildiği gibi) bir veritabanı sağlamış olabilirsiniz.

Uygulama kodu genellikle kullanılacak kaynakların adlarını ve URL'lerini tanımlamak için ortam değişkenlerini kullanır. Ortam değişkenleri, kodda herhangi bir değişiklik yapmadan bulut ortamları (geliştirme, test, hazırlama ve üretim) arasında kolayca geçiş yapmanızı sağlar. Uygulama kodunu barındıran çeşitli Azure hizmetleri, gerekli değişkenleri tanımlamak için bir araç sağlar. Örneğin, Azure Uygulaması Hizmeti'nde (web uygulamalarını barındırmak için) ve Azure İşlevleri (Azure için sunucusuz işlem), uygulama ayarlarını Azure portalı, VS Code veya Azure CLI aracılığıyla tanımlarsınız ve bu da kodunuz için ortam değişkenleri olarak görünür.

Python geliştiricisi olarak büyük olasılıkla Python için Azure SDK istemci kitaplıklarını kullanarak uygulama kodunuzu Python'da yazacaksınız. Buna göre, bir bulut uygulamasının herhangi bir bağımsız bölümü desteklenen herhangi bir dilde yazılabilir. Birden çok programlama dili kullanan bir ekip üzerinde çalışıyorsanız uygulamanın bazı bölümlerinde Python, bazı JavaScript, bazı Java ve diğerleri C# kullanılıyor olabilir.

Uygulama kodu, gerektiğinde sağlama ve yönetim işlemlerini gerçekleştirmek için Azure SDK yönetim kitaplıklarını kullanabilir. Benzer şekilde betik sağlama, SDK istemci kitaplıklarını kullanarak belirli verilerle kaynakları başlatabilir veya bu betikler yerel olarak çalıştırıldığında bile bulut kaynaklarında temizlik görevleri gerçekleştirebilir.

3. Adım: Uygulama kodunuzu yerel olarak test edin ve hatalarını ayıklayın

Geliştiriciler genellikle bu kodu buluta dağıtmadan önce uygulama kodunu yerel iş istasyonlarında test etmek ister. Uygulama kodunu yerel olarak test etme genellikle bulutta önceden sağladığınız depolama, veritabanları vb. diğer kaynaklara eriştiğiniz anlamına gelir. Fark, uygulama kodunu henüz bir bulut hizmeti içinde çalıştırmamış olmanızdır.

Kodu yerel olarak çalıştırarak, Visual Studio Code gibi araçlar tarafından sunulan hata ayıklama özelliklerinden tam olarak yararlanabilir ve kodunuzu bir kaynak denetimi deposunda yönetebilirsiniz.

Yerel test için kodunuzu hiç değiştirmeniz gerekmez: Azure, buluta dağıttığınız kodu kullanarak yerel geliştirmeyi ve hata ayıklamayı tam olarak destekler. Ortam değişkenleri yine anahtardır: bulutta kodunuz barındırma kaynağının ayarlarına ortam değişkenleri olarak erişebilir. Aynı ortam değişkenlerini yerel olarak oluşturduğunuzda, aynı kod değiştirilmeden çalışır. Bu düzen kimlik doğrulaması kimlik bilgileri, kaynak URL'leri, bağlantı dizesi ve diğer ayarlar için çalışır ve kod buluta dağıtıldıktan sonra kodu yerel olarak ve üretim kaynaklarını çalıştırırken geliştirme ortamındaki kaynakları kullanmayı kolaylaştırır.

4. Adım: Uygulama kodunuzu Azure'a dağıtma

Kodunuzu yerel olarak test ettikten sonra, kodu barındırmak için sağladığınız Azure kaynağına dağıtmaya hazır olursunuz. Örneğin, bir Django web uygulaması yazıyorsanız, bu kodu bir sanal makineye (kendi web sunucunuzu sağladığınız) veya Azure Uygulaması Hizmetine (sizin için web sunucusunu sağlayan) dağıtırsınız. Dağıtıldıktan sonra, bu kod yerel makinenizde değil sunucuda çalışır ve yetkilendirildiği tüm Azure kaynaklarına erişebilir.

Önceki bölümde belirtildiği gibi, tipik geliştirme işlemlerinde kodunuzu ilk olarak geliştirme ortamında sağladığınız kaynaklara dağıtırsınız. Bir test turundan sonra kodunuzu hazırlama ortamındaki kaynaklara dağıtarak uygulamayı test ekibinizin kullanımına sunar ve belki de müşterilerin önizlemesini gösterirsiniz. Uygulamanın performansından memnun olduğunuzda, kodu üretim ortamınıza dağıtabilirsiniz. Bu dağıtımların tümü, Azure Pipelines ve GitHub Actions kullanılarak sürekli tümleştirme ve sürekli dağıtım aracılığıyla da otomatikleştirilebilir.

Bununla birlikte, kod buluta dağıtıldıktan sonra, tamamen Azure veri merkezlerindeki sunucu bilgisayarlarında çalışan bir bulut uygulamasına dönüşür.

5. Adım: Yönetme, izleme ve düzeltme

Dağıtımdan sonra, uygulamanın gerektiği gibi olduğundan emin olmak, müşteri isteklerine yanıt vermek ve kaynakları verimli bir şekilde (ve en düşük maliyetle) kullanmak istiyorsunuz. Azure'ın dağıtımınızı gerektiği şekilde otomatik olarak ölçeklendirmesini yönetebilir ve Azure portalı, VS Code, Azure CLI veya Azure SDK kitaplıklarıyla yazılmış özel betiklerle performans verilerini toplayıp izleyebilirsiniz. Ardından, aynı araçlardan herhangi birini kullanarak performansı iyileştirmek için sağlanan kaynaklarınızda gerçek zamanlı ayarlamalar yapabilirsiniz.

İzleme, bulut uygulamanızı nasıl yeniden yapılandırabileceğiniz hakkında içgörü sağlar. Örneğin, bir web uygulamasının belirli bölümlerinin (API uç noktaları grubu gibi) birincil bölümlere kıyasla yalnızca ara sıra kullanıldığını görebilirsiniz. Daha sonra bu API'leri sunucusuz Azure İşlevleri olarak ayrı olarak dağıtmayı seçebilirsiniz. İşlevler olarak, ana uygulamayla rekabet eden ancak aylık yalnızca penilere mal olan kendi yedekleme işlem kaynaklarına sahiptir. Ana uygulamanız daha yüksek maliyetli bir katmana ölçeklendirmek zorunda kalmadan daha fazla müşteriye daha duyarlı hale gelir.

Sonraki adımlar

Artık Azure'ın temel yapısı ve genel geliştirme akışı hakkında bilgi sahibisiniz: kaynak sağlama, kod yazma ve test etme, kodu Azure'a dağıtma ve ardından bu kaynakları izleyip yönetme.