Well-Architected Framework
Use development environments
We recommend that your application environments (development, test, and production) be as similar as possible. Inconsistent environments, such as different operating systems, external dependencies like databases, and configurations, may impact your application's behavior. These inconsistencies are usually more prominent between development and production environments.
Vagrant lets you define a development environment in a configuration file called a Vagrantfile. The Vagrantfile describes all the information about the development environment, including the base operating system image, setup scripts, and network configuration. When a developer runs the command vagrant up
, Vagrant uses the Vagrantfile to build and configure a virtual machine, allowing you to reliably create consistent development environments.
Using Vagrant, developers can automatically create development and test environments that mimic production as closely as possible. When your production environment changes, you can update the Vagrantfile to update the development environments. Using a common Vagrantfile also lets you create consistent development environments between teams for common tooling.
HashiCorp resources:
Next steps
In this section of Define your processes, you learned about using consistent environments to improve deployment reliability. Use consistent environments is part of the Define and automate processes pillar.