2. background
Software (Services)
Artificial Intelligence
Databases
Workflow
Business Intelligence
Mobile
Infrastructure
Scalability
Business continuity
High availability
Reliability
Business
Fail fast with minimal
collateral damage
Faster time to market
Expanded capabilities
Explosion of the Cloud Ecosystem
Cloud computing has enabled a huge ecosystem of services and providers.
Cloud can/has/will easily enable some of the main pillars of delivering IT services
3. Serverless Functions?
A service that wakes up on events, loads and executes a block
of code then gradual decommission itself.
Listen for
Event
React to
Event
Provision
Function
De-
provision
Function
4. Serverless Functions
Once the service is provisioned* it will load the code
associated with the service, execute, and return a result to the
caller
Load Code
Execute Code
Return Result
Provision
Function
5. So why is this cool?
Reason for cool factor:
We are using Azure -> (software, infrastructure & business)
Discoverability
Reusable
Fast development, ramp up time
And we pay (¢) just for execution time !!!!!!
Languages*
DevOps (CD)*
6. Leveraging Azure Functions with
SharePoint
Formula 0 - (SPO + AzFn = Solution)
Azure Functions can be triggered based on:
Timer
Events
Azure Storage (Blobs, Queues, External File, External Table, Azure Table
Storage, Azure DocumentDB, Azure Moble Table Record, Bot
Framework, etc)
Web (Web Hooks, Web Services, & Rest APIs)
8. Auto Image Tagger = SP + AzFn + AI
“A.I. what is that a picture of?”
Mountain on tatooine
Mountain
24.2 km
!@#!@#
9. Usage: Auto Image Tagger
Formula –> Image Auto Tagging = SPO + AzFn + AI
Use Case: Tag images with keywords
Goal: Improve the findability images and pictures.
Business Issues and pain points:
To much work tagging/updating attributes
I can’t find anything!
SP is just a big file share
Tagging is not my job !
Utilization is down because we have required field on upload
10. Auto Image Tagger
A.I. to the rescue – Once again thanks to the diverse ecosystem of hosted
and cloud services A.I. platforms are easily accessible.
Formula Components
SP = SharePoint Image Library
AzFn = Azure Function (the new Timer Job)
AI = Azure Cognitive Services
DEMO
12. SP - Currency Converter
Of course we can do currency
conversion in SharePoint …
There’s a currency field right ????
Over promising Oliver
13. Usage: Currency Conversion
Formula –> Currency Conversion = SPO + AzFn + Flow
Use Case: Users want to enter their sales in their local currency. Management
wants all numbers reported in USD.
Issues and pain points:
Yes a workflow can be used, but logic becomes difficult
Decouples the dependency on SP workflows
Off load processing from your SP environment to another resource
Custom business rules can be supported in AzFn.
AzFn can be reused by other services
Data is maintained in a Storage table (might be some performance gains)
…
15. Currency Conversion – MS Flow
IFTTT/Connector/Workflow service
A plug and play service that connects to MS applications to other 3rd
services
WITHOUT CODING (SORT OF)!
16. MS Flow – Custom APIs
Can reference other services with
Custom APIs
But you need a little swagger!!!
17. MS Flow – Custom APIs
Custom API form
BTW don’t forget about the name
at the top!!!
18. MS Flow – Flow Currency Conversion
Hook into a SharePoint list event
Start flow when list item is created
DEMO
20. AzFn - Creating One (Deployment)
App Name
Resource Group
Try using an existing plan or group by
product/project billing
Hosting Plan
Consumption
App Service Plan
Location
* Try keeping your resources together
Storage Account
Can use existing storage accounts
21. AzFn – Create the Function
Can use
premade
function
Choose
language
Or Create
your own
custom
function
Create!
27. AzFn – Management (Advanced)
Config Settings
Continous
Integration
Kudu (metrics)
CORS
Authentication
28. AzFn – API Management
Public out your API
Create a mock web API project in VS
2015 using Swashbuckle (latest
version)
Generate the json file
Upload the json file here
29. Need to know - to make life easier
#r to include external libraries
Use ASE to do advanced functionality
Can deploy your own libraries
Use ASE or FTP to deploy files to a bin directory
Might need to create the bin directory
31. Pricing
https://azure.microsoft.com/en-us/pricing/details/functions/
Resource Consumption and Executions
Consumption Plan
Free Monthly grant of 1 Million requests and 400k resource consumption
Functions can use – Customer App Service Plan @ regular plan rates
Note: Storage account is created and charge at regular rates
𝑚𝑜𝑛𝑡ℎ 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛𝑠
Total requested executions each month for all functions – (first million are free)
Resource Consumption
Observed resource consumption measured in Gigabyte Seconds
Average Memory size (GB) * Function Exe (s)
Free grant of 400k GBs monthly