What is the best practice for updating an already existing web app deployment using ARM?

0 votes
I am now studying the best way to perform updates, and one of the hypotheses we are considering is having a specific template that updates the binaries of this application.

The idea is to have a separate template, that only has the web app, an app host and a MSDeploy resource that gets the latest version of the package and reuploads it to that web app.

The only problem I'm seeing with this solution is the ability to handle any changes in configuration that are necessary with newer version of the binaries - we do not want users to have to re-input any parameters they placed for the original deploy (done via a Deploy To Azure button), so, any configurations will have to be performed within the application - the plan is for it to use the Microsoft.WindowsAzure.Management.WebSites library.

The major limitation with using Microsoft.WindowsAzure.Management.WebSites is that you are restricted to authenticating with either a certificate or a service principal. Ideally we would like to find a way for the updates to not need any authentication other than the one you provide when you are deploying the update.

Can anyone help me with this?
Jul 8, 2018 in Other DevOps Questions by shubham
• 6,890 points
33 views

1 answer to this question.

0 votes

The Service Principal solution, through the SDK, would allow us to use a Web Job or a Site Extension to perform (automatic or prompted) updates that included configuration changes. However, it would require "too many" privileges - why would a customer trust an application that can, at will, create new resources or update existing ones to increase his Azure bill?

The decision was made to utilize Powershell only for updates - if the customer can see the scripts and authenticate himself, this is not a concern. Sadly, this increases update complexity, but we found it to be a necessary evil.

I hope the above information will be useful for you.

answered Jul 8, 2018 by Atul
• 10,240 points

Related Questions In Other DevOps Questions

0 votes
1 answer

Best practice for successful app deployment

I'd suggest you to write a deployment ...READ MORE

answered Jul 10, 2018 in Other DevOps Questions by DareDev
• 6,810 points
16 views
0 votes
1 answer

Which is the best testing tool?

Hey @Jinu, the best tool I've come ...READ MORE

answered Feb 18 in Other DevOps Questions by Yesha
61 views
0 votes
1 answer

IS app pool import fails with error message.configuration error…insufficient permissions

There is a config file at %SystemRoot%\System32\inetsrv\config\redirection.config Removed the ...READ MORE

answered Jun 19, 2018 in Other DevOps Questions by shubham
• 6,890 points
93 views
0 votes
1 answer

Continuous Deployment Bluemix with existing Bitbucket repo

Those instructions, although it mentions "private", are ...READ MORE

answered Jul 16, 2018 in Other DevOps Questions by Kalgi
• 40,420 points
53 views
0 votes
1 answer
+13 votes
2 answers

Git management technique when there are multiple customers and need multiple customization?

Consider this - In 'extended' Git-Flow, (Git-Multi-Flow, ...READ MORE

answered Mar 26, 2018 in DevOps & Agile by DragonLord999
• 8,380 points
145 views
0 votes
1 answer

How to get the most recent ebs snapshot using terraform datasource?

It's not available in the latest release ...READ MORE

answered Jul 8, 2018 in Other DevOps Questions by Atul
• 10,240 points
228 views
0 votes
1 answer

How do I enable Slack for Bluemix DevOps services beta

Here is where you can take help ...READ MORE

answered Jul 11, 2018 in Other DevOps Questions by Atul
• 10,240 points
40 views