Serverless Azure A Gentle Introduction to Microsoft Azure










































- Slides: 42
 
	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
 
	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
 
	@Serverless. Azure
 
	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
 
	Triggers + Actions = Logic App
 
	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 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 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 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 demos ) HTTP 202 JSON Schema Workflow Definition Language Use trigger data & conditional processing
 
	JSON Schema example (tweet) { "type": "object", "properties": { "tweet": { "type": "string" } } }
 
	Sharepoint + Logic Apps • https: //docs. microsoft. com/en-us/azure/connectorscreate-api-sharepointonline
 
	Function Apps
 
	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 • 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 1 e 9367369 f 1505 f 6 cca 66 e
 
	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
 
	Serverless
 
	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 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 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 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 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/
 
	Zapier vs. Logic Apps
 
	IFTTT vs. Logic Apps
 
	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 @Power. Apps @Cosmos. DB
 
	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/ • 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/ • Useful for inspecting HTTP webhook payloads and workflow steps • Free • @requestbin - https: //twitter. com/requestbin
 
	{JSON: Schema} • https: //jsonschema. net/#/editor • @JSONSchema
 
	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 • 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
 
	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. com/in/billwilder See you at Boston Azure bostonazure. org
 
	
	