Azure App Service Migration Assistant ile bir web uygulamasını değerlendirme

Tamamlandı

Bu ünitede, şirket içinde barındırılan web uygulamalarını kendi sunucunuzda yüksek düzeyde geçirirken karşılaşabileceğiniz olası zorlukları gözden geçireceğiz. Web uygulamalarının Internet Information Services (IIS) özelliklerinde ne tür bağımlılıkları olduğuna ve bunun neden sorun teşkil ettiğine ilişkin bağlam sağlayacağız. Bu önemli arka plan bilgileri, değerlendirme ihtiyacını daha iyi anlamanız için gerekebilecek bağlamı sağlar.

Bir web uygulamasını neden Azure App Service’a taşımalıyım?

Azure App Service, web uygulamalarınız için tam olarak yönetilen platformdur. Bu platformu kullanarak web uygulamalarınızı minimum hazırlıkla çalıştırabilir ve ölçeklendirebilirsiniz. Microsoft altyapıyı, işletim sistemi güncelleştirmelerini, yük dengelemeyi ve ölçeği genişletme/azaltma mantığını gerektiği şekilde yönetir.

Ayarları basitleştirilmiş bir kullanıcı arabiriminde yapılandırabilir ve uygulamanın çalışırken performansını keşfedebilirsiniz, ancak sizin yapmanız gereken çok az şey vardır. Bu, uygulamaları kendi sunucu ortamınızda çalıştırmanıza kıyasla Azure App Service’i cazip bir alternatif haline getirir. Kendi sunucu ortamınızda donanım maliyetleri, kurulum, işletim sistemi yüklemesi, güncelleştirme ve yapılandırma, sunucu yazılımı yüklemesi gibi işlemleri kendiniz yapmanız gerekir.

Azure App Service ile güçlü bir şekilde çalışmayı sağlayan pek çok özellik vardır.

Otomatik ölçeklendirme özelliği, bir yöneticinin web uygulamasının ölçeklendirmesine izin verilmesi gereken en fazla örnek sayısını ve trafik eşiklerini ayarlamasına olanak tanır. Daha sonra App Service’in karar alma mantığı ölçeği genişletme veya geri azaltma kararını alır.

Dağıtım yuvaları, operations veya DevOps'un web uygulamasının yeni bir sürümünü el ile veya otomatik tümleştirme testlerinin yapılabilmesi için canlı test veya hazırlama ortamına dağıtmasına olanak tanır. Yeni sürüm tüm testleri geçtikten sonra işlemler yuvaları değiştirerek hazırlanmış uygulamayı üretime taşıyabilir. Dağıtımdan sonra sorunlar ortaya çıkarsa, işlemler yuvaları bir kez daha değiştirerek önceki sürümü üretime geri taşıyabilir.

App Service tarafından sunulan etkileşimli arabirimde sorun giderici belirli sorularınıza yanıt verebilir. Arabirim, uygulamanızın karşılaştığı sorunun türüne özgü tam kapsamlı bir tanılama raporu oluşturur. Ayrıca, sistem durumu denetimi, Uygulama Analizler ve Gezgin (etkileşimli bağımlılık diyagramı) gibi araçlar sorunların nerede olduğunu anlamanıza yardımcı olur.

Azure App Service Migration Assistant nedir?

Azure App Service Geçiş Yardımcısı, kuruluşların buluta geçişine yardımcı olan daha büyük bir uygulama paketinin parçasıdır. Migration Assistant, iki görev yapan kılavuzlu sihirbaz benzeri bir kullanıcı deneyimi sunar:

  1. Windows Server üzerinde yüklü belirli bir web uygulamasının değerlendirmesini gerçekleştirir. Web uygulamasında değişiklik yapılmadan Azure App Service’a geçişin mümkün olup olmadığını belirlemek için web uygulamasının bağımlılıklarını değerlendirir.
  2. Değerlendirme, web uygulamasının geçirilebileceğini kanıtlarsa Migration Assistant geçişi gerçekleştirir. Azure hesabınıza Geçiş Yardımcısı erişimi vermeniz, kullanmak istediğiniz kaynak grubunu seçmeniz ve diğer ayrıntılarla birlikte web uygulaması için bir ad seçmeniz gerekir.

Alternatif olarak, Azure App Service Migration Assistant web uygulamasını daha otomatikleştirilmiş ve yinelenebilir bir şekilde geçirmek için kullanabileceğiniz bir Azure Resource Manager şablonu oluşturur.

Neden değerlendirme yapmalıyım?

Bazı kuruluşlarda web uygulamaları, başlangıçta uygulamaların her zaman IIS’nin düşük düzeydeki özelliklerine erişimi olacağı varsayımıyla oluşturulur. Örneğin bazı geliştiriciler, ISAPI filtrelerine ek olarak izleme, günlüğe kaydetme ve güvenlik gibi özellikler oluşturmuştur. Filtreler, gelen isteklere ASP.NET uygulamasına geçirilmeden önce erişim sağlar. Ayrıca giden yanıtlara ASP.NET uygulaması tarafından oluşturulduktan sonra erişim sunar.

Ancak, Azure App Service gibi bir hizmet olarak platform (PaaS) teklifini kullanmanın avantajlarından biri, bulut sağlayıcısının (bu durumda Microsoft) sizin yerinize donanımı ve yazılımı yönetmesidir. Bu sayede hem maliyetten hem de zamandan tasarruf etmenizi sağlar. Ancak bu, uygulamalarınızın Windows Server ve IIS'nin daha düşük düzey özelliklerine daha az erişimi olduğu anlamına gelir. Uygulamalarınız bu daha düşük düzeydeki özelliklere bağımlıysa değişiklik yapmaksızın Azure App Service’dan faydalanamayabilirsiniz.

Değerlendirme ne tür sorunları denetler?

Migration Assistant, Azure App Service’in bu özelliğini kapsamasını veya bu özelliği otomatik olarak geçirebilme özelliğine sahip olmasını sağlamak amacıyla bir web uygulamasının belirli özelliklerini arar. Aşağıdaki tabloda, Migration Assistant’ın yaptığı bazı denetimlere ilişkin içgörüler sağlanmaktadır:

Hazır olma denetimi Açıklama
Bağlantı noktası bağlamaları Azure App Service yalnızca standart web trafiğine izin verdiğinden, bu hazır olma denetimi web uygulamasının yalnızca 80 (HTTP trafiği için) ve 443 (HTTPS trafiği için) bağlantı noktalarını dinlediğinden emin olur.
Protokoller Azure App Service yalnızca HTTP ve HTTPS protokolleriyle çalıştığından, bu hazır olma denetimi web uygulamasının yalnızca HTTP tabanlı protokolleri işlediğinden emin olur. Örneğin, web uygulamanız Windows Communication Foundation'a bağlıysa bu hazırlık denetimini geçemez.
Sertifikalar Azure Uygulaması Hizmeti güvenlik sertifikalarını işleyebilir, ancak bu hazırlık denetimi Geçiş Yardımcısı sizin için sertifikayı otomatik olarak geçirmediği konusunda sizi uyarır.
Konum etiketleri Konum etiketleri, bir sunucuda barındırılan tüm web uygulamalarına yönelik yapılandırmayı her bir web uygulaması için ayrı web.config dosyalarında barındırmak yerine tek bir dosyada barındırma olanağı sağlar. Azure App Service uygulamaları, önceden yapılandırılmış IIS applicationhost.config dosyası kullanır ve konum etiketleri özelliğini desteklemez. Geçirdiğiniz her web uygulamasının ayarları tek tek web.config dosyalarına taşınmalıdır. Bu hazır olma denetimi, konum etiketlerinin kullanımını belirler.
ISAPI filtreleri Azure App Service ISAPI filtrelerine yönelik destek sağlar ancak bu, ISAPI Filtresinin uygulandığı yönteme bağlıdır. Geçiş Yardımcısı, ISAPI filtresine bağımlı olan bir uygulamayı geçirmez. Öncelikle uygulamanızda ISAPI filtresini kaldırmanız, uygulamayı geçirmeniz ve sonra Azure App Service’da ISAPI filtresini el ile eklemeniz gerekir.
Uygulama havuzları Azure App Service uygulama başına bir uygulama havuzunu desteklediğinden bu hazır olma denetimi, web uygulamanızın yalnızca tek bir uygulama havuzunu kullandığından emin olur.
Uygulama havuzu kimliği Azure App Service uygulamaları, uygulama havuzuyla ilişkili bir sistem tarafından yönetilen hesapta çalışan bir IIS çalışan işleminde barındırılır. Bu aynı zamanda IIS’in şirket içi yüklemeleri tarafından kullanılan varsayılan kimliktir. Bu hazır olma denetimi, web uygulamasının varsayılan kimlikte çalışacak şekilde yapılandırılmasını sağlar.
Authentication type Azure App Service uygulamaları, şirket içinde çalışan IIS’de barındırılan uygulamalara kıyasla farklı kimlik doğrulaması türlerinden oluşan bir kümeyi destekler. Bu hazır olma denetimi, web uygulamasının anonim kimlik doğrulaması kullanacak şekilde yapılandırılmasını sağlar. Geçişten sonra, Azure App Service’de kimlik doğrulaması türünü kendiniz yapılandırabilirsiniz.
Uygulama ayarları Bu hazır olma denetimi, web.config dosyasından Azure App Service>Yapılandırma>Uygulama ayarları’na taşınması gereken özel uygulama ayarıyla ilgili sizi uyarır.
Bağlantı dizeleri Bu hazır olma denetimi, web.config dosyasında depolanan veritabanı bağlantı dizelerinin şirket içi veritabanlarına işaret edip etmediğini belirler. Bu durumda, Geçiş Yardımcısı karma bağlantılar kurma seçeneği sunar.
Çerçeveler Migration Assistant yalnızca ASP.NET ve PHP’yi destekler. Uygulamanız farklı bir çerçeve kullanıyorsa otomatik geçişi gerçekleştiremezsiniz.
Yapılandırma hatası Geçiş Yardımcısı, şirket içi IIS örneğinizin doğru yapılandırıldığından ve tarandığında hata döndürmediğinden emin olur. Bu hazır olma denetimi, geçiş öncesinde web uygulamasında temel sorunlar olup olmadığını denetler.
Sanal dizinler Azure App Service, tüm dosyaları sabit bir dizin yapısında depolar. Geçiş Yardımcısı dosyaları uygun alt dizinlere taşır. Ancak, UNC paylaşımları tarafından yedeklenen sanal dizinlere sahip uygulamaları geçiremez.

Bu tabloda yer alan bilgiler, Azure App Service Migration Assistant wiki sayfasındaki bilgilerin özetidir.

Değerlendirme bir sorun bulursa ne olur?

Azure App Service Migration Assistant web uygulamanızı değerlendirirken sorunlarla karşılaştığında şunları yapabilirsiniz:

  • IIS’nin daha düşük düzey genişletilebilirlik özelliklerine bağımlı olan özellikleri değiştirmek üzere uygulamayı güncelleştirme. Bu görev söz konusu işleve bağlı olmak kaydıyla göreli olarak basit olabilir. Örneğin, ISAPI filtresine bağımlı olan özel günlüğe kaydetme özelliklerini Azure Application Insights ile değiştirebilirsiniz. Application Insights için bir uygulamaya yalnızca birkaç satır kod eklenmesi gerekir ve zengin, eyleme geçirilebilir raporlar sağlar.
  • Geçişi engelleyen özelliği geçici olarak devre dışı bırakarak uygulamayı güncelleştirme. Migration Assistant, bunu yapmanız için sizi yönlendirebilir.
  • Uygulamayı bir Azure sanal makinesine olduğu gibi dağıtma. Azure App Service kullanmanın avantajlarından yararlanamadığınızdan ve işletim sisteminizi sürdürmeniz gerektiğinden, donanımı sürdürmeniz gerekmez. Ayrıca tüm web hizmetleriniz için tek bir yönetim noktasına sahip olursunuz.

Azure App Service Migration Assistant wiki sayfasında, değerlendirme sırasında bulunan pek çok soruna ilişkin olası düzeltme adımları bulunur.

Özet

Bu ünitede öğrendiğiniz en önemli noktaları tekrarlamakta fayda var:

  • Azure Uygulaması Hizmeti Geçiş Yardımcısı, şirket içi web uygulamalarınız ile Azure Uygulaması Hizmeti'nde desteklenenler arasındaki uyumsuzlukları arar. Sorun varsa genellikle şirket içi ortamda düzeltmeye (veya soruna neden olan özelliği devre dışı bırakmaya) yönelik bir yöntem vardır. Daha sonra Migration Assistant’ı çalıştırmayı yeniden deneyebilirsiniz.
  • Engelleme sorunları yoksa, Geçiş Yardımcısı web uygulamanızı sizin için Azure Uygulaması Hizmetine geçirir.