We’re thinking about using Puppet/Chef/SaltStack/another provisioning tool for application deployments. Why should I consider XL Deploy as well?
Our experience is that trying to use a provisioning tool for application deployment results in more challenges and glue scripting that often anticipated. Here are 4 of the main reasons why provisioning tools are often not the best choice for application deployment.
- Focus on individual machines. App deployments run across machines with interdependencies between individual steps. Adding this capability on top of provisioning tools is tricky.
- Little or no out-of-the-box logic for common application-tier operations, such as removing a server from a load balancer pool or adding configuration settings such as a datasource to an app server. Deploying with your provisioning tool usually means writing a lot of scripts and simply using your provisioning tool as a script runner.
- Hard to split Dev and Ops deliverables and responsibilities. In many organizations, developers deliver the “app slice” of the running system, while Ops are responsible for the “platform” component. This boundary is not present if the entire system is described in the provisioning tool.
- Poor or no integration with your Build and CI tooling.
OK, I understand. So how do you work together with Puppet/Chef/ other provisioning tools?
We heavily use and recommend provisioning tools for what they do best: provisioning individual servers! Many XL Deploy users use Puppet and Chef to set up the environment and install the middleware on which their applications will run. XL Deploy then deploys the app tier to those environments, and can also invoke the provisioning tools to create environments on the fly if desired.
Environments provisioning using Puppet/Chef/etc. can auto-register themselves with XL Deploy so the app tier can be deployed to them immediately, without any manual copy-pasting of IP addresses etc.
- Technical Note: 9 Reasons Why Provisioning Tools aren’t ideal for Enterprise Application Deployment
- On-Demand Webinar: Creating an IT Automation Platform with Puppet, Jenkins and XL Deploy
- Blog Article: Continuous Delivery with XL Deploy, Puppet, JBoss and VMware
- Video demo: Using XL Deploy with Puppet