Web Application Deployment: Package vs Cookbook



I was wondering if anyone had opinions on the correct way to deploy web
applications when using chef, specifically i’m interested in your opinion
on deploying web applications (to Windows unfortunately) via a package
manager like Chocolatey or using a deployment cookbook like the
artifact-cookbook by RiotGames.

I ask this because I am currently involved in an exercise where we are
developing a deployment tool chain to deploy our in house developed web

My current thinking is that deploying software through a cookbook like the
artifact-cookbook is better for the following reasons.

  1. All deployment and configuration steps are contained within a cookbook,
    no need to jump out to another tool eg chocolatey and write some powershell
    script to deploy my web app.
  2. It removes the dependency on another cog in the deployment tool chain
  3. By having all deployment steps executed by chef I can leverage notifies
    and subscribes events etc
  4. The artifact-cookbook computes a checksum of all deployed files and
    redeploys the web application if these drift from their desired state
    whereas chocolatey won’t.

Does anyone have an opinion as to why using a package manager like
chocolatey would be better then using the artifact-cookbook for deploying
web apps? Or would using the cookbook be the better option.

Thanks in Advance