Presentation is loading. Please wait.

Presentation is loading. Please wait.

Eduardo Laureano Azure Functions – Serverless compute in the cloud

Similar presentations


Presentation on theme: "Eduardo Laureano Azure Functions – Serverless compute in the cloud"— Presentation transcript:

1 Eduardo Laureano Azure Functions – Serverless compute in the cloud
Principal Program Manager Lead at Azure Functions / App Service, Microsoft Azure Functions – Serverless compute in the cloud

2 Overview Intro to Serverless in Azure Serverless integrations
9/18/2018 6:17 AM Overview Intro to Serverless in Azure Serverless integrations Functions Bindings Office Integration Functions Proxies © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 What is Serverless? Abstraction of servers Event-driven/ instant scale
$ Abstraction of servers Event-driven/ instant scale Micro-billing

4 Benefits of Serverless
Reduced DevOps Focus on business logic Faster time to market

5 Serverless application platform components
Development Local development Monitoring IDE support Integrated DevOps Visual Debug History Platform Functions Logic apps Event Grid Developer productivity Visual designer Manage all events in one place Triggers and Bindings 100+ connectors Near real-time delivery Flexible deployment options Functions orchestration Broad coverage 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. Analytics Database Storage IoT Security & Access Control Intelligence

6 Azure Functions Events Code Outputs
9/18/2018 6:17 AM Azure Functions Events React to timers, HTTP, or events from your favorite Azure services, with more on the way Author functions in C#, F#, Node.JS, Java, and more Code Outputs Send results to an ever- growing collection of services © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 Functions triggers and bindings
Build 2015 Functions triggers and bindings 9/18/2018 6:17 AM 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. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 Development tools Monitoring: App Insights
Local debugging: VS, VS Code Run locally: X-Plat CLI Publish: VSTS, Maven CD: GitHub, BitBucket, Jenkins… Outer loop Inner loop

9 by top external customer
Build 2015 9/18/2018 6:17 AM >20K Active customers >100k Function apps >1 Billion Executions per day 20% Monthly customer growth 40% Monthly traffic growth >10 Billion Monthly Executions by top external customer All numbers external only, customer/apps/requests/cores based on May 2017 values. Growth % calculated by divided July ’16 value by July’15 value. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Demo: Function bindings
9/18/2018 6:17 AM Demo: Function bindings © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 Function bindings Logic Apps connectors
9/18/2018 6:17 AM Function bindings Logic Apps connectors Provides low-code access to many external sources 23 bindings Ideal for “data-in, data-out” scenarios Allows you to work with preferred data types in code Provides no-code access to external sources 180+ connectors Ideal for data orchestrations and integrations (multi-step) Fully managed authentication © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 9/18/2018 6:17 AM Microsoft Graph © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Microsoft Graph ACTIVITY CONTENT CONVERSATIONS INSIGHTS ME TRENDING
Microsoft Build 2017 9/18/2018 6:17 AM Microsoft Graph ACTIVITY CONTENT CONVERSATIONS INSIGHTS ME TRENDING ORGANIZATION GROUPS CHATS REPORTS DOCUMENTS EVENTS DEVICES SHARED CONTACTS PEOPLE TASKS COLLABORATION © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Microsoft Graph bindings for Functions
9/18/2018 6:17 AM Microsoft Graph bindings for Functions React to: Mail messages Calendar events Personal contacts OneDrive items Read from: Excel OneDrive Write to: Excel OneDrive Outlook messages + more with identity support for API calls © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Demo: Microsoft Graph bindings
9/18/2018 6:17 AM Demo: Microsoft Graph bindings © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 Functions Proxies 9/18/2018 6:17 AM AK
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 Deployment and management isolation
customers.azurewebsites.net products.azurewebsites.net orders.azurewebsites.net deployment Customers API calls Products Orders

18 HttpTrigger function endpoints
Function app B /products Function2 /products /orders Function app A /customers Function1 Function app C /orders Function3 Key: HttpTrigger function endpoints API proxy endpoints

19 Demo: Azure Functions Proxies
9/18/2018 6:17 AM Demo: Azure Functions Proxies Function app A Static Webpage /time Function1 / /mock NYT Movies API /movies © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 Scenario: SaaS Integration
9/18/2018 6:17 AM Scenario: SaaS Integration Transalta Deliver a chat bot to aid field technicians Potentially one of the best would be TransAlta (power company in Canada) who has built a bot to help run their business across different line-of-business systems.  For example operators can ask the bot “What incidents do I need to look at today?”  And it calls an “API” which is just a Logic App behind the scenes to retrieve the data.  He just presented on it at the London INTEGRATE conference (there’s a blip on it herehttps:// They do also use Functions in their logic apps – so would be an honest mashup. Kent showed us two impressive demos with examples of leveraging the Bot Framework, in which both Microsoft Teams and Skype were used to interact with the end users. All backend requests went through Azure API Management, which invoked Logic Apps reaching out to multiple backend systems: SAP, ServiceNow, MOC, SQL and QuadrigaCX. Definitely check out this session, when the videos are published! © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 ? Dream Topology Bot Framework Existing Platform 9/18/2018 6:17 AM AK
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 TransAlta: Final Topology
9/18/2018 6:17 AM TransAlta: Final Topology Logic Apps API Management Bot Framework Functions Existing Platform © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 Transalta Scenario: Features
9/18/2018 6:17 AM Transalta Scenario: Features Logic Apps SaaS connectors Function Integration Functions Custom Business Logic Serverless A la carte billing Interchangeable back end Fast time to market © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24 Takeaways / Resources Benefits of Serverless solutions
Tech Ready 15 9/18/2018 6:17 AM Takeaways / Resources Benefits of Serverless solutions Multiple ways to integrate with SaaS / APIs More ways for API Routing / Composition Easy to get started and rich tool set for development GitHub repo: github.com/Azure/Azure-Functions @eduardolaureano Team blog: blogs.msdn.microsoft.com/appserviceteam YouTube channel: youtube.com/AzureFunctions This slide is recommended as a final slide to recap the objectives of the session to remind attendees what you said would be covered and to highlight that you did indeed cover those points. LEARNING OBJECTIVES Match the objectives covered on the required Objective slide at the beginning of your presentation. KEY TAKEAWAYS: Bullet points highlighting the primary information sellers should be able to recall from the session to help them perform in role (e.g. practical guidance, tips, suggested behavior changes.) ACTION ITEMS: Next steps to put their learnings into action. If you have questions, please contact your Track PM. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 New Visual Studio 2017 tooling
Microsoft Build 2017 9/18/2018 6:17 AM New Visual Studio 2017 tooling Based on class libraries Get the full power of IntelliSense, unit testing, and local debugging Use attributes to define triggers and bindings Learn more at © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

26 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)

27 9/18/2018 6:17 AM Identity © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 App Service Authentication / Authorization
Provider Web/Function App User Code App ServiceAuthN/AuthZ “Server-directed flow” Provider “Client-directed flow”

29 Azure AD Managed Service Identity
Keep credentials out of code Auto-managed identity in Azure AD for Azure resource Use local MSI endpoint to get access tokens from Azure AD Direct authentication with services, or retrieve creds from Azure Key Vault App Service Azure Service (e.g., ARM, Key Vault) Your code 3 1 Local token service 2 Credentials Azure (inject and roll credentials)


Download ppt "Eduardo Laureano Azure Functions – Serverless compute in the cloud"

Similar presentations


Ads by Google