Application Automated Deployments Make Your DevOps Process Run More Smoothly
The goal of most DevOps teams is to have a fully automated deployment process. But most still have some manual functions left in their deployment automation systems. These manual efforts are what many times lead to error-prone deployment processes. Automated application deployment increases productivity and mitigates the risks of manual deployments.
Consistent Deployment Automation for Even the Most Complex Environments
Automation solutions like Chef Habitat that decouple the application from the underlying infrastructure enable operations teams responsible for supporting a broad array of applications and environments to automate deployments across their entire IT estate.
Great Automated Application Deployments Begin with Great Application Definitions
By defining each step in the automated application deployment process during the build process Chef eliminates many of the manual hand off and points of failures that occur when delivering complex enterprise applications. Codified application definitions include build instructions, configuration instructions, relationships and application dependencies.
Flexible Automated Deployment Options and Support
Chef Habitat supports multiple automated deployment patterns. Applications built with Chef Habitat are published to and promoted through “channels” such as ‘dev’, ‘current’, ‘release’, etc. These enable per-channel automated deployments to make continuous delivery a snap!
Users can define the update strategy they would like to use during the provisioning processes. Supported deployment automation options and patterns include:
- Automated Rollback – return a system to its prior state
- Automated Roll-Forward – redeploy the prior version of a release
- At-once – upgrades all instances in parallel
- Rolling – sequence upgrades across a group
- Blue-green – maintain two identical production environments so that one can be used for final testing
- Canary – deploy to a subset of targets, after validation deploy then to the full group
- Feature-flag – control the rollout of new features to subsets of users
Benefits of Automated Application Deployments
Anything done manually can end up riddled with errors. Application deployments filled with mistakes can result in software that doesn’t work or has vulnerabilities that could lead to security problems. Chef’s automated application deployment solutions solve these challenges and enable application release teams to:
- View all their application deployments in one place
- Validate the status releases in real time
- Easily promote releases between environments
- Drive consistency and repeatability across all deployments
The Application Dashboard provides visibility and enables teams to validate the status of applications across environments.
Consistent Deployment Automation for all Applications and Environments
Windows and Linux Application Deployment Automation
Chef Habitat provides a single way to manage application estates including Linux, Windows and others. Instructions are defined in platform-native code (e.g. Powershell, Bash) but packaged with platform-agnostic commands and APIs, providing flexibility while reducing complexity. In addition, Chef Habitat can export apps to run in multiple environments without refactoring. This includes the ability to export to tarball, Docker, or directly to container registries (Azure Container Registry, Amazon Elastic Container Registry, or Docker Hub).
Custom, Legacy and COTS Application Automation
Chef makes it easy to deploy almost any application with minimal scripting. Whether you build applications from source or deploy vendor provided binaries, Chef Habitat can help! For in-house developed applications, Chef provides a library of supported artifacts that include common application dependencies such as .NET, jdk or gcc, and utilities like Maven, Gradle, or NuGet. For legacy and COTS applications, bundle your compiled app with dependencies and deployment instructions for maximum deployment flexibility.
Physical Infrastructure Deployment Automation
Chef Habitat uses a lightweight agent which enables it to deploy applications to almost any bare metal environment. Applications are bundled with their dependencies, removing their dependency on OS-provided libraries, and allowing even legacy applications to be deployed onto modern, supported platforms. Additionally, infrastructure configurations and audits can be automatically run on user-defined intervals via similar mechanisms, ensuring that the systems running those applications are continuously hardened and audited.
Virtual Infrastructure Deployment Automation
The process of deploying code to virtual infrastructure with Chef Habitat is functionally identical to deploying to physical infrastructure. Chef provides multiple integrations with virtualization platforms like VMware and multi-platform provisioning and management tools like Hashicorp Terraform to further ease management of virtualized environments.
Container Deployment Automation
Chef Habitat features multiple container ecosystem integrations to assist in orchestrating these workloads. In particular, Chef Habitat applications can be configured to automatically build new releases when changes are committed to version control, and upon a successful build, export to the desired container format and publish to an organization’s container registry without requiring any manual steps.
Public Cloud Resources Deployment Automation
Chef supports a number of integrations with public clouds designed to help clients deploy at scale into the cloud. These include integrations to support exporting artifacts into Container Registries and Kubernetes Services offered by AWS, Azure and GCP. Additionally, Chef provides resources for use in provisioning cloud-managed services like storage buckets and network devices.