Sự khác biệt giữa Trang web Azure và Vai trò Web Azure là gì


241

Sự khác biệt về vật chất giữa các trang web Azure mới và các vai trò Azure Web truyền thống cho một ứng dụng ASP.NET MVC là gì? Lý do nào khiến tôi chọn "trang web" thay vì "vai trò web" hoặc ngược lại?

Giả sử rằng tôi sẽ cần năng lực như nhau trong cả hai trường hợp (ví dụ 2 trường hợp nhỏ). Giá dường như tương đương với thực tế là có giảm giá tạm thời 33% cho các trang web trong khi chúng đang trong giai đoạn xem trước.

Có những điều tôi có thể làm với một "trang web" khó khăn hoặc không thể với vai trò web không? Ví dụ, có dễ dàng đặt nhiều trang web vào một nhóm máy ảo bằng cách sử dụng "trang web" không? Tôi có mất gì với "trang web" so với "vai trò web" không? Khả năng tinh chỉnh IIS? Khả năng sử dụng dịch vụ Cache cục bộ?


có cùng qs. họ thực sự nên làm cho nó rõ ràng trong tài liệu của họ.
90abys

Câu trả lời:


213

Vai trò Web cung cấp cho bạn một số tính năng ngoài Ứng dụng web (trước đây là Trang web):

  • Khả năng chạy các tập lệnh khởi động nâng cao để cài đặt ứng dụng, sửa đổi cài đặt đăng ký, cài đặt bộ đếm hiệu suất, tinh chỉnh IIS, v.v.
  • Khả năng phân chia một ứng dụng thành các tầng (có thể là Vai trò Web cho giao diện người dùng, Vai trò công nhân để xử lý phụ trợ) và chia tỷ lệ độc lập
  • Khả năng RDP vào VM của bạn cho mục đích gỡ lỗi
  • Cách ly mạng
  • Địa chỉ IP ảo chuyên dụng, cho phép các thể hiện vai trò web trong dịch vụ đám mây truy cập vào các máy ảo bị hạn chế IP
  • Điểm cuối bị giới hạn ACL (được thêm vào Azure SDK 2.3, tháng 4 năm 2014)
  • Hỗ trợ cho mọi cổng TCP / UDP (Trang web được giới hạn ở TCP 80/443)

Ứng dụng web có lợi thế hơn so với Vai trò Web:

  • Triển khai gần như ngay lập tức với lịch sử triển khai / rollback
  • Visual Studio Online, github, git cục bộ, ftp, CodePlex, DropBox, BitBucket hỗ trợ triển khai
  • Khả năng tung ra một trong nhiều CMS và khung, (như WordPress, Joomla, Django, MediaWiki, v.v.)
  • Sử dụng cơ sở dữ liệu SQL hoặc MySQL
  • Đơn giản và nhanh chóng để mở rộng quy mô từ tầng miễn phí sang tầng chia sẻ đến tầng chuyên dụng
  • Công việc trên web
  • Sao lưu nội dung trang web
  • Các công cụ gỡ lỗi dựa trên web tích hợp (bảng điều khiển gỡ lỗi cmd / powershell đơn giản, trình khám phá quy trình, các công cụ chẩn đoán như truyền phát nhật ký, v.v.)

Với các buổi giới thiệu tháng 4 năm 2014 và tháng 9 năm 2014, hiện tại có một số tính năng phổ biến cho cả Ứng dụng web và Vai trò Web (và Vai trò của Công nhân), bao gồm:

  • Dàn dựng + khe sản xuất
  • Chứng chỉ DNS, chứng chỉ SSL
  • Tích hợp Visual Studio
  • Hỗ trợ quản lý giao thông
  • Hỗ trợ mạng ảo

Đây là một đoạn ghi hình tôi lấy từ mẫu lựa chọn thư viện Trang web: nhập mô tả hình ảnh ở đây

Tôi nghĩ Ứng dụng web là một cách tuyệt vời để khởi động và chạy nhanh, nơi bạn có thể chuyển từ tài nguyên được chia sẻ sang tài nguyên dành riêng. Khi bạn phát triển nhanh hơn, bạn có thể chuyển lên Vai trò Web và mở rộng khi bạn cần.


Bên cạnh Git + ftp, một ứng dụng tuyệt vời khác là PublishSinstall (cũng có thể được sử dụng trong WebMatrix 2)
Kris van der Mast

18
Chia thành các tầng không phải là một yếu tố khác biệt. Bạn có thể sử dụng vai trò Công nhân với Trang web.
RickAndMSFT

4
Về các tầng: Với các Trang web, bạn cần kết nối với Công nhân thông qua điểm cuối bên ngoài, vì các Trang web không hỗ trợ Mạng ảo. Hơn nữa: Bạn sẽ phải phân chia mã của mình qua nhiều lần triển khai (một cho các Trang web, một cho vai trò công nhân / dịch vụ đám mây). Với Cloud Service, bạn có thể dễ dàng phân vùng mã của mình thành các tầng có thể mở rộng, sau đó kích thước và chia tỷ lệ từng tầng một cách độc lập, tất cả trong khi có giao tiếp nội bộ giữa các tầng nói trên. Đây là những gì tôi muốn nói khi chỉ ra các tầng như một điểm khác biệt của Dịch vụ đám mây (web / worker).
David Makogon

1
Đây không phải là một chút lỗi thời so với stackoverflow.com/a/10960755/56145 ?
Matt Kocaj

2
Với vai trò Web, bạn cũng có thể thực hiện xử lý nền trên cùng một máy ảo
Boris Lipschitz

44

EDIT 2014: Đối với những gì đáng giá, rất nhiều thông tin trong câu trả lời này không còn đúng nữa - xem bình luận.

Thêm nhiều hơn vào phản hồi @David:

Với Windows Azure Websites, bạn không có quyền kiểm soát IIS hoặc Máy chủ web vì bạn đang sử dụng một lát tài nguyên cùng với hàng trăm trang web khác trên cùng một máy, bạn đang chia sẻ tài nguyên như bất kỳ trang nào khác nên không có quyền kiểm soát IIS.

Sự khác biệt lớn giữa một trang web được chia sẻ và vai trò web Azure là một trang web được coi là quá trình bị ràng buộc trong khi vai trò bị ràng buộc VM.

Các trang web được lưu trữ trên một chia sẻ nội dung có thể truy cập được từ tất cả các "máy chủ web" trong trang trại để không có sự sao chép hoặc bất cứ điều gì giống như yêu cầu.

Các trang web Windows Azure không thể có tên máy chủ riêng thay vào đó chúng chỉ phải sử dụng tên websit .azurewebsites.net và bạn chắc chắn có thể sử dụng cài đặt CNAME trong nhà cung cấp DNS của mình để định tuyến chính xác yêu cầu của bạn với Vai trò Windows Azure trước đó khi chúng đang chạy ở chế độ dành riêng . Cài đặt CNAME không được hỗ trợ cho các trang web được chia sẻ.


AFAIK WebRoles cũng không có tên máy chủ của riêng họ - tất cả đều là rolename.cloudapp.net. Trừ khi có một số tính năng tôi không biết về?
Brian Reischl

Bạn không thể sử dụng DNS để tạo bí danh CNAME trỏ từ www.yourdomain.com đến websitename.azurewebsites.net?
Bernard Vander Beken

Tôi tin rằng cho WA Web Sites, chỉ những ứng dụng đang chạy với dành riêng trường hợp (dành riêng ảo) có thể có lĩnh vực tùy chỉnh ánh xạ đối với họ.
dùng94559

Tôi nghĩ rằng scottgu gần đây đã đề cập rằng họ cũng đang tìm cách hỗ trợ các miền tùy chỉnh trên các trường hợp được chia sẻ.
jeremy

19
Đối với những gì nó có giá trị, rất nhiều thông tin trong câu trả lời này không còn đúng nữa (mặc dù đó là vào tháng 6 năm 2012): Các trang web hiện có thể có các miền tùy chỉnh. Các trang web có thể chạy ở chế độ "dành riêng", về cơ bản là VM, nhưng được quản lý hoàn toàn.
Jay Querido

34

Tôi vừa đăng một bài viết blog toàn diện về chính chủ đề này tại http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/ .

Một đoạn trích từ kết luận của tôi: Nếu bạn cần quy mô lớn, các trung tâm dữ liệu SSL, châu Á hoặc Tây Mỹ, một cấu hình không chuẩn (của IIS, cổng, chẩn đoán, bảo mật hoặc kịch bản khởi động), RDP hoặc Vai trò công nhân hiệu quả chi phí ( kết hợp với Vai trò Web của bạn) thì bây giờ bạn sẽ phải gắn bó với Vai trò Web.

Nếu không, các trang web là một lựa chọn tuyệt vời!


14

Azure Web Vai trò giống như một máy chủ riêng ảo. Bạn nhận được một VM hoạt động như máy chủ web của bạn và bạn sở hữu thể hiện VM đó.

Trang web Azure giống như một dịch vụ lưu trữ chia sẻ đàn hồi. Bạn triển khai ứng dụng của mình đến một máy chủ web không do bạn kiểm soát và cũng là máy chủ của các trang web của người dùng khác. Bạn có thể mở rộng trang web của mình lên và xuống (với một khoản phí bổ sung) để làm cho nó linh hoạt hơn khi tài nguyên của bạn cần thay đổi.


6

Có một kịch bản nữa được đưa ra: Sau khi loại bỏ 500 trường hợp ngoại lệ này, họ chưa nói gì về khả năng của các trang web Azure để xử lý các ký tự đại diện của CNAME. Một số người trong chúng ta đang sử dụng Trình tăng tốc vai trò web của Nate trong Dịch vụ đám mây, vì bị hack một dòng cung cấp khả năng tên miền phụ ký tự đại diện trong phần mềm của Nate. Chúng tôi không thể di chuyển các ứng dụng tên miền phụ ký tự đại diện này cho đến khi chúng tôi biết rằng Trang web Azure sẽ có thể xử lý chúng. Nếu nó không bao giờ có thể làm điều đó, thì nó sẽ đi xuống dưới dạng tích cực ở phía Vai trò Web của phương trình. Cũng cần lưu ý rằng với giá cả hoàn toàn giống nhau (sau khi giảm giá xem trước hết hạn), tôi không chắc chắn tôi muốn từ bỏ quyền truy cập vào RDC và Trình xem sự kiện (chỉ đề cập đến hai điều).


6

Trang web Azurecho phép bạn xây dựng các trang web có khả năng mở rộng nhanh chóng trên Azure. Bạn có thể sử dụng Cổng thông tin Azure hoặc các công cụ dòng lệnh để thiết lập một trang web với các ngôn ngữ phổ biến như .NET, PHP, Node.js và Python. Các khung được hỗ trợ đã được triển khai và không yêu cầu thêm các bước cài đặt. Thư viện trang web Azure chứa nhiều ứng dụng của bên thứ ba, chẳng hạn như Drupal và WordPress cũng như các khung phát triển như Django và CakePHP. Sau khi tạo một trang web, bạn có thể di chuyển một trang web hiện có hoặc xây dựng một trang web hoàn toàn mới. Trang web loại bỏ nhu cầu quản lý phần cứng vật lý và nó cũng cung cấp một số tùy chọn mở rộng. Bạn có thể chuyển từ mô hình nhiều người thuê chung sang chế độ tiêu chuẩn nơi máy chuyên dụng phục vụ lưu lượng đến. Trang web cũng cho phép bạn tích hợp với các dịch vụ Azure khác, chẳng hạn như Cơ sở dữ liệu SQL, Bus dịch vụ và Lưu trữ. Sử dụng bản xem trước SDK Azure WebJobs, bạn có thể thêm xử lý nền. Tóm lại, các trang web Azure giúp tập trung phát triển ứng dụng dễ dàng hơn bằng cách hỗ trợ nhiều ngôn ngữ, ứng dụng nguồn mở và phương pháp triển khai (FTP, Git, Triển khai web hoặc TFS). Nếu bạn không có các yêu cầu chuyên biệt yêu cầu Dịch vụ đám mây hoặc Máy ảo, thì Trang web Azure rất có thể là lựa chọn tốt nhất.

Dịch vụ điện toán đám mâycho phép bạn tạo các ứng dụng web có khả năng mở rộng, khả dụng cao trong môi trường Nền tảng là Dịch vụ (PaaS) phong phú. Không giống như Trang web, dịch vụ đám mây được tạo trước tiên trong môi trường phát triển, chẳng hạn như Visual Studio, trước khi được triển khai lên Azure. Các khung, chẳng hạn như PHP, yêu cầu các bước triển khai tùy chỉnh hoặc các tác vụ cài đặt khung khi khởi động vai trò. Ưu điểm chính của Cloud Services là khả năng hỗ trợ các kiến ​​trúc đa nhiệm phức tạp hơn. Một dịch vụ đám mây duy nhất có thể bao gồm vai trò web frontend và một hoặc nhiều vai trò worker. Mỗi tầng có thể được thu nhỏ độc lập. Ngoài ra còn có một mức độ kiểm soát gia tăng đối với cơ sở hạ tầng ứng dụng web của bạn. Ví dụ: bạn có thể điều khiển máy tính từ xa lên các máy đang chạy các thể hiện vai trò.

Máy ảocho phép bạn chạy các ứng dụng web trên các máy ảo trong Azure. Khả năng này còn được gọi là Cơ sở hạ tầng như một Dịch vụ (IaaS). Tạo máy chủ Windows Server hoặc Linux mới thông qua cổng thông tin hoặc tải lên hình ảnh máy ảo hiện có. Máy ảo cung cấp cho bạn quyền kiểm soát nhiều nhất đối với hệ điều hành, cấu hình và phần mềm và dịch vụ được cài đặt. Đây là một tùy chọn tốt để nhanh chóng di chuyển các ứng dụng web tại chỗ phức tạp sang đám mây, bởi vì các máy có thể được di chuyển toàn bộ. Với Mạng ảo, bạn cũng có thể kết nối các máy ảo này với các mạng công ty tại chỗ. Cũng như Cloud Services, bạn có quyền truy cập từ xa vào các máy này và khả năng thực hiện thay đổi cấu hình ở cấp quản trị. Tuy nhiên, không giống như các trang web và dịch vụ đám mây, bạn phải quản lý hoàn toàn hình ảnh máy ảo và kiến ​​trúc ứng dụng ở cấp cơ sở hạ tầng. Một ví dụ cơ bản là bạn phải áp dụng các bản vá của riêng mình cho hệ điều hành.

Xem so sánh cập nhật và toàn diện từ liên kết này: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/


4

Trang web Azure, Công nhân web và Máy ảo là ba phương pháp tính toán khác nhau có sẵn trên Windows Azure. Chúng khác nhau về mức độ kiểm soát và trách nhiệm:

  • Trang web Azure có mức độ kiểm soát thấp nhất, nhưng bạn không quan tâm đến việc giữ máy ảo và IIS, vì công cụ Azure làm điều này cho bạn
  • Vai trò Web cung cấp cho bạn nhiều quyền kiểm soát hơn (trình quản lý lưu lượng, máy tính để bàn từ xa), nhưng có thể quản trị nhiều hơn về phía bạn, điều đó có nghĩa là bạn có thể phá vỡ thứ gì đó thông qua máy tính để bàn từ xa chẳng hạn
  • Máy ảo cung cấp cho bạn toàn quyền kiểm soát VM, do đó đòi hỏi nhiều nỗ lực quản trị nhất.

Không có sự lựa chọn tốt nhất, bởi vì nó phụ thuộc vào mức độ kiểm soát bạn cần, những tính năng bạn cần và những gì bạn muốn để lại công cụ Azure để duy trì. Và đó là chủ đề lớn ..

Vui lòng xem bài viết này để biết thêm thông tin để đưa ra lựa chọn sáng suốt hơn:

Nó sôi sục để đánh đổi giữa dễ sử dụng và khả năng.


3

Hai điều nữa tôi tìm thấy là chi phí nhận SSL cho một trang web miền tùy chỉnh và cấu hình Nhiều người thuê.

Đối với trang web, bạn cần trả tiền hàng tháng theo tiêu chuẩn (ví dụ nhỏ là tùy chọn rẻ nhất). Điều này có nghĩa là để có được miền tùy chỉnh https sẽ tốn của bạn ~ 70 / tháng cho ví dụ nhỏ cộng với ~ 41 / tháng cho SSL hỗ trợ tất cả trình duyệt.

Đối với WebRole, bạn có thể nhận phiên bản XS và thêm SSL của riêng bạn miễn phí, có nghĩa là ~ 15 đô la mỗi tháng và bạn có một miền tùy chỉnh với SSL.

Đối với trang web nhiều người thuê, hãy xem CName ký tự động nhiều người thuê Azure


1

Vai trò web là một máy ảo lưu trữ nhiều trang web


2
Không hoàn toàn chính xác. Bạn có thể lưu trữ nhiều trang web trong một vai trò web, nhưng vai trò web vượt xa điều đó, vì chúng là máy chủ Windows Server. Bạn có thể chọn hoàn toàn không chạy bất kỳ trang web nào và chỉ chạy các tác vụ nền, điểm cuối REST, máy chủ cơ sở dữ liệu, v.v. (không có yêu cầu sử dụng IIS và thậm chí bạn có thể vô hiệu hóa nó). Và đừng quên rằng chúng không trạng thái khiến chúng rất dễ mở rộng.
David Makogon

@DavidMakogon Tôi cũng có thể nói rằng, các vai trò web thực sự thực hiện một số tác vụ, nhưng vì nó sử dụng giao thức HTTP, nên nó được gọi là vai trò 'WEB' và vì nó hỗ trợ giao thức này, nó cũng hỗ trợ các trang web, nhưng đó không phải là mục tiêu chính như vậy?
Aditya Bokade

@AdityaBokade Đừng cố đọc thêm về nó: Tên là một di tích từ khi Azure ra mắt lần đầu tiên, trong đó Vai trò Web là cách duy nhất để lưu trữ một ứng dụng đối diện bên ngoài (Vai trò của Worker không có điểm cuối bên ngoài và không có gì khác tồn tại - không phải VM, không phải ứng dụng web). Vai trò Web (và Công nhân) là các máy ảo Windows không trạng thái, với bao bì đặc biệt cho mã và tập lệnh khởi động của bạn. Nó không được xác định bằng cách hỗ trợ http: bạn có thể giao tiếp với các tài nguyên bên ngoài thông qua http (s), tcp, udp hoặc thậm chí không có gì cả. Đó thực sự là tất cả để có nó.
David Makogon

0

Đây là một câu hỏi phổ biến, và tôi muốn đưa ra một đoạn trích từ msdn.

Truy cập vào các dịch vụ như Bộ nhớ đệm, Bus dịch vụ, Lưu trữ, Cơ sở dữ liệu SQL Azure- WebSite: Có WebRole: Có

Hỗ trợ ASP.NET, ASP cổ điển, Node.js, PHP- WebSite: Có WebRole: Có

Nội dung và cấu hình được chia sẻ- WebSite: Có WebRole: Không

Triển khai mã với GIT, FTP- WebSite: Có WebRole: Không

Triển khai gần như ngay lập tức-WebSite: Có WebRole: Không

Tích hợp hỗ trợ MySQL-as-a-service-WebSite: Có WebRole: Có

Nhiều môi trường triển khai (sản xuất và dàn dựng) -WebSite: No WebRole: Yes

Cách ly mạng-WebSite: Không có WebRole: Có

Truy cập máy tính từ xa vào máy chủ-WebSite: Không có WebRole: Có

Khả năng chạy các chương trình với quyền nâng cao - WebSite: Không có WebRole: Có

Khả năng xác định / thực thi các tác vụ khởi động-WebSite: Không có WebRole: Có

Khả năng sử dụng các khung hoặc thư viện không được hỗ trợ - WebSite: Không có WebRole: Có

Hỗ trợ cho Windows Azure Connect / Windows Azure Network-WebSite: Không có WebRole: Có

Để biết thêm chi tiết, hãy truy cập liên kết này: http://bloss.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to -Sử dụng-which.aspx

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.