Azure Web Sitesi ile Azure Web Rolü arasındaki fark nedir


241

ASP.NET MVC uygulaması için yeni Azure Web Siteleri ile geleneksel Azure Web Rolleri arasındaki önemli farklar nelerdir ? "Web rolü" yerine "web sitesi" ni seçmem için ne sebep olur?

Her iki durumda da eşit kapasiteye ihtiyacım olacağını varsayalım (örneğin 2 küçük örnek). Fiyatlar, web siteleri için önizleme dönemindeyken% 33'lük geçici bir indirim olması dışında karşılaştırılabilir görünmektedir.

Bir web rolü ile zor veya imkansız bir "web sitesi" ile yapabileceğim şeyler var mı? Örneğin, "web siteleri" kullanarak birden çok web sitesini tek bir VM grubuna koymak kolaylaşır mı? "Web sitesi" ile "web rolü" ne karşı bir şey kaybeder miyim? IIS'de ince ayar yapabilme özelliği? Önbellek hizmetini yerel olarak kullanma yeteneği?


aynı qs değerine sahipti. bunu dokümanlarında açıkça belirtmeliler.
90abyss

Yanıtlar:


213

Web Rolleri size Web Uygulamalarının (eski adıyla Web Siteleri) ötesinde çeşitli özellikler sunar:

  • Uygulamaları yüklemek, kayıt defteri ayarlarını değiştirmek, performans sayaçlarını yüklemek, IIS'de ince ayar yapmak vb. İçin yükseltilmiş başlangıç ​​komut dosyaları çalıştırabilme.
  • Bir uygulamayı katmanlara ayırma (belki de ön uç için Web Rolü, arka uç işleme için Çalışan Rolü) ve bağımsız olarak ölçeklendirme
  • Hata ayıklama amacıyla VM'nize RDP özelliği
  • Ağ yalıtımı
  • Bir bulut hizmetindeki web rolü örneklerinin IP kısıtlamalı Sanal Makinelere erişmesine izin veren özel sanal IP adresi
  • ACL kısıtlı bitiş noktaları (Azure SDK 2.3, Nisan 2014'te eklendi)
  • Herhangi bir TCP / UDP bağlantı noktası desteği (Web Siteleri TCP 80/443 ile sınırlıdır)

Web Uygulamalarının Web Rollerine göre avantajları vardır:

  • Dağıtım geçmişi / geri almalarla neredeyse anında dağıtım
  • Visual Studio Online, github, local git, ftp, CodePlex, DropBox, BitBucket dağıtım desteği
  • Çok sayıda CMS ve çerçeveden birini (WordPress, Joomla, Django, MediaWiki vb.) Yayma yeteneği
  • SQL Veritabanı veya MySQL Kullanımı
  • Ücretsiz katmandan paylaşılan katmana ve özel katmana kadar basit ve hızlı ölçeklendirme
  • Web İşleri
  • Web Sitesi içeriğinin yedekleri
  • Yerleşik web tabanlı hata ayıklama araçları (basit cmd / powershell hata ayıklama konsolu, işlem gezgini, günlük akışı gibi tanılama araçları vb.)

Nisan 2014 ve Eylül 2014 sunumlarında artık hem Web Uygulamaları hem de Web Rolleri (ve Çalışan Rolleri) için ortak olan bazı özellikler vardır:

  • Evreleme + üretim yuvaları
  • Joker karakter DNS, SSL sertifikaları
  • Visual Studio entegrasyonu
  • Trafik Yöneticisi desteği
  • Sanal Ağ desteği

İşte Web Siteleri galerisi seçim formundan aldığım bir screengrab: resim açıklamasını buraya girin

Web Uygulamalarının hızlı bir şekilde çalışmaya başlamak için harika bir yol olduğunu düşünüyorum; burada paylaşılan kaynaklardan ayrılmış kaynaklara geçebilirsiniz. Bunu geçtikten sonra, Web Rolleri'ne geçebilir ve istediğiniz gibi genişletebilirsiniz.


Git + ftp'in yanı sıra başka bir harika yayınlama ayarlarıdır (örneğin WebMatrix 2'de de kullanılabilir)
Kris van der Mast

18
Katmanlara bölünmek ayırt edici bir faktör değildir. Web Siteleri ile Çalışan rollerini kullanabilirsiniz.
RickAndMSFT

4
Katmanlarla ilgili olarak: Web Siteleri ile, Sanal Siteleri Sanal Ağları desteklemediğinden, bir çalışanla harici uç nokta üzerinden bağlanmanız gerekir. Ayrıca: Kodunuzu birden fazla dağıtım arasında bölmeniz gerekir (biri Web Siteleri için, biri çalışan rolü olan Bulut Hizmeti için). Cloud Service ile, kodunuzu ölçeklenebilir katmanlara kolayca bölümlere ayırabilir ve ardından söz konusu katmanlar arasında dahili iletişim kurarken her katmanı bağımsız olarak boyutlandırabilir ve ölçeklendirebilirsiniz. Bu, katmanları Cloud Services'ın (web / işçi) farklılaştırıcısı olarak işaret ederken kastettiğim şeydi.
David Makogon

1
Stackoverflow.com/a/10960755/56145 ile karşılaştırıldığında biraz eski değil mi?
Matt Kocaj

2
Web rolü ile aynı VM'lerde arka plan işleme de yapabilirsiniz
Boris Lipschitz

44

DÜZENLEME 2014: Değeri ne olursa olsun, bu yanıttaki bilgilerin çoğu artık doğru değil - yorumlara bakın.

@David yanıtına daha fazlasını ekleyin:

Windows Azure Web Sitelerinde, aynı makinede yüzlerce başka web sitesi ile birlikte bir kaynak dilimi kullandığınız için IIS veya web Sunucusu üzerinde kontrole sahip değilsiniz, başkaları gibi kaynakları paylaşıyorsunuz, böylece IIS üzerinde kontrol yok.

Paylaşılan bir web sitesi ile Azure web rolü arasındaki en büyük fark, bir web sitesinin roller VM'ye bağlıyken sürece bağlı olarak kabul edilmesidir.

Web siteleri, gruptaki tüm "web sunucularından" erişilebilen bir içerik paylaşımında depolanır, böylece çoğaltma veya bunun gibi bir şey gerekmez.

Windows Azure web sitelerinin kendi ana bilgisayar adları olamaz, bunun yerine yalnızca websitename .azurewebsites.net kullanmaları gerekir ve isteğinizi önceki Windows Azure Rolü ile aynı şekilde yalnızca ayrılmış modda çalışırken yönlendirmek için DNS sağlayıcınızdaki CNAME ayarını kullanabilirsiniz. . CNAME ayarı paylaşılan web siteleri için desteklenmez.


AFAIK WebRolleri de kendi ana bilgisayar adlarını almazlar - hepsi rolename.cloudapp.net. Bilmediğim bir özellik olmadığı sürece?
Brian Reischl

Www.alanadiniz.com.tr adresinden websitename.azurewebsites.net adresine işaret eden bir CNAME takma adı oluşturmak için DNS kullanamazsınız?
Bernard Vander Beken

WA Web Sitelerine inanıyorum, yalnızca ayrılmış örneklerle (özel VM'ler) çalışan uygulamaların kendilerine özel etki alanları eşleştirilebiliyor.
user94559

Bence scottgu kısa süre önce paylaşılan örneklerde de özel alan adlarını desteklemek istediklerini belirtti.
jeremy

19
Değeri ne olursa olsun, bu cevaptaki bilgilerin çoğu artık doğru değil (Haziran 2012'de olmasına rağmen): Web Siteleri artık özel alan adlarına sahip olabilir. Web siteleri, esasen bir VM olan, ancak tamamen yönetilen "ayrılmış" modda çalışabilir.
Jay Querido

34

Bu konuda http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/ adresinde kapsamlı bir blog yazısı yayınladım .

Sonuçtan bir alıntı: Çok büyük ölçekli, SSL, Asya veya Batı ABD veri merkezlerine, standart dışı bir yapılandırmaya (IIS, bağlantı noktaları, tanılama, güvenlik sertifikaları veya başlangıç ​​komut dosyaları), RDP veya düşük maliyetli İşçi Rollerine ( Web Rolünüzle birleştiğinde) şimdilik Web Rollerine bağlı kalmanız gerekir.

Aksi takdirde, Web Siteleri mükemmel bir seçenektir!


14

Azure Web Rolü sanal bir özel ana bilgisayar gibidir. Web sunucunuz gibi davranan bir VM alırsınız ve bu VM örneğine sahip olursunuz.

Azure Web Siteleri, esnek bir paylaşılan barındırma hizmeti gibidir. Uygulamanızı sizin tarafınızdan kontrol edilmeyen ve aynı zamanda diğer kullanıcıların sitelerini de sunucu yapan bir web sunucusuna dağıtırsınız. Kaynak ihtiyaçlarınız değiştikçe sitenizi daha esnek hale getirmek için sitenizi yukarı ve aşağı ölçeklendirebilirsiniz (bazı ekstra ücret karşılığında).


6

Yayında olan bir senaryo daha var: Bu 500 istisna kaldırıldıktan sonra Azure Web Sitelerinin joker karakter CNAME'lerini işleme yeteneği hakkında bir şey söylemediler. Birçoğumuz Nate'in yazılımında joker karakter alt alan yeteneği sağladığından, çoğumuz Nate'in Bulut Hizmetlerinde Web Rol Hızlandırıcısını kullanıyoruz. Azure Web Sitelerinin bunları işleyebileceğini bilinceye kadar bu joker alt alan uygulamalarını taşıyamayız. Bunu asla yapamazsa, denklemin Web Rolü tarafında pozitif olarak düşer. Ayrıca, fiyatlandırmanın tam olarak aynı olmasıyla (önizleme indirimi sona erdikten sonra), RDC ve Olay Görüntüleyicisine (sadece iki şeyden bahsetmek) erişimimi bırakmak istediğimden emin değilim.


6

Azure Web SiteleriAzure'da hızla ölçeklenebilir web siteleri oluşturmanıza olanak tanır. .NET, PHP, Node.js ve Python gibi popüler diller içeren bir web sitesi kurmak için Azure Portalı'nı veya komut satırı araçlarını kullanabilirsiniz. Desteklenen çerçeveler zaten konuşlandırılmıştır ve daha fazla yükleme adımı gerektirmez. Azure Web Siteleri galerisi, Drupal ve WordPress gibi birçok üçüncü taraf uygulamasının yanı sıra Django ve CakePHP gibi geliştirme çerçeveleri içerir. Bir site oluşturduktan sonra, mevcut bir web sitesini taşıyabilir veya tamamen yeni bir web sitesi oluşturabilirsiniz. Web Siteleri, fiziksel donanımı yönetme ihtiyacını ortadan kaldırır ve ayrıca çeşitli ölçeklendirme seçenekleri sunar. Paylaşılan çok kiracılı bir modelden, özel makinelerin gelen trafiğe hizmet verdiği standart bir moda geçebilirsiniz. Web Siteleri ayrıca diğer Azure hizmetleriyle tümleştirmenize olanak tanır, SQL Veritabanı, Hizmet Veri Yolu ve Depolama gibi. Azure WebJobs SDK önizlemesini kullanarak arka plan işleme ekleyebilirsiniz. Özetle, Azure Web Siteleri çok çeşitli dilleri, açık kaynak uygulamalarını ve dağıtım yöntemlerini (FTP, Git, Web Dağıtımı veya TFS) destekleyerek uygulama geliştirmeye odaklanmayı kolaylaştırır. Bulut Hizmetleri veya Sanal Makineler gerektiren özel gereksinimleriniz yoksa, bir Azure Web Sitesi büyük olasılıkla en iyi seçimdir.

Bulut Hizmetlerizengin bir Hizmet Olarak Platform (PaaS) ortamında yüksek oranda kullanılabilir, ölçeklenebilir web uygulamaları oluşturmanıza olanak tanır. Web Sitelerinin aksine, Azure'a dağıtılmadan önce Visual Studio gibi bir geliştirme ortamında bir bulut hizmeti oluşturulur. PHP gibi çerçeveler, özel dağıtım adımları veya çerçeveyi rol başlangıcına yükleyen görevler gerektirir. Bulut Hizmetlerinin temel avantajı, daha karmaşık çok katmanlı mimarileri destekleme yeteneğidir. Tek bir bulut hizmeti, bir ön uç web rolü ve bir veya daha fazla çalışan rolünden oluşabilir. Her katman bağımsız olarak ölçeklendirilebilir. Ayrıca web uygulama altyapınız üzerinde daha fazla denetim düzeyi vardır. Örneğin, masaüstünü rol örneklerini çalıştıran makinelere uzak tutabilirsiniz.

Sanal makinelerWeb uygulamalarını Azure'da sanal makinelerde çalıştırmanıza olanak tanır. Bu özellik Hizmet Olarak Altyapı (IaaS) olarak da bilinir. Portal üzerinden yeni Windows Server veya Linux makineleri oluşturun veya mevcut bir sanal makine görüntüsünü yükleyin. Sanal Makineler işletim sistemi, yapılandırma ve yüklü yazılım ve hizmetler üzerinde size en fazla kontrolü sağlar. Bu, tesis içi karmaşık web uygulamalarını buluta hızlı bir şekilde taşımak için iyi bir seçenektir, çünkü makineler bir bütün olarak taşınabilir. Sanal Ağlar ile bu sanal makineleri şirket içi şirket ağlarına da bağlayabilirsiniz. Bulut Hizmetlerinde olduğu gibi, bu makinelere uzaktan erişiminiz ve yapılandırma düzeyinde yönetim düzeyinde değişiklikler yapma olanağınız vardır. Ancak, Web Siteleri ve Bulut Hizmetlerinin aksine, sanal makine görüntülerinizi ve uygulama mimarinizi tamamen altyapı düzeyinde yönetmeniz gerekir. Bunun temel bir örneği, işletim sisteminize kendi yamalarınızı uygulamanız gerektiğidir.

Bu bağlantıdan güncellenmiş ve kapsamlı karşılaştırmaya bakın: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/


4

Azure Web Siteleri, Web Çalışanları ve Sanal Makineler, Windows Azure'da kullanılabilen üç farklı bilgi işlem yaklaşımıdır. Kontrol ve sorumluluklar düzeyinde farklılık gösterirler:

  • Azure Web Sitesi en düşük denetim düzeyine sahiptir, ancak sağlık sanal makinesini ve IIS'yi tutmayı umursamazsınız çünkü Azure işleri bunu sizin için yapar
  • Web Rolleri size daha fazla denetim sağlar (trafik yöneticisi, uzak masaüstü), ancak yanınızda daha fazla yönetim mümkündür, bu da örneğin uzak masaüstü yoluyla bir şeyi kırabileceğiniz anlamına gelir.
  • Sanal Makineler VM'nin tam kontrolünü sağlar, bu nedenle en fazla yönetim çabasını gerektirir.

En iyi seçim yoktur, çünkü hangi kontrol düzeyine ihtiyacınız olduğuna, hangi özelliklere ihtiyacınız olduğuna ve Azure öğelerini korumak için ne bırakmak istediğinize bağlıdır. Ve büyük bir konu ..

Daha bilinçli seçim yapmak için lütfen bu makalelere bakın:

Kullanım kolaylığı ve yetenekler arasındaki dengeye dayanır.


3

Bulduğum iki şey, özel bir alan sitesi ve Çok Kiracılı yapılandırmalar için SSL almanın maliyeti oldu.

Web sitesi için standart örneğin üstünde aylık ödeme yapmanız gerekir (Küçük örnek en ucuz seçenektir). Bu, özel alan adı https'si elde etmek için küçük örnek için aylık yaklaşık 70 $ artı tüm tarayıcıyı destekleyen SSL için yaklaşık ~ 41 / ay mal olacağı anlamına gelir.

WebRole için XS örneği alabilir ve ücretsiz olarak kendi SSL'nizi ekleyebilirsiniz, bu da ayda ~ 15 ABD doları anlamına gelir ve SSL ile özel bir alanınız vardır.

Çok kiracılı web sitesi için Çok kiracılı Azure dinamik joker CName'e bakın


1

Web rolü, birden çok web sitesini barındıran sanal bir makinedir


2
Tam olarak doğru değil. Sen edebilir bir web rolü birden çok web sitesi barındırabilir, ancak Windows Server VM'lerini olduğumuza web rolleri çok ötesine gidin. Hiçbir web sitesini çalıştırmamayı seçebilir ve yalnızca arka plan görevlerini, REST uç noktalarını, veritabanı sunucularını vb. Çalıştırabilirsiniz (IIS'yi kullanmaya gerek yoktur ve hatta devre dışı bırakabilirsiniz). Ve vatansız olduklarını unutmayın, bu da onları ölçeklendirmeyi çok kolaylaştırır.
David Makogon

@DavidMakogon Ayrıca şunu da söyleyebilir miyim, web rolleri aslında bazı görevleri yerine getirir, ancak HTTP protokolünü kullandığı için buna 'WEB' rolü denir ve bu protokolü desteklediğinden, web sitelerini de destekler, ancak bu birincil amaç değildir gibi?
Aditya Bokade

@AdityaBokade Daha fazla okumaya çalışmayın: Ad, Azure'un ilk başlatıldığı, Web Rollerinin dışa dönük bir uygulamayı barındırmanın tek yolu olduğu bir kalıntıdır (İşçi Rolleri'nin dış uç noktaları yoktu ve başka hiçbir şey yoktu - VM'ler değil, Web Uygulamaları değil). Web (ve Çalışan) Rolleri, kodunuz ve başlangıç ​​komut dosyalarınız için özel paketlere sahip durum bilgisi olmayan Windows sanal makineleridir. Http desteklenerek tanımlanmaz: http (s), tcp, udp veya hatta hiçbir şey aracılığıyla harici kaynaklarla iletişim kurabilirsiniz. Gerçekten hepsi bu kadar.
David Makogon

0

Bu yaygın bir soru ve msdn'den bir alıntı vermek istiyorum.

Önbellekleme, Hizmet Veri Yolu, Depolama, SQL Azure Veritabanı gibi hizmetlere erişim Web Sitesi: Evet WebRole: Evet

ASP.NET, klasik ASP, Node.js, PHP- Web Sitesi desteği: Evet WebRole: Evet

Paylaşılan içerik ve yapılandırma- Web Sitesi: Evet WebRole: Hayır

Kodu GIT, FTP- ile dağıtma Web Sitesi: Evet WebRole: Hayır

Neredeyse anında dağıtım-Web Sitesi: Evet WebRole: Hayır

Hizmet olarak tümleşik MySQL desteği-Web Sitesi: Evet WebRole: Evet

Çoklu dağıtım ortamları (üretim ve hazırlama) -WebSite: Hayır WebRole: Evet

Ağ yalıtımı-Web Sitesi: Hayır WebRole: Evet

Sunuculara uzaktan masaüstü erişimi-Web Sitesi: Hayır WebRole: Evet

Yükseltilmiş izinlerle programları çalıştırabilme özelliği-WebSite: Hayır WebRole: Evet

Başlangıç ​​görevlerini tanımlama / yürütme yeteneği-WebSitesi: Hayır WebRole: Evet

Desteklenmeyen çerçeveler veya kitaplıklar kullanma yeteneği-WebSitesi: Hayır WebRole: Evet

Windows Azure Connect / Windows Azure Ağ-Web Sitesi Desteği: Hayır WebRole: Evet

Daha ayrıntılı bilgi için şu bağlantıyı ziyaret edin: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to Use-which.aspx

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.