Slide 1

Slide 1 text

Inside Azure WebJobs STEEF-JAN WIGGERS

Slide 2

Slide 2 text

Steef-Jan Wiggers Principal Consultant • Microsoft Azure MVP • Published Author • (Inter)national Speaker • TechNet Wiki Author • Blogger • Forums • Runner • 12th Man DutchWorkz B.V.

Slide 3

Slide 3 text

Agenda

Slide 4

Slide 4 text

What are WebJobs?

Slide 5

Slide 5 text

WebJob – Console App

Slide 6

Slide 6 text

Many Options for Deploying

Slide 7

Slide 7 text

Publish WebJobs

Slide 8

Slide 8 text

Connection

Slide 9

Slide 9 text

Settings

Slide 10

Slide 10 text

Deploy

Slide 11

Slide 11 text

Kudu • Engine behind git deployments and WebJobs • Can be run outside of Azure • Provides dashboard functionality for a website Project Site https://github.com/projectkudu/kudu

Slide 12

Slide 12 text

How are they stored and started?

Slide 13

Slide 13 text

Paths & Files File/Path disable.job Existence of file stops the job. Deleting it starts the job. settings.job Allows you to indicate: is_singleton to scale with website. { “is_singleton”: true } or { “is_singleton”: false } site\wwwroot\App_Data\jobs\continuous Path for continuous web jobs site\wwwroot\App_Data\jobs\triggered Path for on demand and scheduled web jobs data\jobs Data directories for jobs job_log.txt Text file of web job log status_{hash} Status file WebJobsSDK.marker Singleton lock file

Slide 14

Slide 14 text

Kudu

Slide 15

Slide 15 text

Function Triggers

Slide 16

Slide 16 text

Triggers and Bindings https://github.com/Azure/azure-webjobs-sdk

Slide 17

Slide 17 text

Real world scenario - 1 Self-Service Portal API Management Outbound Inbound WebAPI WebAPI VIP Web Job Azure cache (REDIS) To Redis Storage (Azure) Web Job Dashboard Administrator/ Developer Portal Datastore Nuon (Windows) Service (Windows) Service Inbound Web Job Azure cache (REDIS)

Slide 18

Slide 18 text

Real world scenario - 2 .VEE files EDI format MPR WebJob (Parsing) EDI to JSON Storage blob Push Storage blob

Slide 19

Slide 19 text

Real world scenario - 3 WebJobs LMS365 API Logic Apps Dynamics CRM Online

Slide 20

Slide 20 text

WebJobs in action!

Slide 21

Slide 21 text

WebJob Extensibility https://github.com/Azure/azure-webjobs-sdk-extensions

Slide 22

Slide 22 text

Alternatives

Slide 23

Slide 23 text

Logic App

Slide 24

Slide 24 text

Competition - AWS

Slide 25

Slide 25 text

Wrap up

Slide 26

Slide 26 text

Resources http://bit.ly/1KdUkIH https://github.com/Azure/azure-webjobs-sdk-samples

Slide 27

Slide 27 text

Contact SteefJan@msn.com