This presentation starts by covering what Azure Functions are, what they do and how much it cost to use them. Then it goes through some scenarios where it makes sense to use them integrated with Dynamics 365 Customer Engagement.
2. • “Build technology solutions that make a difference for our customers,
their employees and the people that they serve”
• Founder & Dynamics 365 Architect at Sadax
• Working with Dynamics CRM/365 since 2008 (CRM v4.0), 100+ projects
• Business Solutions MVP Alumni (2014 -> 2017)
• Blogger, Speaker, Teacher
https://salimadamoncrm.com (blog)
https://sadax-tech.com (company)
@salimadamon
https://www.linkedin.com/in/sadamon/
Nice to meet you
Salim Adamon
Founder, D365 Solution Architect
Integrate Azure Functions with Dynamics 365 Customer Engagement
3. 1. What are Azure Functions ?
2. Dynamics 365 Customer Engagement Integration use cases
3. See it in action
4. Q&A
What We’ll Cover Today
Integrate Azure Functions with Dynamics 365 Customer Engagement
4.
5. • Serverless compute service
▫ Run code on-demand
▫ No infrastructure
▫ Pay for what you use as you scale
What are Azure Functions?
• Various development languages
supported, including JavaScript,
C#, Powershell
• Supports dependencies (Nuget
pages)
Integrate Azure Functions with Dynamics 365 Customer Engagement
6. • Possible trigger include
▫ Timer
▫ Queue Storage
▫ Blob Storage
▫ Azure Cosmos DB
▫ HTTP
▫ Others
Service Bus, Event Hub,
Webhooks…
Azure Functions Triggers
Integrate Azure Functions with Dynamics 365 Customer Engagement
7. Azure Functions Architecture
Code Configuration
Programming Language Runtime
C#, JavaScript etc.
WebJobs Script Runtime
Compilers, Azure Function host, Language abstraction
WebJobs Core / Extensions
Triggers, input, outputs
App Service Runtime
Hosting, CI etc.
Integrate Azure Functions with Dynamics 365 Customer Engagement
Source: Microsoft
8. • Combination of
▫ Number of executions
▫ Resource consumption per second
• Free grants per months
▫ 1 million executions
▫ 400k GB-s (consumption measure)
• Requires an Azure Storage account
(billed separately)
Pricing Structure – Consumption Plan
• Prices can vary based on region
• Available in most Azure regions
Integrate Azure Functions with Dynamics 365 Customer Engagement
9. • Standard Web Hosting plan
• No additional cost if you already have
App Service running other application
Pricing Structure – App Service Plan
Integrate Azure Functions with Dynamics 365 Customer Engagement
10. Function Apps structure
Function App
Function 1
Function 2
Function 3
Integrate Azure Functions with Dynamics 365 Customer Engagement
11.
12. • Business logic executed on a recurring basis
• Logic can be moved to an Azure Function
Recurring Jobs
• Business logic needed in multiple execution contexts
• Centralize the code in Azure Function, call from multiple sources
Centralized reusable business logic
Integrate Azure Functions with Dynamics 365 Customer Engagement
13. • Batch processing / mass updates
• Integration with external systems (data sync)
Long Running Processes
• Replace use of unsupported ILMerge, dependencies are supported
• Other operations such as interacting with files are possible
• Plugins/custom activities can call Azure Functions via HTTP instead
Plugins scenarios impacted by Sandbox limitations
Integrate Azure Functions with Dynamics 365 Customer Engagement
14. • Console Apps, SSIS jobs
▫ All require some licences
▫ Servers have to be created and monitored
• Azure Functions can be an alternative
Reduce cost of alternative tools
Integrate Azure Functions with Dynamics 365 Customer Engagement
15. Scenario
Current situation
- A user manually runs a workflow monthly to recalculate sales ranking on Accounts
Solution with Azure Function
Azure Function will replace manual processing and run workflow on accounts once every month
- Create Timer based Azure Function
- Add D365 SDK reference
- Write code to connect to D365, retrieve accounts and run workflow against them
- Deploy in an Azure Function App