Có một vài lựa chọn ở đây trong Dịch vụ ứng dụng. Tôi sẽ không chạm vào Ứng dụng Logic hoặc Tự động hóa Azure, cũng chạm vào không gian này.
Azure WebJobs
Bài viết này thực sự là lời giải thích tốt nhất, nhưng tôi sẽ tóm tắt ở đây.
Theo yêu cầu WebJobs aka. WebJobs theo lịch trình aka. WebJobs kích hoạt
WebJob kích hoạt là WebJob được chạy một lần khi URL được gọi hoặc khi thuộc tính lịch biểu có mặt trong calendar.job . WebJob được lên lịch chỉ là WebJob đã có Công việc Lập lịch biểu Azure được tạo để gọi URL của chúng tôi theo lịch, nhưng chúng tôi cũng hỗ trợ thuộc tính lịch biểu, như đã đề cập trước đây.
Tóm lược:
+
Thực thi / Script theo yêu cầu
+
Thực hiện theo lịch trình
-
Phải kích hoạt thông qua điểm cuối .scm
-
Thu nhỏ là thủ công
-
VM luôn được yêu cầu
WebJobs liên tục (không phải SDK)
Những công việc này chạy mãi mãi và chúng ta sẽ đánh thức chúng khi chúng gặp sự cố. Bạn cần bật Luôn bật để những thứ này hoạt động, có nghĩa là chạy chúng trong lớp Cơ bản trở lên.
Tóm lược:
+
Thực thi / Script luôn chạy
-
Yêu cầu luôn bật - Cấp cơ bản trở lên
-
VM luôn được yêu cầu
WebJobs liên tục với SDK WebJobs
Đây không phải là bất cứ điều gì từ quan điểm "WebJobs tính năng". Về cơ bản, chúng tôi có SDK ngọt ngào này, chúng tôi đã viết nhắm mục tiêu WebJobs cho phép bạn thực thi mã dựa trên các kích hoạt đơn giản. Tôi sẽ nói về điều này nhiều hơn sau này.
Tóm lược:
+
Thực thi / Script luôn chạy
+
Ghi nhật ký / bảng điều khiển phong phú hơn
+
Kích hoạt được hỗ trợ cùng với các tác vụ chạy dài
-
Yêu cầu luôn bật - Cấp cơ bản trở lên
-
Thu nhỏ là thủ công để thiết lập
-
Bắt đầu có thể là một chút mệt mỏi
-
VM luôn được yêu cầu
Azure WebJobs SDK
Azure WebJobs SDK là một SDK hoàn toàn tách biệt với WebJobs tính năng nền tảng. Nó được thiết kế để chạy trong WebJob, nhưng thực sự có thể chạy ở bất cứ đâu. Chúng tôi có những khách hàng chạy chúng trên vai trò công nhân và thậm chí trên các đám mây đầu hoặc khác, mặc dù hỗ trợ chỉ là nỗ lực tốt nhất.
SDK chỉ đơn giản là giúp bạn dễ dàng chạy một số mã để phản ứng với một số sự kiện và thực hiện ràng buộc với các dịch vụ / v.v. dễ dàng. Điều này thực sự được đề cập tốt nhất trong một số tài liệu , nhưng cốt lõi của nó là bản chất "sự kiện" + "mã". Chúng tôi cũng đã thực hiện một số công việc mở rộng tuyệt vời, nhưng đó là mục đích thứ yếu.
Tóm lược:
- Hầu hết trong số này được đề cập ở trên
+
Bạn có thể mở rộng và chạy bất cứ thứ gì bạn muốn. Kiểm soát hoàn toàn.
-
Công cụ HTTP có một chút rắc rối, nhưng nó hoạt động
Hàm Azure
Azure Chức năng là lấy mục đích cốt lõi của SDK WebJobs, lưu trữ nó như một dịch vụ và giúp bạn dễ dàng bắt đầu với các ngôn ngữ khác. Chúng tôi cũng giới thiệu khái niệm "Serverless" ở đây vì nó rất có ý nghĩa để làm điều đó - chúng tôi biết SDK của chúng tôi có quy mô như thế nào, vì vậy chúng tôi có thể làm những điều thông minh cho bạn.
Azure Chức năng là một kinh nghiệm được quản lý rất nhiều. Chúng tôi không hỗ trợ mang máy chủ của riêng bạn. Hiện tại, chúng tôi không hỗ trợ các tiện ích mở rộng tùy chỉnh nhưng đó là thứ chúng tôi đang điều tra. Chúng tôi quan tâm đến những gì bạn có thể và không thể làm, nhưng đối với những thứ chúng tôi kích hoạt, chúng rất trơn tru, dễ sử dụng và quản lý.
Mặc dù vậy, hầu hết các "khung" chúng tôi đã thực hiện để cải thiện Chức năng đều đi qua SDK WebJobs. Chẳng hạn, chúng tôi sẽ tải lên NuGet mới cho WebJobs, điều này thực sự làm tăng đáng kể tốc độ ghi nhật ký, điều này mang lại lợi ích rất lớn cho người dùng SDK WebJobs. Trong các chức năng vận chuyển như "WebJobs SDK như một dịch vụ" chúng tôi thực sự đã cải thiện rất nhiều vấn đề về kinh nghiệm.
Tôi có lẽ thiên vị vì Chức năng là mới nhất và lớn nhất của chúng tôi, nhưng hãy thoải mái chụp nhiều khuyết điểm hơn cho Chức năng theo cách của tôi.
Có lẽ cuối cùng tôi sẽ xuất bản một blog xây dựng thêm một chút, nhưng tôi đã cố gắng giữ cho nó ngắn gọn nhất có thể cho diễn đàn này.