Successfully reported this slideshow.
Your SlideShare is downloading. ×

Serverless Computing in Azure

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 70 Ad
Advertisement

More Related Content

Slideshows for you (20)

Similar to Serverless Computing in Azure (20)

Advertisement
Advertisement

Serverless Computing in Azure

  1. 1. #gib2018 2018 - Brisbane GLOBAL INTEGRATION BOOTCAMP Dan Toomey | Mexia @daniel2me Serverless Computing in Azure
  2. 2. Dan Toomey • Principal Consultant, Mexia • Microsoft Azure MVP • MCSE, MCT, MCPD, MCTS BizTalk & Azure • Pluralsight Author • www.mindovermessaging.com • @daniel2me Who Am I?
  3. 3. Jim Harrer Principal Group Program Manager, Microsoft Limitless Possibilities with Azure Integration Services Acknowledgements
  4. 4. Jeff Hollan / Kevin Lam Program Manager / Principal Program Manager- Microsoft Azure Logic Apps – build cloud-scale integrations faster Acknowledgements
  5. 5. Acknowledgements Eduardo Laureano Principal Program Manager Lead at Azure Functions / App Service, Microsoft Azure Functions – Serverless compute in the cloud
  6. 6. Better Together.
  7. 7. GLOBAL INTEGRATION BOOTCAMP
  8. 8. Evolution of the Cloud (Compute) Pre-Cloud B.Y.O. Servers IaaS PaaS “Serverless”
  9. 9. What Is “Serverless”? Servers are fully-abstracted Scaling is event-driven not resource-driven Pay only for what you use Availability Speed
  10. 10. The Value of Serverless Cloud Computing
  11. 11. Serverless application platform components
  12. 12. GLOBAL INTEGRATION BOOTCAMP
  13. 13. Logic Apps is Powerful Integration
  14. 14. Logic Apps is Serverless Technology
  15. 15. SaaS • 10to8 • Act! • Adobe Creative Cloud • Adobe Sign • appFigures • Amazon Redshift • Asana • AWeber • Azure Active Directory • Azure API Management • Azure App Services • Azure Application Insights • Azure Automation • Azure Cognitive Services • Content Moderator • Custom Vision • Face API • LUIS • QnA Maker • Text Analytics • Video Indexer • Vision API • Azure Data Lake Store • Azure Document DB • Azure Event Grid • Azure Event Grid Publish • Azure Event Hubs • Azure Files • Azure Functions • Azure Log Analytics • Azure Log Analytics Data Collection • Azure Machine Learning • Azure Resource Manager • Azure Service Bus • Azure SQL • Azure SQL Data Warehouse • Azure Storage Blob • Azure Storage Queues • Azure Storage Tables • Basecamp2&3 • Benchmark Email • Bing Maps • Bing Search • BitBucket • Bitly • Bizzy • Blogger • Box • Buffer • Calendly • Campfire • CapsuleCRM • Chatter • Cognito Forms • Common Data Service • Disqus • DocFusion365 • DocParser • DocuSign • Dropbox • Dynamics CRM Online • Dynamics CRM Service Bus • Dynamics for Financials • Dynamics for Operations • Dynamics NAV • Easy Redmine • Elastic Forms • Enadoc • Eventbrite • Facebook • FlowForma • FreshBooks • Freshdesk • FreshService • GitHub • Gmail • Google Calendar • Google Contacts • Google Drive • Google Sheets • Google Tasks • GoTo Meeting • GoTo Training • GoTo Webinar • Harvest • HelloSign • HipChat • Impala • Infusionsoft • Inoreader • Insightly • Instagram • Instapaper • Intercom • JIRA • JotForm • LeanKit • LinkedIn • LiveChat • MailChimp • Mandrill • Microsoft Forms • Microsoft Kaizala • Microsoft StaffHub • Microsoft Teams • Microsoft Translator • Medium • MSN Weather • Muhimbi PDF • Nexmo • Office 365 Groups • Office 365 Outlook • Office 365 Users • Office 365 Video • OneDrive • OneDrive for Business • OneNote • Outlook.com • Outlook Customer Manager • Outlook Tasks • Paylocity • PagerDuty • Parserr • Pinterest • Pipedrive • Pitney Bowes Data Validation • Pivotal Tracker • Planner • Plivo • Power BI • Project Online • Redmine • SafetyCulture • Salesforce • Salesforce Chatter • SendGrid • ServiceNow • SharePoint Online • Skype for Business • Slack • SmartSheet • SparkPost • StaffHub • Stripe • Survey Monkey • Teamwork • Teradata • Todoist • Toodledo • Trello • Twilio • Twitter • Typeform • UserVoice • Vimeo • VS Team Services • Webmerge • Wordpress • Workday HCM • Wunderlist • Yammer • YouTube • Zendesk
  16. 16. SaaS • 10to8 • Act! • Adobe Creative Cloud • Adobe Sign • appFigures • Amazon Redshift • Asana • AWeber • Azure Active Directory • Azure API Management • Azure App Services • Azure Application Insights • Azure Automation • Azure Cognitive Services • Content Moderator • Custom Vision • Face API • LUIS • QnA Maker • Text Analytics • Video Indexer • Vision API • Azure Data Lake Store • Azure Document DB • Azure Event Grid • Azure Event Grid Publish • Azure Event Hubs • Azure Files • Azure Functions • Azure Log Analytics • Azure Log Analytics Data Collection • Azure Machine Learning • Azure Resource Manager • Azure Service Bus • Azure SQL • Azure SQL Data Warehouse • Azure Storage Blob • Azure Storage Queues • Azure Storage Tables • Basecamp2&3 • Benchmark Email • Bing Maps • Bing Search • BitBucket • Bitly • Bizzy • Blogger • Box • Buffer • Calendly • Campfire • CapsuleCRM • Chatter • Cognito Forms • Common Data Service • Disqus • DocFusion365 • DocParser • DocuSign • Dropbox • Dynamics CRM Online • Dynamics CRM Service Bus • Dynamics for Financials • Dynamics for Operations • Dynamics NAV • Easy Redmine • Elastic Forms • Enadoc • Eventbrite • Facebook • FlowForma • FreshBooks • Freshdesk • FreshService • GitHub • Gmail • Google Calendar • Google Contacts • Google Drive • Google Sheets • Google Tasks • GoTo Meeting • GoTo Training • GoTo Webinar • Harvest • HelloSign • HipChat • Impala • Infusionsoft • Inoreader • Insightly • Instagram • Instapaper • Intercom • JIRA • JotForm • LeanKit • LinkedIn • LiveChat • MailChimp • Mandrill • Microsoft Forms • Microsoft Kaizala • Microsoft StaffHub • Microsoft Teams • Microsoft Translator • Medium • MSN Weather • Muhimbi PDF • Nexmo • Office 365 Groups • Office 365 Outlook • Office 365 Users • Office 365 Video • OneDrive • OneDrive for Business • OneNote • Outlook.com • Outlook Customer Manager • Outlook Tasks • Paylocity • PagerDuty • Parserr • Pinterest • Pipedrive • Pitney Bowes Data Validation • Pivotal Tracker • Planner • Plivo • Power BI • Project Online • Redmine • SafetyCulture • Salesforce • Salesforce Chatter • SendGrid • ServiceNow • SharePoint Online • Skype for Business • Slack • SmartSheet • SparkPost • StaffHub • Stripe • Survey Monkey • Teamwork • Teradata • Todoist • Toodledo • Trello • Twilio • Twitter • Typeform • UserVoice • Vimeo • VS Team Services • Webmerge • Wordpress • Workday HCM • Wunderlist • Yammer • YouTube • Zendesk
  17. 17. Access any REST API Simple creation wizard Designer experience Managed secrets ARM Resource Subscription/Region scope
  18. 18. Recurrence & Adv. Scheduling Polling Webhook Request
  19. 19. Invoke APIs & Services Behaviors Flow Control Variables Message Handling Expressions & Operators
  20. 20. Trading Partners EDI XML handling Flat File handling Business tracking
  21. 21. Certifications & Compliance Drummond AS2
  22. 22. GA Performance improvements Visual Studio 2015 tooling Visual Studio 2017 tooling Integration Account Monitoring view Diagnostic Alerts Tracked properties Parallel actions EDIFACT X12 XML transformation parameters Service Bus batching Designer improvements splitOn Native binary data handling IP whitelisting Regenerate access keys Static Ips Metadata lookup Insert action Table action Connection resource picker Multipart formdata/formencoded Terminate with succeeded Open Azure Function from designer Azure Function with HTTP binding Variables Multiple actions in Do Until Nested foreach Foreach supports 100K entities Version promotion Date-time filter for run history Open nested logic app from Monitoring India Canada Select action Join action Retry information in monitoring
  23. 23. Concurrency control Request trigger OAuth Draft slot Run action Mock Testing Resubmit from failed action XSLT with assemblies JSON message handling OMS download Snippets Condition builder Configurable logic app lifetime
  24. 24. New Pricing Model Actions Price per execution Native Actions $0.000025 Standard Connectors $0.000125 Enterprise Connectors $0.001
  25. 25. • TypeScript/React app • Uses OpenAPI (Swagger) to render inputs & outputs • Generates workflow definition (JSON)
  26. 26. Logic App Runtime
  27. 27. Task Resiliency
  28. 28. GLOBAL INTEGRATION BOOTCAMP
  29. 29. Azure Functions
  30. 30. Development tools Outer loop Inner loop
  31. 31. 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
  32. 32. GLOBAL INTEGRATION BOOTCAMP
  33. 33. Deployment and management isolation Customers Products Orders API calls customers.azurewebsites.net products.azurewebsites.net orders.azurewebsites.net deployment
  34. 34. Function app A /customer s Function app B /products Function app C Function 3 /orders Function 1 API proxy endpoints HttpTrigger function endpoints Key: /products /orders Function 2
  35. 35. Scenario: Azure Functions Proxies Function app A /time Function1 / /mock /movies
  36. 36. New Visual Studio 2017 tooling https://aka.ms/2017functiontools
  37. 37. Visual Studio 2017 Tooling [FunctionName("CreateMosaic")] public static async Task CreateMosaicAsync( [QueueTrigger("generate-mosaic")] MosaicRequest mosaicRequest, [Blob("%input-container%/{InputImage}", FileAccess.Read)] Stream sourceImage, [Blob("%tile-image-container%")] CloudBlobContainer tileContainer, [Blob("%output-container%/{InputImage}", FileAccess.Write)] Stream outputStream)
  38. 38. Creating a Function
  39. 39. Creating a Function
  40. 40. Developing a Function
  41. 41. Integrating a Function
  42. 42. Testing a Function
  43. 43. Managing a Function
  44. 44. Timer-based processing Azure service event processing Scenarios:
  45. 45. Serverless web application architectures SaaS event processing Scenarios:
  46. 46. Real-time stream processing Real-time bot messaging Scenarios:
  47. 47. GLOBAL INTEGRATION BOOTCAMP
  48. 48. What’s the missing piece? • Azure Functions – Serverless compute • Logic Apps – Serverless connectivity and workflows • Service Bus – Serverless messaging • Event Grid – Serverless Events
  49. 49. Azure Event Grid
  50. 50. Benefits
  51. 51. Manage all events in one place
  52. 52. Ensure reliability and performance in your apps
  53. 53. https://buildazure.com/2017/09/07/a-tour-of-azure-messaging-services-queues-event-grid-iot-hub-and-more/ Service Bus : Transactions, control, pull Event Hub : Telemetry, streaming Event Grid : Event handling, reactive, push
  54. 54. Pricing
  55. 55. Where Is It?
  56. 56. Scenarios
  57. 57. Storage blob Event Grid storage event storage event Webhook
  58. 58. Azure Serverless http://azure.com/serverless Azure Logic Apps https://azure.microsoft.com/en-us/services/logic-apps/ Azure Functions http://azure.com/functions Azure Event Grid http://azure.com/eventgrid Resources
  59. 59. GLOBAL INTEGRATION BOOTCAMP Lab #1 Building a Smart solution with Azure Storage, Event Grid, Functions, Logic Apps and the Computer Vision API
  60. 60. Lab #1 Prerequisites Azure Subscription Azure Storage Explorer (http://storageexplorer.com)
  61. 61. Lab #1 Steps
  62. 62. Microsoft Ignite GLOBAL INTEGRATION BOOTCAMP ready...set…GO!!

Editor's Notes

  • Interested in all things integration – which of course includes MS Flow
  • Most of these slides are taken from this presentation at Integrate 2017 USA
  • Most of these slides are taken from this presentation at Integrate 2017 USA
  • Most of these slides are taken from this presentation at Integrate 2017 USA
  • 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!
  • Abstraction of servers
    Event=driven / instant scaling
    - Micro-billing
  • Focus on the business logic
    Faster time to market
  • Focus on the business logic!
  • Lets talk about what really makes up MSFT’s Serverless platform: At the center of the Serverless platform, is our compute offerings: Azure Functions and Azure Logic Apps. Azure Functions is an event based Serverless compute experience that helps you accelerate your development. Logic Apps is a powerful workflow and orchestration tool. It enables building a Serverless app in minutes – by orchestrating multiple functions using a visual workflow tool.

    Say you have your apps up and running using Serverless. Congratulations! You now need to collect intelligence from different apps across platforms to take actions upon. There are a few essential components which we think are core to building Serverless applications are:
    Data/ Storage –Functions has triggers and bindings with Azure document DB and Azure Blob storage
    ** Triggers: Triggers are event responses used to trigger your custom code. They allow you to respond to events across the Azure platform or on premise.
    ** Bindings: Bindings represent the necessary meta data used to connect your code to the desired trigger or associated input or output data.
    Messaging such as queues and topics using Azure Service Bus and Azure Event Hubs
    Integration – that includes core LOB apps and SaaS apps integration via Azure Logic Apps.
    Intelligence on data and sentiment/ predictive analysis using Cognitive services and Machine learning
    Conversation as a service – how do we equip developers to build apps that offer an end-to-end experience for their end users – Azure Bot Service offers a Serverless interactive bot experience.

    More, developers are spending more time writing code that allows them to add huge business impact with Serverless. MSFT offers numerous development tools such as IDE Support for Visual Studio in functions and Logic Apps, enables local development (vs web browser coding environment), visual debugging capability, all with your tools of choice.

    Lastly, I also want to highlight top scenarios and use cases for Serverless:
    Real-time Stream analytics: Customers can use Functions to feed real-time streams of data from application tracking into structured data and store it in SQL online.
    SaaS event processing: Customers can use Functions and Logic Apps to analyze data from an excel file in Onedrive and perform validation, filtration, sorting and convert data into consumable business charts
    Web app architecture: Used a lot in creating targeted marketing collaterals – when a customer clicks on a webpage, it triggers a webhook, that uses a function to create an ad that matches the customer profile and displays a completed webpage.
    Real-time bot messaging: When customers send a message to a chatbox, Functions calls Cortana analytics to generate appropriate answers and sends a response back.

    //from before: Customers have different paths to build a Serverless app – start by building the distributed application components using functions by leveraging the numerous templates and declarative bindings Or
    Start with the workflow and orchestration of Serverless application using Azure Logic Apps. The visual designer enables developers to quickly and easily author, edit and visualize orchestration of multiple functions and workflow.



  • Call out that we now support SQL Triggers
  • Any REST API
    Postman export, swagger/open api definition,
    A custom Logic Apps Connector allows you to register a custom HTTP endpoint with operations that will be exposed within Azure Logic Apps", "description": "Use the Logic Apps Connector and editor to build and deploy custom APIs to be consumed within Logic Apps. These APIs can be any RESTful endpoint, including Azure Web APIs, API Management APIs, Azure Functions, and more. Once created, you can open the connector editor to describe the endpoint (via OpenAPI definition or a postman collection), configure how it will display within the Logic Apps designer, and publish the changes
  • Call out that we now support stored procs on-prem
  • Invokes Services
    Managed connectors
    App Service APIs
    API Management
    Azure Functions
    Workflow
    HTTP + Swagger
    HTTP
    Behaviors
    Retry policy
    Run after
    Limit
    Operation Options
    Response
    Webhook
    Delay
    Terminate
    Message Handling
    Compose
    Query
    Table
    Request schema
    Parse JSON
    Xpath & XSLT
    XML Validation
    Flow Control
    Scope
    Foreach
    DoUntil
    Switch
    Condition
    Expressions & Operators
  • Invokes Services
    Managed connectors
    App Service APIs
    API Management
    Azure Functions
    Workflow
    HTTP + Swagger
    HTTP
    Behaviors
    Retry policy
    Run after
    Limit
    Operation Options
    Response
    Webhook
    Delay
    Terminate
    Message Handling
    Compose
    Query
    Table
    Request schema
    Parse JSON
    Xpath & XSLT
    XML Validation
    Flow Control
    Scope
    Foreach
    DoUntil
    Switch
    Condition
    Expressions & Operators
  • HIPAA - Health Insurance Portability & Accountability Act with Business Associate Agreements (BAAs).
    PCI DSS - Payment Card Industry Data Security Standards Level 1 version 3.1.
    SOC - Service Organization Controls standards for operational security
    GDPR – General Data Protection Regulation
  • What else
  • What else
  • Native actions 32x savings
    Standard connectors 6x savings
    Basic has 50 maps, 50 schemas, 2 partners, 1 agreement
  • As I mentioned earlier, triggers and bindings are the things that facilitate easy communication with other services. This chart shows us the triggers and bindings currently supported. As we can see, there are a number of Azure services supported here…. for Storage, Database, Messaging, Notifications and so on. In addition to those, Functions also support generic Http triggers, which means you can easily write a piece of code that can be used to respond to REST requests or requests from any service that supports webhooks. This also provides a really fast and easy mechanism for building extensions to SaaS applications. We are fully committed to making this list grow and making more check-marks appear in that table.
  • AK
  • EL
  • 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.
  • 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.
  • 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.
  • OOTB Publishers + Custom Capabilities
    Here are some of the key features of Azure Event Grid:
    Simplicity - Point and click to aim events from your Azure resource to any event handler or endpoint.
    Advanced filtering - Filter on event type or event publish path to ensure event handlers only receive relevant events.
    Fan-out - Subscribe multiple endpoints to the same event to send copies of the event to as many places as needed.
    Reliability - Utilize 24-hour retry with exponential backoff to ensure events are delivered.
    Pay-per-event - Pay only for the amount you use Event Grid.
    High throughput - Build high-volume workloads on Event Grid with support for millions of events per second.
    Built-in Events - Get up and running quickly with resource-defined built-in events.
    Custom Events - use Event Grid route, filter, and reliably deliver custom events in your app.
  • Tord Glad Nordahl : “With dynamic scale and consistent performance Azure Event grid lets you focus on your app logic rather than the infrastructure around it."
  • Based on Service Fabric
    99.99% availability

    https://docs.microsoft.com/en-us/azure/event-grid/delivery-and-retry
    10 seconds
    30 seconds
    1 minute
    5 minutes
    10 minutes
    30 minutes
    1 hour
    Event Grid adds a small randomization to all retry intervals.
  • Service Bus: High-value enterprise messaging - Order processing and financial transactions
    Event Hubs: Big data pipeline - Telemetry and distributed data streaming
    Event Grid: Reactive programming - React to status changes
  • West US, East US, West US 2, East US 2, West Central US, Central US, West Europe, North Europe, Southeast Asia, and East Asia with more coming soon.
  • Connect data sources and event handlers.
    Speed automation and simplify policy enforcement.
    Connect your app with other services.
  • 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.

×