This document introduces Microsoft Flow and Azure Functions. It provides an overview of each tool, including how Flow allows non-developers to create workflows across various services, while Azure Functions allows developers to write pieces of code that can be triggered to run in the cloud. The document also demonstrates how to build a workflow in Flow and create a function in Azure. It discusses best practices for integrating Flow and Functions together through webhooks or APIs.
3. Thank you and see you next year!
THANK YOU & See you next year!
Join us for SharePint after the event @ 5:30pm
6982 Financial Dr. (Drake A Firkin) and don’t forget to
submit feedback after each session for your chance to
win great prizes at the end of the day!
Survey Link: http://bit.ly/2vWCcoM
5. Vincent Biret
Passionate about development, community and technologies
@baywet
bit.ly/vince365
MVP Office Servers and Services
Azure and Office 365 developer @ 2toLead
6. Often we think we need more than what we actually need and end up over-designing
Fact – development can get complex
7. That’s, and other causes, leads to spending way more than we thought
Fact – costs increase rapidly
8. Workflows and SharePoint always has been a love and hate story
Your experience?
• Customizing SharePoint Workflows with SPD?
• Developing WF with Visual Studio?
• Maintaining a WF infrastructure?
9. Let’s try to find better and more enjoyable tools that’ll make us more productive
Why this session?
• SharePoint workflows are a complicated thing
• Limited to SharePoint
• Software development is costly
• Reusing what already exists
10. Users build flows, devlopers extend capabilities with Azure Functions
The Team
Users Devs
11. Agenda
• Demo (“broken bridges” solution)
• Introduction to Microsoft Flow
• Introduction to Azure Functions
• Conclusion
16. Cloud based solution for workflows provided by Microsoft with or without Office 365
Description
• User based workflow solution
• 91 services integrated as of today
• Web editor
• You can leverage on prem data via a gateway
• Steps based concept
• Numerous templates already available
17. 167 connectors to date, most of them are free (might require a service purchase), some
require a prenium license
Some Services
18. You can either use it for free, have it as part of your office 365 plan or add it to it
Pricing
• Free – 750 ex/month, 15 min
• Plan 1 – 5USD/u/m – 4500 ex/month, 3min
• O365 or D365 – free – 2000 ex/month, 5 min
• Plan 2 – 15USD/u/m – 15 000 ex/month, 1 min
20. Good for 80% of the workloads, I’d avoid it for mission critical workflows for now
Some remarks
• Performances are not guaranteed
• NEW: retry policies
• User based execution context
• NEW: import/export
• Inconstancies Folder/SPItem
21. Devs have multiple ways to integrate, from the one-deal integration to the ISV
What about the devs?
• WebHooks to start the flows
• Private API’s => use of swagger + AAD app
• Public API’s => Swagger (Icone…) => flowdev@microsoft.com
• Catalog => Iframes + URL params system or SDK JS
23. Microsoft’s response to the serverless opening market, allowing you to run code and just
not care.
Azure Functions
• Run « pieces of code »
• Focus on code, nothing else
• Supported by Azure App Service/WebJobs
• .NET is .netcore
• NEW: now available in most of the regions
24. Multiple languages supported which lowers the entry cost as the devs in your company
probably already master one or two of those
Supported langages
27. Functions can be triggered periodically, on events, http/webhook or using the bot
framework
Triggers
28. Triggers/Inputs/Outputs
• One trigger per function
• Can have multiple inputs (SQL, Azure Storage, DocumentDB…)
• Can have multiple outputs (same as inputs + http, SendGrid, Twilio…)
29. The more control you want, the lower in the stack, the more simplicity the higher
How to chose?
f
WebJob-App
Service
Cloud Service
VM
On prem
si
m
pl
ic
it
y
c
o
n
tr
o
l
30. SDK is still in preview but usefull to implement DevOps and more advanced scenarios
Tools
• Web Editor
• Git + Visual Studio
• VS 2015 update 3 + Azure Sdk 2.9.6 + functions SDK
• VS 2017 update 3 preview + azure dev checked
• Both still in preview
• #r ‘’Newtonsoft.Json’’
31. Azure functions are making progress on the DevOps path allowing you to better control
the lifecycle
Continuous integration
• Publication via web deploy
• Same as a app Service
• ARM
• NEW: Can (easily) be set up via VSTS
• NEW: Deployment slots are in preview
• **VSTS hosted agent doesn’t have Azure functions SDK for now
34. WebHooks are probably the most straight forward way to integrate both together
Multiple integration options
• WebHooks (both ways)
• Simple API (limitations)
• API + swagger
• API + Swagger + PowerApps
35. I swear, I’m going to stop talking soon and let you free
Conclusion
36. Conclusion
• Native access to tons of services and data
• Short developement cycles
• More power to users
• Time saved
• Money saved
L’objectif c’est que les usagers fassent des flow et demandent aux développeurs des API/functions
Gestion des questions, interaction, ok avec ce programme?
Verifier le compte de la personne avec twilio.com/user/account/phone-numbers/verified
https://flow.microsoft.com/
https://flow.microsoft.com/fr-fr/pricing/
Le débuggueur a cessé quand j’ai oublié d’approuver
On peut attendre jusqu’à plusieurs minutes sur une approbation
https://powerusers.microsoft.com/t5/Flow-Ideas/Flow-export/idi-p/8912
http://social.technet.microsoft.com/wiki/contents/articles/36906.microsoft-flow-and-sharepoint.aspx
https://flow.microsoft.com/de-de/blog/import-export-bap-packages/
Emphase: faible courbe d’apprentissage car langages très présents dans l’industrie
C# et Javascript ceux qui ont le plus d’intégration pour le moment
Toutes les 15 minutes, data scavenging
Event blob storage, transformation du CSV en données, explotation via powerbi
Event excel onedrive, creation de graphiques automatisée
Photo prise qui appelle un webhook, stockage dans le blob storage, redimensionnement des images
Implémentation d’un bot via le SDK, commandes mappées à des functions, sortie mappée à des réponses
Les autres paramètres d’entrées vont être mappés aux paramètres de notre fonction en fonction des noms qu’on fournit
Expliquer ce qu’est un webhook
Modèles de route permettent de réutiliser la même fonction en contextualisant les appels
https://blogs.msdn.microsoft.com/webdev/2016/12/01/visual-studio-tools-for-azure-functions/
https://blogs.msdn.microsoft.com/webdev/2017/05/10/azure-function-tools-for-visual-studio-2017/
Syntaxe r avec le pool de librairies à disposition
Référencer une dll existante comme point d’entrée
http://stackoverflow.com/questions/36577584/how-to-put-the-entry-point-of-an-azure-function-inside-a-net-dll