Whitepapers

9 Reasons Why Provisioning Tools Aren’t Ideal for Enterprise Application Deployment

Issue link: https://read.uberflip.com/i/1254098

Contents of this Issue

Navigation

Page 0 of 1

1 WHITEPAPER www.digital.ai 9 REASONS Why Provisioning Tools Aren't Ideal for Enterprise Application Deployment Provisioning tools such as Puppet, Chef, SaltStack, and CFEngine are popular options in the configuration management space, but are they really suitable for enterprise application deployment? For many enterprise environments, application deployment is a bridge too far for system provisioning tools. Maybe it can be done, but it's going to take a lot of scripting and workarounds to hook everything together. If you're about to adopt one of these tools, you might want to stop and consider these factors first. DEPLOYMENTS MUST BE ORCHESTRATED ACROSS MULTIPLE MACHINES This holds for the majority of existing enterprise applications. It simply isn't the case that an application is deployed to a single machine, or a set of identical "clones," but system provisioning tools focus on that machine level. 1 MOST APPLICATIONS ARE NOT IDEMPOTENT System provisioning tools tend to operate on the basis that if it doesn't work the first time, you can just "run it again." The problem is that most applications are not written that way. A typical application might, for example, create a schema the first time it is run, which won't necessarily be removed if the deployment fails. How will the application handle it if the schema is already present when the deployment is retried? 2 PLATFORM AND APPLICATION MAY HAVE SEPARATE LIFECYCLES Is the development team really authorized to provide a full description of everything they require on the machines? What about legal and regulatory requirements, external development organizations, unforeseen support issues, or even simply a lack of expertise on the part of developers when it comes to properly configuring systems? 3 NOT DESIGNED FOR RAPID APPLICATION LIFECYCLE System provisioning tools are designed to keep a system in a known versioned state. That's an operations approach, rather than a development approach. When you incorporate application deployment into your system provisioning, the application version is part of the system configuration. Creating new system configuration versions every time a new commit is made will quickly become unmanageable. 4

Articles in this issue

Links on this page

view archives of Whitepapers - 9 Reasons Why Provisioning Tools Aren’t Ideal for Enterprise Application Deployment