Las ventajas que te ofrece Microsoft Azure y el mundo.NET

Introducción a Azure WebJobs | ¿Qué son y en qué nos pueden ayudar?

webjobs-poster

Azure WebJobs es, quizás, uno de los servicios de Microsoft Azure más desconocidos a pesar de que ya tiene más de un año de vida. Actualmente está inmerso dentro de Azure Web App Service que es la nueva denominación que ha dado Microsoft a un conjunto de servicios entre los que se encuentra Azure Web Sites y Azure Mobile Services entre otros. En este artículo que da comienzo a una pequeña serie, os haré una introducción a este servicio que a buen seguro os cambiarála percepción sobre la potencia de Azure Web sites.

¿Qué es Azure WebJobs?

Como ya he introducido, Azure WebJobs es un servicio dentro de Microsoft Azure que se encuentra dentro del conjunto Azure Web App Service y que nos permitirá ejecutar prácticamente cualquier operación que deseemos dentro del contexto de un Azure Web Site como como tareas programadas o contínuas. Desde un punto de vista más mundano y antiguo, podríamos asemejarlo a un servicio windows de los de antaño o un proceso «cron». Por ejemplo, podríamos programar el envío de correos programados como newletters o procesar información almacenada desde nuestro sitio web como caducar contenidos con fecha de caducidad.

¿Qué puedo ejecutar como WebJob?

Actualmente, se pueden establecer como WebJobs los archivos de los siguientes tipos:

  • .cmd, .bat, .exe (con windows cmd)
  • .ps1 (con powershell)
  • .sh (con bash)
  • .php (con php)
  • .py (con python)
  • .js (con node)

¿Qué tipos de WebJob se pueden crear?

Se pueden crear dos tipos de Web Job, de ejecución contínua o programados. Estos últimos a su vez pueden ser de ejecución una única vez (triggers), que se ejecuten periódicamente hasta una fecha de caducidad o que se ejecuten periódicamente de forma indefinida, por lo que podemos plantearnos por ejemplo un WebJob que esté «escuchando» una cola de Microsoft Azure y que cuando entre una información realicen su procesamiento y la transformen en lo que necesitemos.

¿Qué precio tienen?

Al ejecutarse dentro del context de un Web Site, los servicios WebJobs no tienen un precio propio sino que se aplica al propio del Web Site en base al tiempo de procesamiento, el ancho de banda que consuma, etc. con lo que el aumento de consume será, por lo general, mínimo.

¿Cómo puedo crear un WebJob?

Hay dos medios para crear un WebJob, desde Visual Studio y desde el portal antiguo de Microsoft Azure.

Crear un WebJob desde Visual Studio

Para crear un WebJob desde Visual Studio tenemos dos vías muy simples:

  • Ir a nuestro Web Site e indicarle que se le agrega un WebJob existente, pudiendo agregar un proyecto de la solución, o un agregar nuevo WebJob que nos creará un proyecto de consola para ello.

vs-create-webjob

  • Ir al proyecto que queremos ejecutar como WebJob e indicarle que se publicará como WebJob

vs-publish-as-webjob

 

En cualquier caso, ambas opciones nos permitirán administrar cómo queremos ejecutar el WebJob con una ventana muy completa donde podemos establecer todos los parámetros, tipo de WebJob, periodicidad, etc.

vs-webjob-schedule

 

Crear un WebJob desde el portal antiguo de Microsoft Azure

La otra vía para crear un WebJob es recurrir al portal antiguo de Microsoft Azure, seleccionar el WebSite al que queremos asignárselo y, en la pantalla «Trabajos Web» o «WebJobs», dependiendo del idioma, podremos agregar un fichero de la extensión que indiqué en un apartado superior.

portal-webjobs

 

portal-create-webjob

Resumen

Azure WebJobs es una gran solución que nos permite extender nuestras Web Apps hasta el infinito permitiéndonos realizar prácticamente cualquier tarea que imaginemos y que pueda caber en el contexto de un servicio que se ejecuta en background. Es por ello que Microsoft ha puesto en nuestras manos nubes un servicio para crear aplicaciones web como no la hay en el mercado, así que no esperéis más y probadlo cuanto antes.

mm

Sobre Santiago Porras Rodríguez

Innovation Team Leader at ENCAMINA | MVP in Developer Technologies. Apasionado por las nuevas tecnologías. Colaboro con la comunidad de desarrolladores escribiendo artículos en mi blog personal y ocasionalmente en CompartiMOSS.com. Además, soy uno de los coordinadores de TenerifeDev, grupo de usuarios de .NET de Tenerife y de otros grupos como Comunidad Office 365. Puedes encontrarme en la red microparticipando en Twitter con el usuario @saintwukong
Esta entrada ha sido publicada en Azure App Services, Azure WebJobs, Microsoft Azure, Sin categoría y etiquetada como , , , , . Enlace permanente .
Suscríbete a Piensa en Sofware desarrolla en Colores

Suscríbete a Piensa en Sofware desarrolla en Colores

Recibe todas las actualizaciones semanalmente de nuestro blog

You have Successfully Subscribed!

ENCAMINA, piensa en colores