Serverless Azure A Gentle Introduction to Microsoft Azure

  • Slides: 42
Download presentation
Serverless Azure A Gentle Introduction to Microsoft Azure Logic Apps & Functions H from

Serverless Azure A Gentle Introduction to Microsoft Azure Logic Apps & Functions H from zero to wicked useful in about an hour my ELLO Granite State Share. Point Users Group Thu 07 -Sep-2017 6: 00 -7: 30 PM Bill Wilder, CTO, Finomial Corporation na me is Bill Wi lde r

 8 x recipient cto author founder

8 x recipient cto author founder

Goals: By the end of this talk… Demystify Logic Apps and Functions (aka Function

Goals: By the end of this talk… Demystify Logic Apps and Functions (aka Function Apps, Azure Functions, Functions as a Server (Faa. S)). Realize that Logic Apps and Functions are completely independent of each other, but can be used together. Both are serverless technologies.

Logic Apps

Logic Apps

@Serverless. Azure

@Serverless. Azure

Just hitting this URL (behind the scenes) via HTTP GET to invoke the Logic

Just hitting this URL (behind the scenes) via HTTP GET to invoke the Logic App: https: //prod 11. northcentralus. logic. azure. com: 443/workflows/786 d 9 f 6792 f 643 bd 8 77 cc 2 e 863 ae 4425/triggers/manual/paths/invoke? api-version=2016 -0601&sp=%2 Ftriggers%2 Fmanual%2 Frun&sv=1. 0&sig=b. Sl 6 WTGb. TSJe 2 ph HXPpor. WYFbg. Rp 6 w 6 ZD 0 NH 8 e. BVLnc

@Serverless. Azure

@Serverless. Azure

Triggers + Actions = Logic App

Triggers + Actions = Logic App

Triggers + Actions = Logic App Triggers Some event – web hook, timer, user

Triggers + Actions = Logic App Triggers Some event – web hook, timer, user action, etc. + Actions Your response to trigger – based on trigger & data = Logic App Serverless Software Component

How is this possible? Connectors • A Component Model for the Cloud • The

How is this possible? Connectors • A Component Model for the Cloud • The code behind Triggers & Actions • Front simple microservers or whole systems • Ecosystem is blooming • Gallery of Microsoft-maintained connectors • Community-contributed connectors are available • You can create your own connectors (via Open API (Swagger)) • Well-defined • Logic App Workflow Definition Language

Triggers • Timer • User action • Action from some other system • Queue

Triggers • Timer • User action • Action from some other system • Queue Message, Blob Creation, Webhook/HTTP Call Examples: tweet, email, slack, calendar event, something changed • Business event: User signed up on my website • Code event: New version of file checked into Git. Hub • Azure event: A new VM was provisioned

Actions • Call an API • Trigger more actions • Use data from triggers

Actions • Call an API • Trigger more actions • Use data from triggers for filtering/decisions • Pass along data from triggers in carrying out actions • Can be custom • Huge gallery • New component model for software developers

Demo Time Build the tweeter we just experienced Build other integrations (dangerous ad hoc

Demo Time Build the tweeter we just experienced Build other integrations (dangerous ad hoc demos ) HTTP 202 JSON Schema Workflow Definition Language Use trigger data & conditional processing

JSON Schema example (tweet) { "type": "object", "properties": { "tweet": { "type": "string" }

JSON Schema example (tweet) { "type": "object", "properties": { "tweet": { "type": "string" } } }

Sharepoint + Logic Apps • https: //docs. microsoft. com/en-us/azure/connectorscreate-api-sharepointonline

Sharepoint + Logic Apps • https: //docs. microsoft. com/en-us/azure/connectorscreate-api-sharepointonline

Function Apps

Function Apps

Function Apps are Code with Triggers • Timer • User action • Action from

Function Apps are Code with Triggers • Timer • User action • Action from some other system • Queue Message, Blob Creation, Webhook/HTTP Call • (Look familiar? )

Error Handling • Try it • Retry it • Deal with the failure •

Error Handling • Try it • Retry it • Deal with the failure • Track with logging & telemetry • Monitor with alerts & dashboards • “Scopes” • https: //docs. microsoft. com/en-us/azure/logic-appsexception-handling

Azure Function that returns 500 75% of calls • https: //gist. github. com/codingoutloud/151976063 b

Azure Function that returns 500 75% of calls • https: //gist. github. com/codingoutloud/151976063 b 1 e 9367369 f 1505 f 6 cca 66 e

Sharepoint + Functions • https: //dev. office. com/sharepoint/docs/apis/webhooks/sharepointwebhooks-using-azure-functions

Sharepoint + Functions • https: //dev. office. com/sharepoint/docs/apis/webhooks/sharepointwebhooks-using-azure-functions

Demo Errors/Retries What happens if there’s an error? Command Line Azure Function Monitoring

Demo Errors/Retries What happens if there’s an error? Command Line Azure Function Monitoring

Serverless

Serverless

Serverless Computing is characterized by… • Deployment units are small, loosely-coupled components • More

Serverless Computing is characterized by… • Deployment units are small, loosely-coupled components • More “no server configuration” than Paa. S • Cloud-friendly pay-by-the-drink billing

“Multiple Triggers” • One trigger type can be assigned per Logic App • Many

“Multiple Triggers” • One trigger type can be assigned per Logic App • Many parallel instances of your Logic App can fire to absorb load • Limits? • https: //docs. microsoft. com/en-us/azure/logic-apps-limitsand-config • Why would you want to limit it? • Singleton available

Pricing Logic Apps • Consumption https: //azure. microsoft. com/en-us/pricing/details/logic-apps/ Azure Functions • Consumption or

Pricing Logic Apps • Consumption https: //azure. microsoft. com/en-us/pricing/details/logic-apps/ Azure Functions • Consumption or App Service Plan https: //azure. microsoft. com/en-us/pricing/details/functions/

Flow vs. Logic Apps • https: //portal. office. com/myapps • https: //flow. microsoft. com/

Flow vs. Logic Apps • https: //portal. office. com/myapps • https: //flow. microsoft. com/ • Flow is “civilian” version of Logic Apps: “Grow up to Azure Logic Apps” https: //flow. microsoft. com/en-us/blog/q 2 -2017 update/ • Same connectors: https: //docs. microsoft. com/enus/azure/connectors/apis-list • Same underlying core • Comparison by Microsoft: https: //docs. microsoft. com/en- us/azure-functions/functions-compare-logic-apps-ms-flow-webjobs

Biz. Talk vs. Logic Apps “To simplify the customer experience across our enterprise integration

Biz. Talk vs. Logic Apps “To simplify the customer experience across our enterprise integration services, we have incorporated the Azure Biz. Talk Services capabilities into Logic Apps and Azure App Service Hybrid Connections. ” –Microsoft Announcement on May 31, 2017 • https: //azure. microsoft. com/en-us/updates/azure-biztalk-servicessimplifying-our-azure-offerings/ • https: //docs. microsoft. com/en-us/azure/logic-appsenterprise-integration-overview

Power. Apps vs. Logic Apps • https: //powerapps. microsoft. com/en-us/tutorials/getting-started/

Power. Apps vs. Logic Apps • https: //powerapps. microsoft. com/en-us/tutorials/getting-started/

Zapier vs. Logic Apps

Zapier vs. Logic Apps

IFTTT vs. Logic Apps

IFTTT vs. Logic Apps

Dev & Deploy • Visual Studio (2015+) - https: //docs. microsoft. com/en-us/azure -functions/functions-develop-vs •

Dev & Deploy • Visual Studio (2015+) - https: //docs. microsoft. com/en-us/azure -functions/functions-develop-vs • Azure Portal • ARM Templates • Power. Shell • REST API

Official Twitter Accounts (pretty sure ) @Logic. Apps. IO @Azure. Functions @Azure. Api. Management

Official Twitter Accounts (pretty sure ) @Logic. Apps. IO @Azure. Functions @Azure. Api. Management @Power. Apps @Cosmos. DB

Nu. Get Packages • Conference session (video) on making Nu. Get packages for Azure

Nu. Get Packages • Conference session (video) on making Nu. Get packages for Azure Functions: https: //channel 9. msdn. com/Events/Iglooconf 2017/Azure-Functions-Nu. Get-Superpowers • One answer to reusing code within Azure Functions (and within other systems too). • Another answer is to reuse ’services’ – like Azure Functions

Postman • Just a tool, but a popular/handy one • https: //www. getpostman. com/

Postman • Just a tool, but a popular/handy one • https: //www. getpostman. com/ • Useful for testing HTTP actions, including API calls • Free • Slack channel – https: //postmancommunity. slack. com/ • @postman

Request. Bin • Just a tool, but a popular/handy one • https: //requestb. in/

Request. Bin • Just a tool, but a popular/handy one • https: //requestb. in/ • Useful for inspecting HTTP webhook payloads and workflow steps • Free • @requestbin - https: //twitter. com/requestbin

{JSON: Schema} • https: //jsonschema. net/#/editor • @JSONSchema

{JSON: Schema} • https: //jsonschema. net/#/editor • @JSONSchema

Scheduler • https: //cronwtf. github. io/ • https: //crontab. guru/#0_*/5_*_*_*

Scheduler • https: //cronwtf. github. io/ • https: //crontab. guru/#0_*/5_*_*_*

Duration – per ISO 8601 • https: //en. wikipedia. org/wiki/ISO_8601#Durations • PT 5 M

Duration – per ISO 8601 • https: //en. wikipedia. org/wiki/ISO_8601#Durations • PT 5 M • PT 2 D • PT 36 H vs. P 1 DT 12 H

Logic Apps Workflow Definition Language • https: //docs. microsoft. com/en-us/azure/logic-appsworkflow-definition-language

Logic Apps Workflow Definition Language • https: //docs. microsoft. com/en-us/azure/logic-appsworkflow-definition-language

Only Scratching the Surface! Potential follow-up topics: Azure API Apps Dev. Ops Experience Monitoring

Only Scratching the Surface! Potential follow-up topics: Azure API Apps Dev. Ops Experience Monitoring (and. so. many. more. )

Questions? Find this slide deck here Bill Wilder @codingoutloud@gmail. com blog. codingoutloud. com linkedin.

Questions? Find this slide deck here Bill Wilder @codingoutloud@gmail. com blog. codingoutloud. com linkedin. com/in/billwilder See you at Boston Azure bostonazure. org