Skip to content

Preferred Method of Deployment of APIs

  • Status: Accepted
  • Deciders: brishe
  • Date: 2024-09-27

Context and Problem Statement

Azure offers a couple methods of deploying a .net core application to their PaaS/FaaS offerings. The major pro of a Zip Deploy is simplicity from your IDE or single step in your deployment pipelines. The cons are environment differences if you are deploying to windows or linux and also it is harder to version zip deploy's outside of your build system. Docker Deploy pros are consistency, versioning,flexibility, and portability. The cons are learning curve, small performance overhead, legacy versions in image file, and you can have image size bloat if your image is not optimized.

Considered Options

  • ZIP Deploy
  • Docker Image Deploy

Decision Outcome

Chosen option: "Docker Image Deploy", because the complexities, size and learning curve can be handled in templates for deployment. The ability to package the image and have it running locally the same as it will run in Azure, the ability to easily version your deployments, choose the base image of OS and runtime version, and move your image across different services outweigh the cons.