#gib2017#gib2017 2017 - Brisbane Dan Toomey | Mexia @daniel2me Logic Apps & Azure Functions
#gib2017 Who am I? • Principal Consultant, Mexia • Microsoft Azure MVP • MCSA, MCT, MCPD, MCTS BizTalk & Azure • Pluralsight Author • www.mindovermessaging.com • @daniel2me
#gib2017 Evolution of the Cloud (Compute) Pre-Cloud B.Y.O. Servers IaaS PaaS “Serverless”
#gib2017 What Is “Serverless”? Servers are fully-abstracted Scaling is event-driven not resource-driven Pay only for what you use Availability Speed
#gib2017 Benefits of “Serverless” Do less Manage less Ease of scale Pay per execution
#gib2017 “Serverlessness” of Logic Apps and Functions No need to worry about VMs/PaaS VMs No need to worry about resources but events DevOps focus on code, deployment and managing the app, but not the platform. Pay per action or execution time. Born, live and die on the cloud (develop, test and ship)
#gib2017 Logic Apps and Functions in Integration Implement and orchestrate visually designed integration workflows Orchestrate distributed microservices 100+ Connectors (Protocols, SaaS apps and services, and hybrid) B2B Integrations with AS2 and EDI Languages supported: C#, F#, Node.js, Php, PowerShell, Python, bash, batch. Implement code-based microservices Different Trigger, Input and Output bindings Synchronous and Asynchronous execution
#gib2017 Logic Apps Connectors (100+) SaaS Apps and Services Azure and Power Apps Protocols Hybrid B2B, EDI, AS2 and XML
#gib2017 For everything else Azure Functions (Serverless) API Apps (PaaS)
#gib2017 Creating a Function
#gib2017 Creating a Function
#gib2017 Developing a Function
#gib2017 Integrating a Function
#gib2017 Azure Functions Triggers, Inputs and Outputs Type / Service Trigger Input Output Schedule  Http Call    Azure Blob Storage    Azure Event Hubs    Azure Storage Queues    Azure Service Bus Messaging    Azure Storage Tables   Azure Mobile Apps Tables   Azure DocumentDB   Azure Notifications Hubs  Twilio SMS Message  SendGrid emails (not fully documented)  Cloud File Storage SaaS, such as Box, DropBox, OneDrive, FTP (not fully documented) 
#gib2017 Testing a Function
#gib2017 Managing a Function
#gib2017 Timer-based processing Azure service event processing Scenarios:
#gib2017 Serverless web application architectures SaaS event processing Scenarios:
#gib2017 Real-time stream processing Real-time bot messaging Scenarios:
#gib2017 Microsoft Azure iPaaS Logic Apps API Management FunctionsService Bus Connectors HTTPFTP HTTP Swagger RSSHTTP Response HTTP Request SFTP SMTP Webhook appFigures Asana Basecamp 3 Bitly Blogger Campfire Dropbox Box Dynamics 365 Dynamics 365 for Financials Dynamics 365 for Operations Easy Redmine Facebook GitHub Google Calendar GoToMeetingGoogle TasksGoogle Sheets HideKey HipChat Insightly Instagram Instapaper Bing Search Buffer Chatter DocuSign FreshDesk Google Drive Harvest HelloSign JIRA Azure and Power Apps Services SaaS Apps and Services Protocols BizTalkServer DB2 Informix SharePoint SQL Server File System Websphere MQ SAP Connector Hybrid ConnectivityB2B, EDI, AS2 and XML API/Web App Azure DocumentDB AzureML Azure Functions AzureBlob Storage Nested Logic App Service BusPower BI Azure Queues Resource Manager Congnitive Svc Face API CognitiveSvc Text Analytics Common Data Service Event HubsCognitiveSvc LUIS SQL Azure API Apps
#gib2017 Microsoft Ignite Questions?
#gib2017 Lab #4 Logic Apps + Azure Functions + Azure Storage
#gib2017 Lab #4 Prerequisites Azure Subscription Azure Storage Explorer (http://storageexplorer.com) Postman (https://www.getpostman.com/) Outlook.com email account TableCustomerDiscount.csv (in your setup files or use link in lab doco)
#gib2017 Lab #4 Steps HTTP Request OutlookOutlook OutlookOutlook Functional Call Approval Storage table Storage blobStorage blob Query Logic App Function Store

Logic Apps and Azure Functions

Editor's Notes

  • #3 Interested in all things integration – which of course includes MS Flow
  • #4 BYO – Data centre, or “server room”; HA? IaaS – Rent a server PaaS – Rent a Platform (worry about the app, not the server) “Serverless” – just gimme the app!
  • #18 Azure Functions supports an event based on a timer using CRON job syntax. For example, you could execute code that runs every 15 minutes and cleans up a database table based on custom business logic. Azure Functions supports triggering an event based on an activity in an Azure service. For example, you could execute serverless code that reads newly discovered test log files in an Azure Blob Storage container and transforms this into a row in an Azure SQL Database table.
  • #19 Azure Functions can power a single page app. The app calls functions using the WebHook URL, saving user data and deciding what data to display. Or, you can do simple customizations, such as changing ad targeting by calling a function and passing it user profile information. Azure Functions supports triggers based on activity in a SaaS service. For example, when a file is saved in OneDrive, this triggers a function that uses the Microsoft Graph API to modify the spreadsheet, creating additional charts and calculated data.
  • #20 For example, IoT devices send messages to Azure Stream Analytics, which then calls an Azure Function to transform the message. This function processes the data and creates a new record in an Azure SQL Database. Azure Functions can be used to customize the behavior of a bot using a WebHook. For example, you can create an Azure Function that processes a message using Cortana Analytics and call this function using Bot Framework.
  • #21 http://www.mexia.com.au/blog/2017/02/10/azure-integration-platform-as-a-service-ipaas/
  • #25 In this fourth lab, we will be receiving the orders from the business customer’s topic in a new Logic App, and check the total amount of the invoice. In case the customer placed a large order (over $50000), we will create a task for one of our sales employees to contact the customer to verify the order. In case the order is correct, the invoice will be emailed to the customer. The Logic App will then call a function, in which we will check a storage table to determine how much discount the customer will be given (based on the total order amount), and finally will place a file on blob storage, which will be used by an employee to refund the customer.