2013-07-04 38 views
9

Chúng tôi có 3 ứng dụng web công khai mà chúng tôi đang di chuyển sang Azure. Tất cả các trang web sử dụng cổng 80.Nhiều chiến lược trang web trên (các) vai trò web và (các) dịch vụ đám mây

OPTIONS

Theo như tôi hiểu, có ba tùy chọn khác nhau khi sử dụng vai trò Web:

1. Cả 3 web được lưu trữ trong ONE vai trò web trong một dịch vụ đám mây đơn lẻ:

  • Truy cập HTTP có thể được cấu hình bởi máy chủHeader trong ServiceDefinition.csdef
  • này là rẻ nhất
  • Đòi hỏi rằng tất cả các dự án cần phải được công bố cùng lúc
  • Các trang web không thể được thu nhỏ riêng biệt, chỉ như là một dự án
  • 1 Dịch vụ đám mây toàn trong Visual Studio

2. Mỗi trang web được lưu trữ trên một vai trò web riêng biệt trong một dịch vụ đám mây đơn:

  • HTTP ac thuế có thể được cấu hình bởi hostHeader trong ServiceDefinition.csdef
  • Mỗi trang web sẽ có ví dụ của riêng họ
  • Đòi hỏi rằng tất cả các dự án cần phải được công bố cùng lúc
  • Các trang web có thể được đẩy riêng
  • dự án
  • 1 Dịch vụ Cloud visual Studio

3. Mỗi trang web được lưu trữ trên một vai trò web trong dịch vụ đám mây RIÊNG:

  • Mỗi trang web sẽ có DNS cloudapp.net của riêng mình và chỉ IP
  • Mỗi trang web sẽ có ví dụ của riêng họ
  • Sites có thể được công bố riêng
  • Các trang web có thể được đẩy riêng
  • Nhiều dự án Cloud Service trong Visual Studio

Có điều gì khác quan trọng mà tôi bị thiếu không?

CÓ THỂ SOLULTION

Một sự kết hợp của phương án 1 và 2.

Hosting mọi thứ phục vụ một đám mây: xuất bản tất cả chúng lại với nhau là tốt kể từ khi tất cả họ đều tham chiếu đến một dự án thư viện chung mà sẽ cần được cập nhật nhất quán trên tất cả các dự án.

Lưu trữ hai trang web trong một vai trò web: Chúng có thể được thu nhỏ cùng nhau.

Lưu trữ trang web thứ ba trong vai trò web riêng của nó Sẽ cần tỷ lệ riêng của nó vì các yêu cầu cao điểm lớn.

ServiceDefinition.csdef:

<ServiceDefinition name="WebTestCloudService.Test" xmlns="..." schemaVersion="2012-10.1.8"> 
    <WebRole name="AzureWebTest1" vmsize="Small"> 
    <Sites> 
     <Site name="AzureWebTest1"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test1.mydomain.com" /> 
     </Bindings> 
     </Site> 
    </Sites> 
    <Endpoints> 
     <InputEndpoint name="Endpoint1" protocol="http" port="80" /> 
    </Endpoints> 
    </WebRole> 
    <WebRole name="AzureWebTest2" vmsize="Small"> 
    <Sites> 
     <Site name="AzureWebTest2"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test2.mydomain.com" /> 
     </Bindings> 
     </Site> 
     <Site name="AzureWebTest3" physicalDirectory="..AzureWebTest4"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test3.mydomain.com" /> 
     </Bindings> 
     </Site> 
    </Sites> 
    <Endpoints> 
     <InputEndpoint name="Endpoint1" protocol="http" port="80" /> 
    </Endpoints> 
    </WebRole> 
</ServiceDefinition> 

Vui lòng xác nhận rằng tôi đi đúng hướng? Mội thông tin đầu vào đều sẽ được xem xét kĩ.

+0

Xin chào, tôi đang cố gắng thiết lập tùy chọn 1 với bộ cân bằng tải azure. Bạn có phải làm bất cứ điều gì đặc biệt để có được điều này để xây dựng và đóng gói một cách chính xác để được triển khai đến Azure? – TWilly

Trả lời

4

Có vẻ như bạn đang đi đúng hướng. Một vài điểm làm rõ:

  • Hãy nhớ rằng khi xác định trang web chạy trong các vai trò web riêng biệt trong cùng một triển khai, bạn sẽ cần số cổng riêng cho mỗi vai trò web. Nếu bạn muốn tất cả các trang web để được vào cổng 80, bạn sẽ cần phải lựa chọn # 1 hoặC# 3
  • Trong triển khai duy nhất, trong khi bạn cần phải xuất bản tất cả các mã vai trò cùng một lúc, bạn có thể chọn để cập nhật một vai trò cụ thể thay vì tất cả các vai trò.
  • Bạn cũng có thể xem các kỹ thuật thay thế để triển khai mã web độc lập với triển khai, chẳng hạn như lưu trữ các trang web của bạn thành các đốm màu, sau đó tải xuống/giải nén/cài đặt (các) trang web nếu cần, không cần triển khai lại.
  • Bạn cũng có thể giữ tất cả nội dung tĩnh của mình trong bộ nhớ blob và cập nhật các đối tượng này bất kỳ lúc nào bằng không triển khai lại.
+1

tôi có thể có cài đặt đám mây mutliple cho nhiều trang web trên webrole duy nhất không? – Rusty

+0

Về điểm 1 trong câu trả lời của bạn, tôi không thể liên hệ với nhau tại sao chúng tôi không được phép cung cấp số cổng giống nhau. Trong kịch bản của tôi, tôi có 3 vai trò web khác nhau bên trong cùng một dịch vụ đám mây. Các trang web của tôi nằm trong các vai trò web riêng biệt, sẽ được triển khai cho các máy riêng biệt và do đó tôi nên được phép sử dụng cùng một số cổng cho tất cả chúng. –

Các vấn đề liên quan