2014-06-17 21 views
5

Tôi đang viết một ứng dụng sẽ được triển khai cả trên đám mây và trung tâm dữ liệu tại chỗ (cho những khách hàng, về cơ bản,Vai trò của Azure Worker cho giải pháp tại chỗ có sẵn thông qua Windows Azure Pack hoặc App Fabric

Nếu tôi chọn sử dụng MS Azure, tôi có thể sử dụng các loại dự án đám mây mới với vai trò Web và công nhân của họ. tiền đề biến?

tôi có phải viết chủ của riêng tôi (nói như một dịch vụ cửa sổ)? Đây không phải là lý tưởng vì nó đòi hỏi mã bổ sung và triển khai.

Có cách tiếp cận tương thích Azure hay không, nói trong Windows Azure Gói hoặc công cụ Vải ứng dụng (là Ứng dụng Vải vẫn là hiện hành?) Không yêu cầu thiết lập đầy đủ của đám mây riêng?

Trả lời

4

Điều này không tồn tại trong Azure Pack.

Không cần phải thử và có Vai trò công nhân trên tiền đề. Tất cả những gì bạn cần làm là có một Máy ảo mà bạn cài đặt một Dịch vụ Windows.

Thật dễ dàng để tạo Dịch vụ Windows bằng cách sử dụng Topshelf.

Triển khai dịch vụ Windows bằng Topshelf thực sự dễ dàng hơn nhiều so với triển khai cho vai trò công nhân vì bạn chỉ chạy .exe bạn tạo với install và sau đó với đối số start.

Vì lý do này, bạn thực sự cần ít mã hơn vai trò công nhân vì bạn không cần dự án trình bao bọc thứ hai.

+0

Nếu bạn đang cố gắng chạy cùng một mã trong đám mây và tiền đề thì bạn vẫn có thể tạo một ứng dụng bảng điều khiển Dịch vụ Windows và sau đó triển khai nó vào một Vai trò Web (giống như một Vai trò công nhân cho tất cả ý định và mục đích) sử dụng một cái gì đó như [AzureWebFarm.OctopusDeploy] (https://github.com/MRCollective/AzureWebFarm.OctopusDeploy) hoặc bạn có thể triển khai ứng dụng bảng điều khiển của mình dưới dạng công việc web (có thể là có sẵn trong AzurePack , và nếu không thì một TopShelf .exe chạy như bình thường .exe dù sao không có đối số). –

+0

Điều tốt đẹp sau đó là bạn không bao giờ cần phải tham khảo ServiceRuntime hoặc sử dụng RoleEnvironment hoặc những điều cụ thể khác Azure - mã là bất khả tri của nơi nó được triển khai :)) –

0

Trong khi tôi chưa sử dụng Windows Azure gói trước khi nó dường như có khả năng cung cấp chức năng này trong nhà, tuy nhiên các yêu cầu và thủ tục thiết lập là mãnh liệt và nó chắc chắn hướng tới doanh nghiệp.

Tùy chọn tốt hơn là bạn tạo ứng dụng bảng điều khiển kích hoạt các chức năng OnStart() và Run() cho WorkerRole của bạn dựa trên Trình lập lịch tác vụ hệ điều hành.

Không quá nhiều công việc theo ý kiến ​​của tôi và bạn có thể giữ WorkerRoles của mình nhưng chỉ cần thêm ứng dụng bảng điều khiển cho bất kỳ giải pháp tiền đề nào.

+0

Bạn thường sử dụng RoleEnvironment trong phương pháp Khởi động và Chạy để điều này không hoạt động. –

+0

Bạn có thể sử dụng boolean RoleEnvironment.IsAvailable để chuyển đổi giữa những gì bạn làm phụ thuộc vào vị trí của bạn (Ví dụ: Azure hoặc Địa phương) –

+0

Có. Nhưng điều này đòi hỏi phải cài đặt Azure SDK cho một cài đặt onpremise mà bạn thường không muốn. –

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