As you start to adopt DevOps and Continuous Delivery, you look for tools that can help you speed up development cycles, standardize infrastructure management, and automate software delivery.
Provisioning tools such as Puppet, Chef, SaltStack, and Ansible are popular choices for standardizing the configuration management process for infrastructure and environments. Provisioning tools automate infrastructure by creating and managing your environments, using scripts that you write.
However, if you are looking to implement Continuous Delivery, you’ll need to automate the process of releasing your applications and deploying them to different environments in the enterprise release pipeline. You need Application Release Automation (ARA) to automate the release process from code to delivery, and to automate deployment from development to testing to staging to production.
Application Release Automation integrates provisioning tools as part of the process and brings together all of the other steps and tools in your software delivery cycle to accelerate delivery and provide the enterprise-level scalability, reusability, and standardization that your business requires.
Provisioning environments, orchestrating releases, and deploying applications are all closely related parts of the software delivery process, so you might think that you can use one tool to do it all. But provisioning software won’t give you the foundation you need for successful DevOps at scale. Why not…?
You have to write many customized scripts to deploy each different application to each different environment. These scripts must be tested and forever maintained
A standardized deployment plan that is automatically generated, based on a model of your application and environment. The model determines and executes the right steps each time, so extensive scripts are not needed
Deployment patterns that are limited to what you script, with no “on-the-fly” pattern changes
Support for advanced patterns such as canary, blue-green, and rolling deployments
Simple “undo” actions or no rollback capability at all… unless you script it
Intelligent, automated rollback when things go wrong
No support for release coordination, with limited management for technical dependencies only
Scalable release orchestration and comprehensive dependency management
Visibility that’s limited to automated work in the area of provisioning and simple deployments, with no tracking of manual tasks in the process
Oversight and management of your real-world, end-to-end release process, including both manual and automated tasks
Limited status information that is only usable by technical users, with no automated risk assessment and no notification until something goes wrong
Visibility into release status across the pipeline, with built-in risk intelligence that provides proactive alerts when releases are in danger of failing
Basic reports that only reflect the provisioning phase of the pipeline and that don’t guide teams toward improvements
Reports that visualize the entire release process and provide goal-based insights for improving release efficiency and speed
Scripts to collect information beyond basic compliance data must be hand-coded and maintained
Easy-to-access, easy-to-read, comprehensive compliance data that is automatically collected
Basic user management and access control that requires technical expertise to set up
Granular access control that’s easy to configure and manage
Disparate processes and one-off scripts that don’t scale across the organization
Standardized processes that scale across teams and promote reuse
We started by looking at provisioning tools like Chef, Puppet, and Ansible to build out our DevOps plans. Once we saw XebiaLabs, we immediately understood the limitations we would encounter if we tried to repurpose provisioning tools and write scripts to automate deployments at scale. XebiaLabs met our needs for fully automated and self-service deployments, granular control over user roles and privileges, and integrations with existing tools.
- Jonathan Berdah, CTO of Customer Service and Operations at Ullink
Provisioning tools are perfect for automating your infrastructure and ensuring consistent configurations across your environments; you absolutely need one! But to scale DevOps, you need more. You need a platform that will let you take control of your release pipelines, so you know you’re getting full visibility across – and control over – your real-world software release and deployment process.
Sometimes, combining tools makes them more effective. In the same way a hammer and chisel together help you create a sculpture, a provisioning tool and the XebiaLabs DevOps Platform help you scale DevOps across your enterprise. You get the best of both worlds: automated environment provisioning and setup followed by seamless application deployment, with full visibility and control of your end-to-end release processes.
The XebiaLabs DevOps Platform delivered Speed up deployment time while greatly reducing errors and failed deployments, dependency management and self-scheduled…View Case Study
As an integrator of services across tools and companies, NetDespatch has a complex environment with a lot of moving parts and global reach. To stay on…
As an integrator of services across tools and companies, NetDespatch has a complex environment with a lot of moving parts and global reach. To stay on…View Case Study
If you’re planning on adopting a system provisioning tool for enterprise application deployment, you may want to reconsider. There are some compe...
If you’re planning on adopting a system provisioning tool for enterprise application deployment, you may want to reconsider. There are some compelling…View Post