SlideShare a Scribd company logo
1 of 35
Automating Provisioning For Your
Digital Workplace: With Azure Durable
Functions & Microsoft Graph
SharePoint Fest DC 2019
Vincent Biret
Passionate about technologies, development and community
Vincent Biret
@baywet
bit.ly/vince365
Microsoft Office Dev MVP
Azure and Office 365 developer @ 2toLead
Audience?
Agenda
Introduction
User Interface choices
Automation choices
Azure Durable Functions
SharePoint specifics
Microsoft Graph
Conclusion
Ready?
Context
2017201620152014
Over the last years Microsoft focused on delivering more specialized tools
Microsoft 365 Ecosystem
201820132012
Different tools for boundaries
Internal
External
Public
It’s important to consider the right tool for the right boundary, and your automation options must account
for it as well.
Overall users are happier with better tools, but it added stress on IT and power users.
The effects of more specialized tools
Pros
Improved users efficiency
Better capabilities
Faster releases
Cons
Context Switching
Licensing complexity
Managing multiple API’s
Administrative lifecycle
tasks
The first rule of licensing is we
don’t talk about licensing
Provisioning processes can be quite complex and often require to integrate many
technologies together. Thankfully the Microsoft Graph provides most of the APIs.
What do we want to automate?
Create Office 365 group
Enable Teams on the group
Update the logo
Set security
Create Channels for each project
Create a templated NoteBook for
each project
Create a Planner Plan for each
project
Add a welcome message
Add all the tabs
Create extranet site collection &
sites
Apply a template to it
…
Building custom User
Interfaces in
Microsoft 365
When building custom user interfaces for Office 365, the trick is to find the right balance.
Available choices when building custom UI
COMPLEXITY
C
O
N
T
R
O
L
Bots
Custom
Teams Tabs/SPFx
PowerApps
Forms
Benefits of going SPFx/Teams
Modern technologies (react, typescript…)
Open source libraries (PnP & more)
Integrated AuthN & AuthZ
Integrated hosting
Discoverable
High flexibility/control
UI of the provisioning solution
Demo
Automating in
Office 365
Azure Functions is a good complement to Flow/Logic App. Logic App good transition
from Microsoft Flow to move from user centric to entreprise grade
Available choices when automating O365
COMPLEXITY
C
O
N
T
R
O
L
App Service
Environment
Automation
RunBooks
Custom
WebJobs
WebApps
Functions
Logic Apps
Flow
ASE is a great tool to automate things for Office 365, especially if you’re a dev, with
almost no limitations
Benefits of App Service Environment
Built-in auth (Easy-Auth)
Built-in security (SSL…)
Autoscale
API driven (CORS…)
Built-in connectivity (vnet, vpns…)
Proven technology (6+ years)
Easy to get started
Cheap
Easy auth, CORS setup, CORS for dev
Demo
Azure Durable
Functions
Implementing complex workflows was complex with Azure Functions which are designed
for quick and simple activities
Value proposition of Azure Functions
Pros
Cheap
Fast
Simple
Scale extensively
Cons
Stateless
Coordination nightmare!
10/15 min limit run time
A common pattern to chain Azure Function was to use queues
Coordinating Azure Functions: Chaining
A common pattern to chain Azure Function was to use a state repository, each function
triggering the next one
Coordinating Azure Functions: State Repo
The pain of coordinating Azure Functions grows exponentially with the number of
functions.
TRYING TO
COORDINATE MANY
FUNCTIONS
Durable Functions remove a lot of pain introduced with regular functions
Introducing Durable Functions
All the benefits of « regular » Functions
Code defined workflow
Automates state management
Reports status
Enables new design patterns
Fan out/Fan-in
Chaining
Monitoring
The Orchestrator leverages a decorator design pattern to « work it’s magic »
High level overview
Orchestration
client
State persistence
Orchestrator
ActivitiesTrigger
Always remember these key principles toi avoid strange behavior
Important things about Orchestrator
Orchestrator WILL run multiple time
Orchestrator ONLY coordinates activities
No random
No time
No async calls
Idem potent logic
Use orchestrator methods to call activities
Activities input/output MUST be serializable
Azure Durable Functions Orchestrator and Activities, Graph Beta Client
Demo
SharePoint Specifics
Authentication & Authorization
Use Azure Active Directory, not ACS anymore
Most of ACS retired a year ago, which is not a good sign for
auth part
Use certificate (not secret) authentication
Otherwise, for some endpoints, you’ll get a token, and a
403…
¯_(ツ)_/¯
The situation is currently painful if you want to leverage Azure Functions and work with
SharePoint’s CSOM
Laggy SDK/CSOM
CSOM still does not support dot net standard
Azure Functions are now on dot net core 2.x
Most libraries moved to dot net standard
Painful transition ADAL/MSAL on top of that
Functions/Activities can only run for 10/15 minutes
It is possible to synchronize a webjob and Durable Functions using queues or events.
Either to the same orchestrator or a separate one.
Laggy SDK/CSOM - solutions
• Talk to SharePoint REST APIs & split the code
• This
Orchestration
client
State persistence
Orchestrator
Activities
Trigger
Events
WebJob
The WebJob for SharePoint and Synchronisation
Demo
Conclusion
Conclusion
Lot of time saved
Consistency of environments
Self-Service
Deep integration
Money saved
Bit.ly/vince365 @baywet slideshare.net/VincentBIRET
Thanks!/Questions?
Vincent Biret
Office 365 and Azure
Developer, 2toLead
@baywet
Bit.ly/vince365

More Related Content

What's hot

Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019serge luca
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic AppsBizTalk360
 
Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018serge luca
 
Connect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADConnect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADBIWUG
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azureJasjit Chopra
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalBIWUG
 
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)serge luca
 
Inside Logic Apps
Inside Logic AppsInside Logic Apps
Inside Logic AppsBizTalk360
 
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...NCCOMMS
 
Azure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft FlowsAzure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft FlowsBizTalk360
 
Microsoft PowerApps- 'What can really I do with it?'
Microsoft PowerApps- 'What can really I do with it?'Microsoft PowerApps- 'What can really I do with it?'
Microsoft PowerApps- 'What can really I do with it?'samarcot
 
4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automate4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automateKumton Suttiraksiri
 
Unleashing the power of Microsoft Flow at Dynamics 365 Saturday
Unleashing the power of Microsoft Flow at Dynamics 365 SaturdayUnleashing the power of Microsoft Flow at Dynamics 365 Saturday
Unleashing the power of Microsoft Flow at Dynamics 365 SaturdayDaniel Laskewitz
 
Melbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateMelbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateAndre Margono
 
UiPath IT Automation for Amazon Web Services
UiPath IT Automation for Amazon Web ServicesUiPath IT Automation for Amazon Web Services
UiPath IT Automation for Amazon Web ServicesAndrei Oros
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationSharePoint Saturday New Jersey
 
ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...serge luca
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champKumton Suttiraksiri
 

What's hot (20)

Microsoft Azure Logic apps
Microsoft Azure Logic appsMicrosoft Azure Logic apps
Microsoft Azure Logic apps
 
Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 
Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018
 
Connect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADConnect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure AD
 
Azure logic app
Azure logic appAzure logic app
Azure logic app
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
 
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
 
Inside Logic Apps
Inside Logic AppsInside Logic Apps
Inside Logic Apps
 
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
 
Azure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft FlowsAzure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft Flows
 
Microsoft PowerApps- 'What can really I do with it?'
Microsoft PowerApps- 'What can really I do with it?'Microsoft PowerApps- 'What can really I do with it?'
Microsoft PowerApps- 'What can really I do with it?'
 
4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automate4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automate
 
Unleashing the power of Microsoft Flow at Dynamics 365 Saturday
Unleashing the power of Microsoft Flow at Dynamics 365 SaturdayUnleashing the power of Microsoft Flow at Dynamics 365 Saturday
Unleashing the power of Microsoft Flow at Dynamics 365 Saturday
 
Melbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateMelbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power Automate
 
UiPath IT Automation for Amazon Web Services
UiPath IT Automation for Amazon Web ServicesUiPath IT Automation for Amazon Web Services
UiPath IT Automation for Amazon Web Services
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 

Similar to #SPFestDC Automate your digital workplace provisioning with #Microsoft Graph and #Azure Functions

#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...Vincent Biret
 
#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learnedVincent Biret
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flowVincent Biret
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsBIWUG
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...Vincent Biret
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraphVincent Biret
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingSPC Adriatics
 
Azure from Rookie to DevStart
Azure from Rookie to DevStartAzure from Rookie to DevStart
Azure from Rookie to DevStartSajeetharan
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011Spiffy
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2Vincent Biret
 
Oracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesOracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesRajesh Raheja
 
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...Vincent Biret
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Vincent Biret
 
ServiceNow Tokyo Release- Aelumconsulting.pdf
ServiceNow Tokyo Release- Aelumconsulting.pdfServiceNow Tokyo Release- Aelumconsulting.pdf
ServiceNow Tokyo Release- Aelumconsulting.pdfAelum Consulting
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with AzureAnalben Mehta
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent Biret
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent Biret
 

Similar to #SPFestDC Automate your digital workplace provisioning with #Microsoft Graph and #Azure Functions (20)

#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
 
#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
 
Azure from Rookie to DevStart
Azure from Rookie to DevStartAzure from Rookie to DevStart
Azure from Rookie to DevStart
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2
 
Oracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesOracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best Practices
 
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
 
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
 
ServiceNow Tokyo Release- Aelumconsulting.pdf
ServiceNow Tokyo Release- Aelumconsulting.pdfServiceNow Tokyo Release- Aelumconsulting.pdf
ServiceNow Tokyo Release- Aelumconsulting.pdf
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with Azure
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 

More from Vincent Biret

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawaVincent Biret
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teamsVincent Biret
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introductionVincent Biret
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoVincent Biret
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFxVincent Biret
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesVincent Biret
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionVincent Biret
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraphVincent Biret
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraphVincent Biret
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsVincent Biret
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain powerVincent Biret
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting startedVincent Biret
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stackVincent Biret
 
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Vincent Biret
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?Vincent Biret
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?Vincent Biret
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint FrameworkVincent Biret
 
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...Vincent Biret
 
Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphGlobal Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphVincent Biret
 
Global Office 365 Dev Bootcamp 2018 - Intro slides
Global Office 365 Dev Bootcamp 2018 - Intro slidesGlobal Office 365 Dev Bootcamp 2018 - Intro slides
Global Office 365 Dev Bootcamp 2018 - Intro slidesVincent Biret
 

More from Vincent Biret (20)

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demo
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slides
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack
 
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
 
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
 
Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphGlobal Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
 
Global Office 365 Dev Bootcamp 2018 - Intro slides
Global Office 365 Dev Bootcamp 2018 - Intro slidesGlobal Office 365 Dev Bootcamp 2018 - Intro slides
Global Office 365 Dev Bootcamp 2018 - Intro slides
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph and #Azure Functions

  • 1. Automating Provisioning For Your Digital Workplace: With Azure Durable Functions & Microsoft Graph SharePoint Fest DC 2019 Vincent Biret
  • 2. Passionate about technologies, development and community Vincent Biret @baywet bit.ly/vince365 Microsoft Office Dev MVP Azure and Office 365 developer @ 2toLead
  • 4. Agenda Introduction User Interface choices Automation choices Azure Durable Functions SharePoint specifics Microsoft Graph Conclusion
  • 7. 2017201620152014 Over the last years Microsoft focused on delivering more specialized tools Microsoft 365 Ecosystem 201820132012
  • 8. Different tools for boundaries Internal External Public It’s important to consider the right tool for the right boundary, and your automation options must account for it as well.
  • 9. Overall users are happier with better tools, but it added stress on IT and power users. The effects of more specialized tools Pros Improved users efficiency Better capabilities Faster releases Cons Context Switching Licensing complexity Managing multiple API’s Administrative lifecycle tasks The first rule of licensing is we don’t talk about licensing
  • 10. Provisioning processes can be quite complex and often require to integrate many technologies together. Thankfully the Microsoft Graph provides most of the APIs. What do we want to automate? Create Office 365 group Enable Teams on the group Update the logo Set security Create Channels for each project Create a templated NoteBook for each project Create a Planner Plan for each project Add a welcome message Add all the tabs Create extranet site collection & sites Apply a template to it …
  • 12. When building custom user interfaces for Office 365, the trick is to find the right balance. Available choices when building custom UI COMPLEXITY C O N T R O L Bots Custom Teams Tabs/SPFx PowerApps Forms
  • 13. Benefits of going SPFx/Teams Modern technologies (react, typescript…) Open source libraries (PnP & more) Integrated AuthN & AuthZ Integrated hosting Discoverable High flexibility/control
  • 14. UI of the provisioning solution Demo
  • 16. Azure Functions is a good complement to Flow/Logic App. Logic App good transition from Microsoft Flow to move from user centric to entreprise grade Available choices when automating O365 COMPLEXITY C O N T R O L App Service Environment Automation RunBooks Custom WebJobs WebApps Functions Logic Apps Flow
  • 17. ASE is a great tool to automate things for Office 365, especially if you’re a dev, with almost no limitations Benefits of App Service Environment Built-in auth (Easy-Auth) Built-in security (SSL…) Autoscale API driven (CORS…) Built-in connectivity (vnet, vpns…) Proven technology (6+ years) Easy to get started Cheap
  • 18. Easy auth, CORS setup, CORS for dev Demo
  • 20. Implementing complex workflows was complex with Azure Functions which are designed for quick and simple activities Value proposition of Azure Functions Pros Cheap Fast Simple Scale extensively Cons Stateless Coordination nightmare! 10/15 min limit run time
  • 21. A common pattern to chain Azure Function was to use queues Coordinating Azure Functions: Chaining
  • 22. A common pattern to chain Azure Function was to use a state repository, each function triggering the next one Coordinating Azure Functions: State Repo
  • 23. The pain of coordinating Azure Functions grows exponentially with the number of functions. TRYING TO COORDINATE MANY FUNCTIONS
  • 24. Durable Functions remove a lot of pain introduced with regular functions Introducing Durable Functions All the benefits of « regular » Functions Code defined workflow Automates state management Reports status Enables new design patterns Fan out/Fan-in Chaining Monitoring
  • 25. The Orchestrator leverages a decorator design pattern to « work it’s magic » High level overview Orchestration client State persistence Orchestrator ActivitiesTrigger
  • 26. Always remember these key principles toi avoid strange behavior Important things about Orchestrator Orchestrator WILL run multiple time Orchestrator ONLY coordinates activities No random No time No async calls Idem potent logic Use orchestrator methods to call activities Activities input/output MUST be serializable
  • 27. Azure Durable Functions Orchestrator and Activities, Graph Beta Client Demo
  • 29. Authentication & Authorization Use Azure Active Directory, not ACS anymore Most of ACS retired a year ago, which is not a good sign for auth part Use certificate (not secret) authentication Otherwise, for some endpoints, you’ll get a token, and a 403… ¯_(ツ)_/¯
  • 30. The situation is currently painful if you want to leverage Azure Functions and work with SharePoint’s CSOM Laggy SDK/CSOM CSOM still does not support dot net standard Azure Functions are now on dot net core 2.x Most libraries moved to dot net standard Painful transition ADAL/MSAL on top of that Functions/Activities can only run for 10/15 minutes
  • 31. It is possible to synchronize a webjob and Durable Functions using queues or events. Either to the same orchestrator or a separate one. Laggy SDK/CSOM - solutions • Talk to SharePoint REST APIs & split the code • This Orchestration client State persistence Orchestrator Activities Trigger Events WebJob
  • 32. The WebJob for SharePoint and Synchronisation Demo
  • 34. Conclusion Lot of time saved Consistency of environments Self-Service Deep integration Money saved
  • 35. Bit.ly/vince365 @baywet slideshare.net/VincentBIRET Thanks!/Questions? Vincent Biret Office 365 and Azure Developer, 2toLead @baywet Bit.ly/vince365

Editor's Notes

  1. Mostly Devs and architects that want to know how to implement it. PMO and PMs who want to know how it’s done. Questions: XP with functions XP with SPFx XP with MS Graph
  2. Gestion des questions, interaction, ok avec ce programme?
  3. Timing: Just talk about the releases, do not explain what the products do
  4. Discoverable: Teams Tabs, SharePoint App Pages, Webpart gallery, already in tools users leverage
  5. Show the application page (create a PMO team and embed as a tab?), show all the controls (pnp), show the SPFx project and react components
  6. Tip: flows are in fact Azure logic Apps behind the scenes
  7. Not using event because passing data back (SharePoint) and renewing token (OneNote)
  8. Money save = dev time saved, less support to provide, better product/service