SlideShare a Scribd company logo
1 of 20
CONTINUOUS DELIVERY
WITH AZURE APP SERVICE
How to harness the power of Azure App Service to
provide continuous delivery pipeline.
ABOUT ME
 Director of Application Architecture at CarFinance.com
 15 years of industry experience
 Currently leading the cloud initiative at CarFinance.com
 mnabeelkhan.blogspot.com
WHAT WE WILL COVER
 Continuous delivery concepts
 Power of App Services
 Continuous delivery pipeline
 Importance of Branching strategies
 Steps for building the continuous delivery pipeline
WHAT IS CONTINUOUS DELIVERY?
 Continuous delivery (CD) is a software engineering approach in
which teams produce software in short cycles, ensuring that the
software can be reliably released at any time. It aims at building,
testing, and releasing software faster and more frequently.
– Wikipedia.
 In simple words “Constantly develop, automatically build and
automatically deploy”. This means that as soon as code is checked in a
system would automatically build the application and deploy.
POWER OF APP SERVICES
Some of the advantages…
 Unlike IIS, App service focuses on single app. Hence, the management
of IIS has been abstracted away.
 Easy to produce multiple hosting environments from click of button.
 Unified security for different deployment slots.
 Deployment-slot-based application settings.
A SET OF TYPICAL DEV. ENVIRONMENTS
Dev.
QA
UAT
Staging
Prod.
ESTABLISHED DEPLOYMENT SLOTS EXAMPLE
ESTABLISHMENT OF BRANCHING STRATEGY
Master branch – For Development environment
QA Branch – For QA and UAT environments
Production – For staging environment
SUPPORTED DEPLOYMENT MEDIUMS
FTP Web Deploy Kudu
AND THEN THERE IS…THE APP SERVICE
DEPLOYMENT
A WORD ABOUT SUPPORTED SOURCES
Deployment source
HOW IT WORKS
Code
checked-in
to
Kudu
initiates the
build
Kudu
publishes
the website
DEMO
WHAT ABOUT IF YOU HAVE MULTIPLE
SITES IN ONE PROJECT
MULTIPLE WEB APPS CHALLENGE
 Step 1. Add app setting to your App Service to uniquely identify your app. This is to
give Kudu a way to kick start the build and complete the publishing once code has
checked in.
 Step 2. Add “.deployment” file to the base of your source code repository. The
“.deployment” file gives Kudu a starting point to start the deployment process.
 Step 3. Create deploy.cmd file. This is the file that would tell Kudu how many
different web apps or web Api apps are available in your code base that needs to be
built as part of continuous integration pipeline.
GENERATING DEPLOY.CUSTOMER.CMD
 Step 1: Create site deployment script.
 Step 2: Rename the deployment script output file to match your
project.
 Step 3: Repeat steps 1 to 2 for each project.
EXAMPLE DEPLOYMENT CODE
RESOURCES
 mnabeelkhan.blogspot.com
 http://blog.amitapple.com/
QUESTIONS

More Related Content

What's hot

How Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source SuccessHow Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source Success
Cory Fowler
 

What's hot (20)

Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
 
DEV-007_Building Cloud Connected Xamarin Apps
DEV-007_Building Cloud Connected Xamarin AppsDEV-007_Building Cloud Connected Xamarin Apps
DEV-007_Building Cloud Connected Xamarin Apps
 
Lessons learned from running massive WordPress sites at scale
Lessons learned from running massive WordPress sites at scaleLessons learned from running massive WordPress sites at scale
Lessons learned from running massive WordPress sites at scale
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 
How Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source SuccessHow Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source Success
 
5 Absolutely Beautiful Things about Platform as a Service (PaaS)
5 Absolutely Beautiful Things about Platform as a Service (PaaS)5 Absolutely Beautiful Things about Platform as a Service (PaaS)
5 Absolutely Beautiful Things about Platform as a Service (PaaS)
 
Introduction to Microsoft Azure App Service (Logic and API Apps)
Introduction to Microsoft Azure App Service (Logic and API Apps)Introduction to Microsoft Azure App Service (Logic and API Apps)
Introduction to Microsoft Azure App Service (Logic and API Apps)
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
Design and Implement Azure Web Apps
Design and Implement Azure Web AppsDesign and Implement Azure Web Apps
Design and Implement Azure Web Apps
 
Cloud APIs and Cloud Frameworks
Cloud APIs and Cloud FrameworksCloud APIs and Cloud Frameworks
Cloud APIs and Cloud Frameworks
 
Hybrid Integration with SAP
Hybrid Integration with SAPHybrid Integration with SAP
Hybrid Integration with SAP
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Scalable APIs with Azure Functions
Scalable APIs with Azure FunctionsScalable APIs with Azure Functions
Scalable APIs with Azure Functions
 
Building Push Triggers for Logic Apps
Building Push Triggers for Logic AppsBuilding Push Triggers for Logic Apps
Building Push Triggers for Logic Apps
 
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudWhat is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
 
Leading Edge of Modern Web Apps on Azure - Menaka - CCDays
Leading Edge of Modern Web Apps on Azure - Menaka - CCDaysLeading Edge of Modern Web Apps on Azure - Menaka - CCDays
Leading Edge of Modern Web Apps on Azure - Menaka - CCDays
 
Azure cloud for the web frontend developers
Azure cloud for the web frontend developersAzure cloud for the web frontend developers
Azure cloud for the web frontend developers
 
Firebase Introduction
Firebase Introduction Firebase Introduction
Firebase Introduction
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure Cloud
 
Firebase Overview
Firebase OverviewFirebase Overview
Firebase Overview
 

Viewers also liked

Viewers also liked (19)

The new Azure App Service Architecture
The new Azure App Service ArchitectureThe new Azure App Service Architecture
The new Azure App Service Architecture
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Azure Mobile Apps with Xamarin
Azure Mobile Apps with XamarinAzure Mobile Apps with Xamarin
Azure Mobile Apps with Xamarin
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
 
Azure service fabric: a gentle introduction
Azure service fabric: a gentle introductionAzure service fabric: a gentle introduction
Azure service fabric: a gentle introduction
 
Distributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service Fabric
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
 
Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview
 
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functions
 
Azure Service Fabric Overview
Azure Service Fabric OverviewAzure Service Fabric Overview
Azure Service Fabric Overview
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
REST: From GET to HATEOAS
REST: From GET to HATEOASREST: From GET to HATEOAS
REST: From GET to HATEOAS
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft Azure
 

Similar to Continuous delivery with azure app service

Similar to Continuous delivery with azure app service (20)

DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
App Service Web
App Service WebApp Service Web
App Service Web
 
Salesforce cicd integration a quick guide
Salesforce cicd integration a quick guideSalesforce cicd integration a quick guide
Salesforce cicd integration a quick guide
 
Visual Studio 2017 - Montreal Launch Event
Visual Studio 2017  - Montreal Launch EventVisual Studio 2017  - Montreal Launch Event
Visual Studio 2017 - Montreal Launch Event
 
Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
ClearScale: Continuous Automation with Docker on AWS
ClearScale: Continuous Automation with Docker on AWSClearScale: Continuous Automation with Docker on AWS
ClearScale: Continuous Automation with Docker on AWS
 
AWS_DevOps
AWS_DevOpsAWS_DevOps
AWS_DevOps
 
Dev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - TorontoDev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - Toronto
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous Delivery
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Devops lifecycle with Kabanero Appsody, Codewind, Tekton
Devops lifecycle with Kabanero Appsody, Codewind, TektonDevops lifecycle with Kabanero Appsody, Codewind, Tekton
Devops lifecycle with Kabanero Appsody, Codewind, Tekton
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
Managing Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the CloudManaging Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the Cloud
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Continuous delivery with azure app service

  • 1. CONTINUOUS DELIVERY WITH AZURE APP SERVICE How to harness the power of Azure App Service to provide continuous delivery pipeline.
  • 2. ABOUT ME  Director of Application Architecture at CarFinance.com  15 years of industry experience  Currently leading the cloud initiative at CarFinance.com  mnabeelkhan.blogspot.com
  • 3. WHAT WE WILL COVER  Continuous delivery concepts  Power of App Services  Continuous delivery pipeline  Importance of Branching strategies  Steps for building the continuous delivery pipeline
  • 4. WHAT IS CONTINUOUS DELIVERY?  Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. – Wikipedia.  In simple words “Constantly develop, automatically build and automatically deploy”. This means that as soon as code is checked in a system would automatically build the application and deploy.
  • 5.
  • 6. POWER OF APP SERVICES Some of the advantages…  Unlike IIS, App service focuses on single app. Hence, the management of IIS has been abstracted away.  Easy to produce multiple hosting environments from click of button.  Unified security for different deployment slots.  Deployment-slot-based application settings.
  • 7. A SET OF TYPICAL DEV. ENVIRONMENTS Dev. QA UAT Staging Prod.
  • 9. ESTABLISHMENT OF BRANCHING STRATEGY Master branch – For Development environment QA Branch – For QA and UAT environments Production – For staging environment
  • 11. AND THEN THERE IS…THE APP SERVICE DEPLOYMENT
  • 12. A WORD ABOUT SUPPORTED SOURCES Deployment source
  • 13. HOW IT WORKS Code checked-in to Kudu initiates the build Kudu publishes the website
  • 14. DEMO
  • 15. WHAT ABOUT IF YOU HAVE MULTIPLE SITES IN ONE PROJECT
  • 16. MULTIPLE WEB APPS CHALLENGE  Step 1. Add app setting to your App Service to uniquely identify your app. This is to give Kudu a way to kick start the build and complete the publishing once code has checked in.  Step 2. Add “.deployment” file to the base of your source code repository. The “.deployment” file gives Kudu a starting point to start the deployment process.  Step 3. Create deploy.cmd file. This is the file that would tell Kudu how many different web apps or web Api apps are available in your code base that needs to be built as part of continuous integration pipeline.
  • 17. GENERATING DEPLOY.CUSTOMER.CMD  Step 1: Create site deployment script.  Step 2: Rename the deployment script output file to match your project.  Step 3: Repeat steps 1 to 2 for each project.