Azure App Service’e Taşınırken Geçiş Kontrol Listesi
Uygulamaları Azure PaaS hizmetine geçirirken nelere dikkat etmeniz gerektiği konusunda müşteriler nelere dikkat edilmesi konusunda sürekli sorular gelmektedir.
Bu makalede, bu soruların çoğuna cevap çalışacağım ve mevcut uygulamalarını Azure App Service’e geçirmek isteyen müşteriler için bir kontrol listesi sunmaya çalışacağım.
- Port Bindings – Azure App Service, http için 80 bağlantı noktasını ve HTTPS trafiği için bağlantı noktası 443’ü destekler. Azure App Service’e geçiş yaptıktan sonra başka bir bağlantı noktasını kullanan siteleriniz varsa, bunların kullanılacak olan tek bağlantı noktası olduğunu unutmayın.
- GAC (Global Assembly Cache) – Bu desteklenmiyor.
- IIS5 Uyumluluk Modu – IIS5 Uyumluluk Modu desteklenmez. Azure Uygulama Hizmeti’nde, her bir Web Uygulaması ve altındaki tüm uygulamalar, belirli bir uygulama havuzu ayarlarıyla aynı alt işlemle çalışır.
- IIS7 + Şema Uyumluluğu – Azure App Service IIS şemasında tanımlanmayan bir veya daha fazla öğe ve / veya özellik kullanılıyor. XDT dönüşümlerini kullanmayı düşünün.
- Site Başına Tek Uygulama Havuzu – Azure Uygulama Servisi’nde her bir Web Uygulaması ve altındaki tüm uygulamalar aynı uygulama havuzunda çalışır. IIS’de farklı uygulama havuzuna sahip uygulamalarınız varsa, ortak ayarlarla tek bir uygulama havuzu oluşturmayı veya her uygulama için ayrı bir Web Uygulaması oluşturmayı düşünün.
- COM ve COM + bileşenleri – Azure Uygulama Hizmeti, COM bileşenlerinin platformda kaydedilmesine izin vermez. Siteniz veya uygulamalarınız herhangi bir COM bileşeninden yararlanıyorsa, bunların yönetilen kodda yeniden yazılması ve site veya uygulamayla dağıtılması gerekir.
- ISAPI Uzantıları- Azure Uygulama Hizmeti, ISAPI Uzantılarının kullanımını destekleyebilir, ancak, DLL (ler) in sitenizle konuşlandırılması ve web.config aracılığıyla kaydedilmesi gerekir.
Yukarıdaki sınırlamalar göz önüne alarak uygulamalarınızı taşımalısınız. En kolay geçiş şekli Azure Uygulama Hizmeti Geçiş Asistanı’dır. Azure App Service Migration sitesi ve aracı, siteleri Windows ve Linux web sunucularından Azure App Service’e geçirmek için kullanılabilir. Taşıma işleminin bir parçası olarak, bu Azure’da Web Uygulamaları ve veritabanları oluşturur ve içerik yayınlar ve veritabanınızı yayınlar. Bu araç hem Windows sunucusu hem de Linux sunucuları için kullanılabilir. Windows Server için geçiş aracı, yerel makineden veya uzak bir makineden çalışır. Siteleri Windows Server 2003’te çalışan IIS’den geçirmenize izin verir. Linux site taşıma aracı, siteleri Apache çalıştıran Linux web sunucularından buluta geçirmenize izin verir. Bu noktada yalnızca Apache desteklenmektedir.
Geçişe karar verdikten sonra, uygulamaları Azure App Service’e geçirmek için aşağıdaki alanların dikkate alınması gerekir.
- On-premises entegrasyon – Uygulamalarınızın Azure’a taşınmayacak diğer uygulamalarla iletişim kurması durumunda, uygulamanız Cloud’a taşındığında iletişimin nasıl olacağını göz önünde bulundurmalısınız. Çözümlerden biri, diğer uygulamanın REST kullanarak internet üzerinden iletişim kurmasını sağlamak. Bu, sunucuyu internete maruz bırakma riskinden bahsetmek yerine her iki uygulamada da değişiklik gerektirebilir. Başka bir yaklaşım, kurum içi sunucunuza, uygulamanızın barındırıldığı Azure App Hizmeti’nden güvenli bir bağlantı kurmak olacaktır. Bu, gereksiniminize bağlı olarak aşağıdaki yollardan biriyle yapılabilir – Uygulamalarınızı bir İzole Uygulama Servis Planı kullanarak bir Uygulama Servis Ortamında dağıtma; bir Azure VNet ile VNET entegrasyonunu mümkün kılmak, bu Azure VNET ile şirket içi arasında bir Site VPN Sitesi kurmak ve ardından Uygulama Servisiniz ile şirket içi VM arasında yollar sağlamak; ve hibrit bağlantıların kurulması.
- Kimlik Doğrulama – Şirket içinde, AD’ye karşılıklı güven duyulduğundan, kimlik doğrulaması yapabilirsiniz. Azure’a geçerken, Azure Active Directory ile kimlik doğrulamasını etkinleştirmeniz gerekir. Bu, kullanıcılarınızı Azure AD üzerinden kimlik doğrulaması yapabilmek için bazı yapılandırmalarınızı değiştirmek anlamına gelir.
- Oturum Durumu – İdeal bir durumda, isteğinize göre ölçeklendirmek / geçmek için başvurunuzu stateless hale getirebilirsiniz. Bu mümkün değilse, lütfen oturum durumunuzun Azure Redis Cache’de kalıcı olacak şekilde yapılandırın.
- Dosya Kalıcılığı – Genellikle, web sitelerinin kalıcı olması gereken dosyaları yüklemeye ihtiyaçları olabilir. Azure Uygulama Hizmeti’nde, Uygulama Hizmeti dışındaki tüm dosyaları bir blob mağazası gibi bir şey göstermeniz önerilir. Dosyaları kaydetmek ve erişmek için Azure Storage SDK’sını veya REST API’lerini kullanabilirsiniz.
- Günlük kaydı – Logging Framework yerel olarak kaydedilmiş dosyalara giriş yapıyorsa, onları Azure Diagnostics’te veya merkezi bir blob mağazasında oturum açmak için güncellemeniz gerekir. Uygulamanızın nasıl performans gösterdiğiyle ilgili daha derin bilgi edinmek için Azure App Insights uygulamasını da ekleyebilirsiniz.
- Sertifikalar – Sertifikalar doğrudan taşınmaz. Azure’da çalışabilmek için sertifikalarınızı açıkça yüklemeniz gerekir. Ayrıntıları burada Bind SSL Sertifikası belgelerinde bulabilirsiniz. Sertifikaları doğrudan Azure’dan da satın alabilirsiniz.
- Özel Etki Alanları – Özel etki alanları, CNAME kaydı değişikliği yoluyla Azure Web Apps ile ilişkilendirilebilir. DNS’yi doğrulamak için Uygulama Servisini de güncellemeniz gerekir.
- E-posta – E-posta göndermek bir SMTP sunucusu gerektirir. Uygulama Hizmeti size aynısını sağlamaz ve Uygulama Hizmeti’nde yapılandırmanıza imkân yoktur. Azure IaaS VM’lerine e-posta göndermek için bir SMTP sunucusu kurabilirken, kısıtlamalar vardır. E-posta göndermek için aktarma servislerini kullanmanızı önerilir- örneğin: Office 365.
- LDAP Sorguları – AD gibi LDAP sorgulayan dahili uygulamalar oluşturuyorsanız, bunlar Azure Uygulama Hizmeti’nde çalışmayabilir. Özellikle, Active Directory durumunda, AD’yi Azure AD’ye taşıyabilir ve ardından Azure’a gerekli sorguları yapmak için grafik API’leri kullanabilirsiniz. Bunun için, Dizin Nesnelerinin sorgulanmasına izin vermek için başvurunuzu Azure AD’ye kaydetmeniz gerekir.
- Paylaşılan / Bağlantılı Veritabanı sorguları – Birden fazla veritabanına sahip bir uygulamay için ek gereksinimler gerekebilir. Çapraz veritabanı sorguları varsa, veritabanlarını Elastic Pools’a taşımanız ve daha sonra veritabanlarında sorgulamak için Elastic Queries kullanmanız gerekir. Veritabanı ifadelerinizde bağlantılı bir veritabanı varsa, Azure’da buna izin verilmez. Bu, bağlantılı veritabanı sorgularını önlemek için çözümün yeniden yapılandırılmasını gerekebilir.
Merhaba,
Azure App üzerinden asp.net mvc sınav projesi yaptım aynı anda 1000 kullanıcı giriş yaparak 1 saat boyunca sınava maruz kalacaklar. Bana Ölçeklendirme ile ilgili ne önerirsiniz? S serisinimi yoksa P serisini mi kullanmam gerek