Existem algumas opções aqui no App Service. Não tocarei nos Aplicativos Lógicos ou na Automação do Azure, que também tocam neste espaço.
WebJobs do Azure
Este artigo é honestamente a melhor explicação, mas vou resumir aqui.
WebJobs sob demanda, também conhecidos como. WebJobs agendados aka. WebJobs acionados
WebJobs acionados são WebJobs que são executados uma vez quando uma URL é chamada ou quando a propriedade schedule está presente em schedule.job . Os WebJobs agendados são apenas WebJobs que tiveram um Trabalho do Agendador do Azure criado para chamar nossa URL em um agendamento, mas também oferecemos suporte à propriedade agendar, como mencionado anteriormente.
Resumo:
+
Executável / Script sob demanda
+
Execuções agendadas
-
É necessário acionar via ponto final .scm
-
A escala é manual
-
VM é sempre necessária
WebJobs contínuos (não SDK)
Esses trabalhos funcionam para sempre e nós os acordaremos quando eles falharem. Você precisa ativar o Always On para que funcionem, o que significa executá-los na camada Básica e acima.
Resumo:
+
Executável / Script sempre em execução
-
Requer sempre ativado - nível básico e acima
-
VM é sempre necessária
WebJobs contínuos com o SDK WebJobs
Estes não são nada do ponto de vista "WebJobs the feature". Basicamente, temos esse doce SDK que escrevemos visando WebJobs, que permite executar código com base em gatilhos simples. Eu vou falar sobre isso mais tarde.
Resumo:
+
Executável / Script sempre em execução
+
Registro / painel mais rico
+
Gatilhos suportados juntamente com tarefas de longa execução
-
Requer sempre ativado - nível básico e acima
-
A escala é manual para configurar
-
Começar pode ser um pouco cansativo
-
VM é sempre necessária
SDK do Azure WebJobs
O Azure WebJobs SDK é um SDK completamente separado dos WebJobs, o recurso da plataforma. Ele foi projetado para ser executado em um WebJob, mas pode realmente ser executado em qualquer lugar. Temos clientes que os executam em funções de trabalho e até em prem ou em outras nuvens, embora o suporte seja apenas o melhor esforço.
O SDK visa facilitar a execução de algum código em reação a algum evento e tornar a ligação a services / etc. fácil. Honestamente, isso é melhor abordado em alguns documentos , mas o principal é a natureza "evento" + "código". Também fizemos alguns trabalhos interessantes sobre extensão, mas isso é secundário ao objetivo principal.
Resumo:
- A maioria destes são mencionados acima
+
Você pode estender e executar o que quiser. Controlo total.
-
O material HTTP é um pouco instável, mas funciona
Funções do Azure
O Azure Functions tem como principal objetivo principal do SDK do WebJobs, hospedá-lo como um serviço e facilitar a introdução a outros idiomas. Também apresentamos o conceito "Sem servidor" aqui porque fazia muito sentido fazê-lo - sabemos como o SDK é dimensionado, para que possamos fazer coisas inteligentes para você.
O Azure Functions é uma experiência muito gerenciada. Não apoiamos trazer seu próprio host. Atualmente, não oferecemos suporte a extensões personalizadas, mas estamos investigando isso. Somos opinativos sobre o que você pode e o que não pode fazer, mas, pelas coisas que habilitamos, elas são lisas e fáceis de usar e gerenciar.
A maioria das coisas da "estrutura" que fizemos para melhorar as Funções passam pelo SDK do WebJobs, no entanto. Por exemplo, enviaremos um novo NuGet for WebJobs que realmente aumenta drasticamente a velocidade do registro, o que traz enormes benefícios de desempenho para os usuários do WebJobs SDK. Ao enviar as Funções como "WebJobs SDK como Serviço", aprimoramos muito muitos problemas de experiência.
Provavelmente sou tendencioso, já que o Functions é o nosso melhor e mais recente, mas sinta-se à vontade para tirar mais contras do Functions do meu jeito.
Provavelmente vou publicar um blog que elabora um pouco mais, mas tentei manter o mais sucinto possível para este fórum.