Azure'da bulut geliştirme
Python geliştiricisisiniz ve bulut uygulamaları geliştirmek için hazır Microsoft Azure. Uzun ve üretken bir kariyere hazırlanmanıza yardımcı olmak için bu üç makale serisi sizi Azure'da bulut geliştirmenin temel ortamına yönlendirmektedir.
Azure nedir? Veri merkezleri, hizmetler ve kaynaklar
Microsoft'un CEO'su Satya Nadella genellikle Azure'ı "dünyanın bilgisayarı" olarak ifade eder. Bildiğiniz gibi bir bilgisayar, işletim sistemi tarafından yönetilen bir donanım koleksiyonudur ve kullanıcıların sistemin işlem gücünü herhangi bir sayıdaki görev için uygulamasına yardımcı olan bir platform sağlar. (Bu nedenle bu tür yazılımları açıklamak için "uygulama" sözcüğü kullanıyoruz.)
Azure'da bilgisayarın donanımı tek bir makine değil, dünyanın her yersinde onlarca büyük veri merkezi içeren muazzam bir sanallaştırılmış sunucu bilgisayarı havuzudur. Daha sonra Azure "işletim sistemi", uygulamaların ihtiyaçlarında olduğu gibi kaynak havuzunun farklı bölümlerini dinamik olarak ayıran ve bu bölümlerin ayırmalarını alan hizmetlerden oluşur. Bu dinamik ayırmalar, uygulamaların müşteri talebi gibi herhangi bir sayıda değişen koşullarda hızlı bir şekilde yanıt vermesine olanak sağlar.
Her ayırma bir kaynak olarak çağrılırve her kaynağa hem benzersiz bir nesne tanımlayıcısı (GUID) hem de benzersiz bir URL atanır. Kaynak türleri arasında sanal makineler (CPU çekirdekleri ve bellek), depolama, veritabanları, sanal ağlar, kapsayıcı kayıt defterleri, kapsayıcı orchestrator'ları, web konakları, AI ve analiz altyapıları ve diğer kaynaklar yer almaktadır.

Kaynaklar, bir bulut uygulamasının yapı taşlarıdır. Bu nedenle bulut geliştirme süreci, uygulamanın farklı bölümlerini dağıtabilirsiniz uygun ortamı oluşturmakla başlar. Basitçe ifade etmek gerekirse, uygun hedef kaynaklar sağlanana ve yapılandırılana kadar Azure'a herhangi bir kod veya veri dağıtamazsiniz.
Ardından, uygulamanıza yönelik ortam oluşturma işlemi ilgili hizmetleri ve kaynak türlerini tanımlamayı ve ardından bu kaynakları sağlamayı içerir. Sağlama işlemi temelde uygulamanızı dağıtan bilgi işlem sistemini oluşturma sürecidir. Sağlama ayrıca bu kaynakları Azure'dan kiralamaya başlayacağınız noktadır.
Dağıtın yazılım üzerinde tam denetim ve sorumluluğun bulunduğu sanal makineler gibi temel "altyapı" kaynaklarından, yalnızca veri ve uygulama koduyla kaygılanarak daha yönetilen bir ortam sağlayan daha üst düzey "platform" hizmetlere kadar yüzlerce farklı kaynak vardır.
Uygulamanıza uygun hizmetleri bulmak ve göreli maliyetlerini dengelemek zor olabilir ama aynı zamanda bulut geliştirmenin yaratıcı eğlenceli bir parçası da olabilir. Birçok seçeneği anlamak için Azure geliştirici kılavuzunu gözden geçirin. Burada, bu hizmet ve kaynakların tümleriyle nasıl çalışabilirsiniz?
Not
Büyük olasılıkla IaaS (hizmet olarak altyapı), PaaS (hizmet olarak platform) gibi terimlerin artık çok fazla olduğunu gördünüz ve belki de bu terimlerin artık çok fazla olduğunu gördünüz. Hizmet olarak bölümü, genellikle veri merkezlerine fiziksel erişime sahip olmadığınız gerçeği yansıtmaktadır. Bunun yerine altyapı kaynakları, Azure portal kaynakları, platform kaynakları ve diğer hizmetleri REST API Azure CLI veya Azure'ın REST API gibi araçları kullanırsiniz. Hizmet olarak Azure,isteklerinizi almak için her zaman beklemededir.
Bu geliştirici merkezinde IaaS, PaaS vb. jargonu size yedek olacak çünkü "hizmet olarak" yalnızca bulutun temelleridir!
Not
Hibrit bulut, özel bilgisayarların ve veri merkezlerinin Azure gibi bulut kaynaklarıyla birleşimini ifade eder ve önceki tartışmada ele alınması gerekenlerin ötesinde kendi dikkat edilmesi gereken noktalara da yer verir. Ayrıca, bu tartışma yeni uygulama geliştirmeyi varsayıyor; mevcut şirket içi uygulamaları yeniden oluşturabilir ve değiştirebilirsiniz.
Not
Buluta yerel ve bulut özellikli uygulamalar terimleri genellikle aynı şekilde ele alınmıştır. Ancak farklılıklar vardır. Bulut özellikli bir uygulama genellikle şirket içi veri merkezinden bulut tabanlı sunuculara bir bütün olarak geçirilen uygulamadır. Bu tür uygulamalar genellikle özgün yapılarını korur ve buluttaki (ve dolayısıyla coğrafi bölgelerdeki) sanal makinelere dağıtılır. Böyle bir geçiş, uygulamanın kendi veri merkezinize yeni donanım sağlanmasına gerek kalmadan küresel talebi karşılayacak şekilde ölçeklendirmesine olanak sağlar. Ancak, uygulamanın yalnızca bir parçası daha yüksek performansa ihtiyaç olsa bile ölçeklendirmenin sanal makine (veya altyapı) düzeyinde yapılması gerekir.
Öte yandan buluta özel bir uygulama, Azure gibi bir bulutta bulunan birçok farklı ve bağımsız ölçeklenebilir hizmetten yararlanmak için en başından yazılır. Bulutta yerel uygulamalar daha gevşek yapılandırılmıştır (örneğin mikro hizmet mimarilerini kullanarak), her parça için dağıtımı ve ölçeklendirmeyi daha kesin bir şekilde yapılandırmanızı sağlar. Böyle bir yapı bakımı kolaylaştırır ve premium hizmetler için yalnızca gerekli durumlarda ödemeye ihtiyacınız olduğundan genellikle maliyetleri önemli ölçüde azaltır.
Daha fazla bilgi için bkz. Azure'da buluta özel uygulamalar derleme ve Azure için Buluta Özel .NETUygulamaları Mimarisi Oluşturma , ilkeleri herhangi bir dilde yazılmış uygulamalar için geçerlidir.