2-620: Agile Development in Practice: Tips and Tricks for Modernized Development Cycle

Learn how Azure App Service makes it easy to practice agile software development with Continuous Integration and Deployment. Leverage features like Staging Slots, Testing in Production, Auto Swap and more to set up an easy-to-manage CI environment in the cloud. The talk also covers a number of other Web Apps features that round up the development cycle experience.

1.0x

2-620: Agile Development in Practice: Tips and Tricks for Modernized Development Cycle

Created 2 years ago

Duration 0:53:22
lesson view count 319
Learn how Azure App Service makes it easy to practice agile software development with Continuous Integration and Deployment. Leverage features like Staging Slots, Testing in Production, Auto Swap and more to set up an easy-to-manage CI environment in the cloud. The talk also covers a number of other Web Apps features that round up the development cycle experience.
Select the file type you wish to download
Slide Content
  1. 2-620

    Slide 1 - 2-620

    • Agile Development in PracticeTips and Tricks for Modernized Development Cycle
    • David Ebbo
    • Engineering Lead
  2. Convince you to use Azure Resource Manager templates to provision your resources

    Slide 2 - Convince you to use Azure Resource Manager templates to provision your resources

    • Demonstrate flexible and powerful deployment workflows for Azure Web Apps
    • Key goals
  3. Provisioning: getting your Azure resources created/updated

    Slide 3 - Provisioning: getting your Azure resources created/updated

    • Use Azure Resource Manager templates
    • Site content deployment
    • Set up continuous deployment
    • Provisioning vs Site deployment
  4. Manual

    Slide 4 - Manual

    • Use Azure Portal to create resources
    • Use manual deployment steps, e.g. from Visual Studio
    • Client driven automation
    • Write a PowerShell script to automate the process
    • Cloud driven deployment
    • Use an Azure Resource Manager (ARM) template
    • Several ways to provision resources
  5. Manual

    Slide 5 - Manual

    • Use Azure Portal to create resources
    • Use manual deployment steps, e.g. from Visual Studio
    • Client driven automation
    • Write a PowerShell script to automate the process
    • Cloud driven deployment
    • Use an Azure Resource Manager (ARM) template
    • Several ways to provision resources
  6. It’s not easily repeatable

    Slide 6 - It’s not easily repeatable

    • What if you need to do it all over again?
    • Or you need to deploy to a second region?
    • What’s wrong with manual deployment
  7. It’s not easily repeatable

    Slide 7 - It’s not easily repeatable

    • What if you need to do it all over again?
    • Or you need to deploy to a second region?
    • What’s wrong with manual deployment
  8. Solves a lot of the manual deployment issues

    Slide 8 - Solves a lot of the manual deployment issues

    • Puts too much logic on your client
    • Uses imperative logic
    • Hard to parallelize
    • Round trips secrets through client
    • Client driven automation (e.g. PowerShell script)
  9. Solves a lot of the manual deployment issues

    Slide 9 - Solves a lot of the manual deployment issues

    • Puts too much logic on your client
    • Uses imperative logic
    • Hard to parallelize
    • Round trips secrets through client
    • Client driven automation (e.g. PowerShell script)
  10. Cloud based orchestration engine

    Slide 10 - Cloud based orchestration engine

    • Fully declarative
    • Automatically optimizes the deployment based on dependency graph
    • Secrets never make it to the client
    • More transparent use of the API
    • ARM Templates
  11. Cloud based orchestration engine

    Slide 11 - Cloud based orchestration engine

    • Fully declarative
    • Automatically optimizes the deployment based on dependency graph
    • Secrets never make it to the client
    • More transparent use of the API
    • ARM Templates
  12. Old: Azure Service Management, aka RDFE

    Slide 12 - Old: Azure Service Management, aka RDFE

    • Don’t use it if you don’t have to!
    • New: Azure Resource Manager (ARM)
    • That’s where it’s at now!
    • The Azure API: old vs new
  13. Old: Azure Service Management, aka RDFE

    Slide 13 - Old: Azure Service Management, aka RDFE

    • Don’t use it if you don’t have to!
    • New: Azure Resource Manager (ARM)
    • That’s where it’s at now!
    • The Azure API: old vs new
  14. Full dev / Staging / Prod workflow

    Slide 14 - Full dev / Staging / Prod workflow

    • GitHub master
    • merge dev into master
    • UI site (Angular)
    • Backend
    • Staging
    • Prod
    • GitHub ‘dev’
    • Developer 1
    • Developer 2
    • UI site (Angular)
    • Backend site
    • Dev
  15. Full dev / Staging / Prod workflow

    Slide 15 - Full dev / Staging / Prod workflow

    • GitHub master
    • merge dev into master
    • UI site (Angular)
    • Backend
    • Staging
    • Prod
    • GitHub ‘dev’
    • Developer 1
    • Developer 2
    • UI site (Angular)
    • Backend site
    • Dev
  16. Slide 16

    • Continuous deployment from ‘dev’ branch
    • GitHub ‘dev’
    • Developer 1
    • Developer 2
    • UI site (Angular)
    • Backend site
  17. Slide 17

    • Continuous deployment from ‘dev’ branch
    • GitHub ‘dev’
    • Developer 1
    • Developer 2
    • UI site (Angular)
    • Backend site
  18. Solves a lot of the manual deployment issues

    Slide 18 - Solves a lot of the manual deployment issues

    • Puts too much logic on your client
    • Uses imperative logic
    • Hard to parallelize
    • Round trips secrets through client
    • Client driven automation (e.g. PowerShell script)
  19. Direct deployment has two primary issues:

    Slide 19 - Direct deployment has two primary issues:

    • You can’t test it on Azure before it goes live
    • It incurs a site cold start
    • The answer: use a staging slot!
    • Staged deployment
  20. Prod deployment with Staging slot

    Slide 20 - Prod deployment with Staging slot

    • GitHub master
    • merge dev into master
    • UI site (Angular)
    • Backend site
    • Staging
    • Prod
  21. Prod deployment with Staging slot

    Slide 21 - Prod deployment with Staging slot

    • GitHub master
    • merge dev into master
    • UI site (Angular)
    • Backend site
    • Staging
    • Prod
  22. Full dev / Staging / Prod workflow

    Slide 22 - Full dev / Staging / Prod workflow

    • GitHub master
    • merge dev into master
    • UI site (Angular)
    • Backend
    • Staging
    • Prod
    • GitHub ‘dev’
    • Developer 1
    • Developer 2
    • UI site (Angular)
    • Backend site
    • Dev
  23. Full dev / Staging / Prod workflow

    Slide 23 - Full dev / Staging / Prod workflow

    • GitHub master
    • merge dev into master
    • UI site (Angular)
    • Backend
    • Staging
    • Prod
    • GitHub ‘dev’
    • Developer 1
    • Developer 2
    • UI site (Angular)
    • Backend site
    • Dev
  24. Cloud based orchestration engine

    Slide 24 - Cloud based orchestration engine

    • Fully declarative
    • Automatically optimizes the deployment based on dependency graph
    • Secrets never make it to the client
    • More transparent use of the API
    • ARM Templates
  25. Cloud based orchestration engine

    Slide 25 - Cloud based orchestration engine

    • Fully declarative
    • Automatically optimizes the deployment based on dependency graph
    • Secrets never make it to the client
    • More transparent use of the API
    • ARM Templates
  26. Cloud based orchestration engine

    Slide 26 - Cloud based orchestration engine

    • Fully declarative
    • Automatically optimizes the deployment based on dependency graph
    • Secrets never make it to the client
    • More transparent use of the API
    • ARM Templates
  27. Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    Slide 27 - Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    • Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!
    • Easily build web and mobile apps for any platform with AzureAppService for free.
    • Resources
  28. Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    Slide 28 - Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    • Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!
    • Easily build web and mobile apps for any platform with AzureAppService for free.
    • Resources