Unlocking the Potential of the Cloud for IBM Power Systems
The Adventures of Azure Functions and Microsoft Graph
1. ERIC OVERFIELD | PixelMill
Microsoft MVP & RD
THE ADVENTURES OF
AZURE FUNCTIONS AND MICROSOFT
GRAPH
http://pxml.ly/EO-AzureFunctions-Graph
http://pxml.ly/AzureFunction-Graph-Translator-Demo
2. ERIC OVERFIELD
President & Co-Founder of PixelMill
Microsoft MVP, Office Servers & Services
Microsoft Regional Director
Published SharePoint Author
SharePoint Community Organizer & Contributor @ericoverfield
ericoverfield.com
3. PixelMill is a modern SharePoint Design Agency based in Northern California. On the forefront of
web design trends since 1998, PixelMill provides innovative collaboration portals to enhance the
user adoption of SharePoint intranets, extranets, and portal solutions.
PIXELMILL
@pixelmillteam
pixelmill.com
5. “Serverless architectures refer to applications that significantly depend
on third-party services (known as Backend as a Service or “Baas”) or
on custom code that’s run in ephemeral containers (Function as a
Service or “FaaS”)“
Serverless Architectures by Marin Fowler
SERVERLESS ARCHITECTURE
17. @ericoverfieldericoverfield.com
THE MICROSOFT GRAPH
Relationships and Insights
1. Accessing data
– /me, /users, /groups, /messages, /drive, ….
2. Traversing data
– /drive/items/<id>/lastmodifiedByUser
3. Accessing insights
– /insights/trending
4. Work/School and Personal
http://graph.microsoft.com
18. @ericoverfieldericoverfield.com
A UNIFIED API – SINGLE ENDPOIN
Operation Service Endpoint
GET my profile https://graph.microsoft.com/v1.0/me
GET my files https://graph.microsoft.com/v1.0/me/drive/root/children
GET my photo https://graph.microsoft.com/v1.0/me/photo/$value
GET my mail https://graph.microsoft.com/v1.0/me/messages
GET my calendar https://graph.microsoft.com/v1.0/me/calendar
GET my manager https://graph.microsoft.com/v1.0/me/manager
GET last user to modify file foo.txt https://graph.microsoft.com/v1.0/me/drive/root/children/foo.txt/lastModifiedByUser
GET users in my organization https://graph.microsoft.com/v1.0/users
GET group conversations https://graph.microsoft.com/v1.0/groups/<id>/conversations
GET people related to me https://graph.microsoft.com/beta/me/people
GET my tasks https://graph.microsoft.com/beta/me/tasks
GET my notes https://graph.microsoft.com/beta/me/notes/notebooks
GET files trending around me https://graph.microsoft.com/beta/me/insights/trending
20. @ericoverfieldericoverfield.com
GET STARTED AND REACH OUT
Microsoft Graph
https://graph.microsoft.io/
Azure Functions
https://functions.azure.com/try
http://pxml.ly/AzureFunction-Graph-Translator-Dem
Slides will be available from blog and twitter
200 level – overview – but there is a fair amount of code. I will not go deep into code though
All available to download
DEMO HEAVY
https://unsplash.com/photos/eZrIiv5bKxY
https://unsplash.com/photos/tjX_sniNzgQ
Abstraction of servers, infrastructure and configuration of operating system
Event-driven scale
Sub-second billing
Stateless
Serverless compute is a fully managed service. Some refer to it as Functions as a Service
OS and Framework patching is performed for you
There is zero administrative tasks and no need to manage any infrastructure
You just deploy your code (function) and it runs
Your code runs within seconds and for very short period of time
Serverless compute scales quickly (almost instantly) and vastly
Automatically scales within seconds
No scale configuration is required (there is no way to configure scale or limits)
Scales to match any given workload. Scales from zero to handle tens of thousands concurrent functions invocations within seconds
Pay only for the time your code is running
Serverless compute reacts to events
React, in near real-time, to events and triggers
Triggered by virtually any event from Azure service or 3rd party services
Mono-lithic application -> loosely coupled components
Events happening async outside client application
Build/use micro-functionality to react to a single event
“Pinnacle of PaaS compute”
Not just hardware “servers”, but software servers are also managed for you
Focus on business logic, not solving technical problems not core to business
Lower effort to get started makes it easier to experiment (bots, etc.)
Instantly analyze data from all your IoT devices and gateways