https://pulumi.com logo
#azure
Title
# azure
d

delightful-truck-1268

01/31/2020, 4:55 PM
I feel stupid asking that question because to me its obvious that I should keep them separate but wanted to make sure I'm not missing anything
b

better-rainbow-14549

01/31/2020, 4:57 PM
i've not used appservices in pulumi but we use pulumi to do infra + app deployment (containers) + db schemas and users
t

tall-librarian-49374

01/31/2020, 4:57 PM
You could deploy it with Pulumi. You can make a ZipBlob from a folder on your disk, upload it to a Storage account, and then point your Function App to that bob.
That’s what our
ArchiveFunctionApp
does for Azure Functions, and that mechanism works for App Service too
But you can keep these steps separate for sure
d

delightful-truck-1268

01/31/2020, 4:59 PM
That's exactly what was blurring the lines for me was the Zip blob I was seeing in many examples.
t

tall-librarian-49374

01/31/2020, 5:00 PM
It’s a nice way to show end-to-end getting started example. You don’t have to use the same for your app.
d

delightful-truck-1268

01/31/2020, 5:00 PM
It seems to me if I wanted to deploy a new version I would have to tear down an appservice and build it up again
t

tall-librarian-49374

01/31/2020, 5:00 PM
That’s not correct, Pulumi would just see a change in app binaries, upload a new zip, point the existing APp Service to it, then delete the old zip
d

delightful-truck-1268

01/31/2020, 5:02 PM
Oh it would work that way, cool!
t

tall-librarian-49374

01/31/2020, 5:04 PM
Yes, generally Pulumi calculates the smallest diff needed
c

clever-sunset-76585

01/31/2020, 6:01 PM
@delightful-truck-1268 curious if you are using Az Pipelines to deploy the app to your App Service?
d

delightful-truck-1268

01/31/2020, 6:14 PM
I'm not but we are considering it. Should we?
c

clever-sunset-76585

01/31/2020, 6:19 PM
It depends on your team’s setup. Personally, I like Azure Pipelines, but there are several CI systems out there and choosing one that is best suited for your team is good. More specifically, since you are deploying Azure resources, I think using Azure Pipelines would be a good fit. They have built-in tasks to deploy apps to App Services, as well as doing some advanced things such as swapping slots. That is, you deploy to the “staging” slot, run a test, then finally swap the slots if all looks good etc. You could then use Pulumi to deploy the underlying infrastructure itself (i.e. the App Service plan, DB etc.) and then deploy the app outside of Pulumi. You can use Pulumi for as much as your infrastructure needs as you want. It really is a matter of preference.
💯 1
d

delightful-truck-1268

01/31/2020, 6:31 PM
Thank you @clever-sunset-76585 that is very helpful. I like the idea of using the native deployment pipeline for that cloud. Down the road we will likely support multiple clouds. At this time, however, we are strictly on Azure.
c

clever-sunset-76585

01/31/2020, 6:32 PM
Great to hear, @delightful-truck-1268. As for helping you get setup with a CI system your team chooses, we have quite a few guides to help you integrate Pulumi into them here: https://www.pulumi.com/docs/guides/continuous-delivery/ If you have some feedback or question, please do not hesitate to reach out.
d

delightful-truck-1268

01/31/2020, 6:32 PM
Excellent! I was just reading that page
🙂 1
After chatting with the team, we are going to keep our provisioning separate from our deployment.
👍 1
p

powerful-football-81694

01/31/2020, 7:21 PM
@delightful-truck-1268 We also had the same discussion a while back and quickly came to the same conclusion. We let Pulumi handle infrastructure only, and use other Azure Pipeline tasks to deploy application code.
👍 1
d

delightful-truck-1268

01/31/2020, 7:22 PM
Thanks for chiming in @powerful-football-81694
p

powerful-football-81694

01/31/2020, 7:22 PM
anytime, always helpful to trade thoughts with others in the same space
3 Views