A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Azure Integration DTAP Series, How to go from Development to Production – Part 3 Azure Functions
1. Azure Integration DTAP Series, How to go
from Development to Production – Part 3
Azure Functions
Mattias Lögdberg https://se.linkedin.com/in/logdberg
2. • Azure Integration DTAP Series,
How to go from Development to Production
Part 3 Functions
Mattias Lögdberg
4. Agenda
• Part 3 of a set of 3 series covering build and release processes with
VSTS
• API Management
• Logic Apps
• Azure Functions
• Intro
• Hands on setup in VSTS
• Lessons learned, tips and trix
• Questions
6. What makes it complex?
• Multiple Languages
• Diffrent Development tools
• Diffrent Deployment models
• Human errors
• We want Streamlined processes
• Deployment reliability and speed
• Quality (what version is deployed, what code is used)
10. Function App vs Function
• Function 1 – Advanced JSON formating (JSON/XSLT transformation)
• Function 2 – Custom c# code
• Function 3 – Authentication (not solved in Logic Apps)
12. Manually
Pros:
• Easy to get started
• Easy to see and administer in GUI
Cons:
• Manually updates at deployment
13. ARM Templates
Pros:
• ”Standard” Azure deployment
• Out of box support for Key Vault during deployments
• Possible to find other Azure Resources for auto generating keys etc
Cons:
• ARM knowledge needed
• Make sure changes are reflected done manually is reflected to the
ARM template and current parameter files
17. Develop and Deployment Options
Webdesigner - Copy Paste
Visual Studio 2017 C# -> VSTS (build and release cyckle)
VS Code -> VSTS (build and release cyckle)
18. Visual Studio 2017 C# Functions
Pros:
• Standard development tool for c# developers
• Debug local
• Integrate easy with VSTS
Cons:
• Need Computer that can run Visual Studio 2017
20. Demo
Create C# Function and deploy to DEV
Push code to VSTS
Create Build and Release
Add CI for Dev
21. Visual Studio Code JavaScript Functions
Pros:
• Standard development tool for Node.js
• Debug local
• Integrate with VSTS and full CI Experience
Cons:
• Need Computer that can run Visual Studio Code
23. Demo
Create Javascript Function
Push code to VSTS
Add CI for Dev (application settings manually)
Create Build and Release (application settings via ARM)
24. Advanced Demo INT002-FunctionJavascript
• Add npm module ’request’
• Call Logic App and add value to response from the response of Logic
App
• Deployment
• Automate NPM install
• Package.json
• Run ’npm install’ in Kudu
• Automate the Application Setting URL with ARM
25. Demo
Add Code to call Logic App
Add URL to Application settings, manually
Install npm package, manually
Automate URL (Function App ARM template) and npm install (PowerShell script) for Test
26. Lessons learned
• Local development with Test and debug is important
• Application Parameters are easy to miss and/or time consuming
• Different development tools, can mix things up
• If mixing Javascript and C# make sure to handle host.json on 1 place
• Use package.json for Javascript functions
• Automation of Kudu commands adds value to deployments
• ARM deployments support KeyVault
• ARM deployment can automate URL collection from Logic Apps
• ARM automation is your friend