TechNet
Products
IT Resources
Downloads
Training
Support
Products
Windows
Windows Server
System Center
Microsoft Edge
Office
Office 365
Exchange Server
SQL Server
SharePoint Products
Skype for Business
See all products »
Resources
Channel 9 Video
Evaluation Center
Learning Resources
Microsoft Tech Companion App
Microsoft Technical Communities
Microsoft Virtual Academy
Script Center
Server and Tools Blogs
TechNet Blogs
TechNet Flash Newsletter
TechNet Gallery
TechNet Library
TechNet Magazine
TechNet Wiki
Windows Sysinternals
Virtual Labs
Solutions
Networking
Cloud and Datacenter
Security
Virtualization
Updates
Service Packs
Security Bulletins
Windows Update
Trials
Windows Server 2016
System Center 2016
Windows 10 Enterprise
SQL Server 2016
See all trials »
Related Sites
Microsoft Download Center
Microsoft Evaluation Center
Drivers
Windows Sysinternals
TechNet Gallery
Training
Expert-led, virtual classes
Training Catalog
Class Locator
Microsoft Virtual Academy
Free Windows Server 2012 courses
Free Windows 8 courses
SQL Server training
Microsoft Official Courses On-Demand
Certifications
Certification overview
Special offers
MCSE Cloud Platform and Infrastructure
MCSE: Mobility
MCSE: Data Management and Analytics
MCSE Productivity
Other resources
Microsoft Events
Exam Replay
Born To Learn blog
Find technical communities in your area
Azure training
Official Practice Tests
Support options
For business
For developers
For IT professionals
For technical support
Support offerings
More support
Microsoft Premier Online
TechNet Forums
MSDN Forums
Security Bulletins & Advisories
Not an IT pro?
Microsoft Customer Support
Microsoft Community Forums
Sign in
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Skip to locale bar
Post an article
Translate this page
Powered by
Microsoft® Translator
Wikis - Page Details
First published by
Janshair Khan
When:
9 Apr 2016 11:09 AM
Last revision by
Arleta Wanat
(MVP, Microsoft Community Contributor)
When:
30 Apr 2017 12:07 AM
Revisions:
6
Comments:
3
Options
Subscribe to Article (RSS)
Share this
Engage!
Wiki Ninjas Blog
(
Announcements
)
Wiki Ninjas on Twitter
TechNet Wiki Discussion Forum
Can You Improve This Article?
Positively!
Click Sign In to add the tip, solution, correction or comment that will help other users.
Report inappropriate content using
these instructions
.
Wiki
>
TechNet Articles
>
Azure Deployment Slots
Azure Deployment Slots
Article
History
Azure Deployment Slots
Microsoft Azure provides a cool deployment feature "Azure Deployment Slots". Think of this feature as card layers of a web app, where we swap them until our application moves to the
Final Production
. Using this "Deployment Slots" feature, we save a lot of time and make and run Unit Tests easier before final product delivery.
To understand it a little bit more clearly, suppose one of your clients asks for a change in one of your product that they are using. The simple way for better delivery is to setup only 2 deployment slots "
Staging
" and "
Production
" (although you can create more). We made changes that as the client said and push final application to "Staging" for final testing either using a source control or a "publishSettings" file. If your Unit Tests succeeded, you just swap your "Staging" slot to "Production" and make it accessible to the client.
Consider a situation where you left a bug unfixed in your final deliverable and did not notice while running your unit tests, consequently your client sees the bug and reports you immediately. If you're using
Azure Deployment Slots
, you can use the previous deliverable by re-swap from
Production
to again
Staging
without stopping your clients business for bug fix.
You can create many numbers of slots, for this example, we just used 2 slots. Deployment Slots in Azure Preview portal can be easily created by going to Azure Web App => Settings => Deployment Slots => Add Slot, as shown below:
Give it a name and make some configurations as you want:
And that is it, you have created your slot successfully as shown in the example.
Note: You must have running "Standard" or "Premium" App Service plan for using Deployment Slots. Each service has a number of limited slots that you can create.
A common problem that we used to confront while using Deployment slots is that if your application is using an Azure database for back-end data, you have to create another test database for your staging slot and make sure that it gets change while swapping from
Staging
to Production to
Production
database.
Some settings do and some settings of you web app configuration do not change with slots swap. List of the settings are that are
swapped
:
General settings - such as framework version, 32/64-bit, Web sockets
App settings (can be configured to stick to a slot)
Connection strings (can be configured to stick to a slot)
Handler mappings
Monitoring and diagnostic settings
WebJobs content
Settings that are
not swapped
:
Publishing endpoints
Custom Domain Names
SSL certificates and bindings
Scale settings
WebJobs schedulers