Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Azure Integration DTAP Series, How to go from Development to Production – Part 3 Azure Functions

225 views

Published on

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.

Published in: Law
  • Be the first to comment

  • Be the first to like this

Azure Integration DTAP Series, How to go from Development to Production – Part 3 Azure Functions

  1. 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. 2. • Azure Integration DTAP Series, How to go from Development to Production Part 3 Functions Mattias Lögdberg
  3. 3. Mattias Lögdberg Solution Architect Azure Specialist Microsoft MVP http://mlogdberg.com MLogdberg MLogdberg https://se.linkedin.com/in/logdberg
  4. 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
  5. 5. Develop, Build, Release BuildVersion Control Develop Deploy Test QA Prod
  6. 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)
  7. 7. Developing Functions
  8. 8. Deployment flow Develop Dev Test Prod
  9. 9. Environments Dev Test Prod
  10. 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)
  11. 11. Deployment Options Function App Manually ARM Templates
  12. 12. Manually Pros: • Easy to get started • Easy to see and administer in GUI Cons: • Manually updates at deployment
  13. 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
  14. 14. ARM Setup Developer Source Control VSTS Releases Test QA Prod Build Test QA Prod
  15. 15. Demo Create Function App manually Export ARM templates Create ARM deployment in VSTS
  16. 16. VSTS VS Code VS 2017
  17. 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. 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
  19. 19. Recap Visual Studio Developer Source Control VSTS Releases Test QA Prod Build Test QA Prod
  20. 20. Demo Create C# Function and deploy to DEV Push code to VSTS Create Build and Release Add CI for Dev
  21. 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
  22. 22. Deployment VS Code Developer Source Control VSTS Releases Test QA Prod Build Test QA Prod
  23. 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. 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. 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. 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
  27. 27. Questions?
  28. 28. Thanks! Mattias Lögdberg, Solutions Architect Email: mattias.logdberg@ibiz-solutions.se

×