The problem

Even in a world where DevOps best practices are followed, it is still all too easy for a developer's working environment to not match the final production environment.

For example, a developer using the macOS version of, say, PHP will probably not be running the same version as the Linux server that hosts the production code. Even if the versions match, you then have to deal with differences in the configuration and overall environment the version of PHP is running on, such as differences in the way file permissions are handled between the operating system versions, to name just one potential problem.

All of this comes to head when it is time for a developer to deploy their code to the host and it doesn't work; should the production environment be configured to match the developer's machine, or should developers only do their work in environments that match productions?

In an ideal world, everything should be consistent, from the developer's laptop all the way through to your production servers; however, traditionally this utopia has been difficult to achieve. Everyone has their own way of working and personal preferences--enforcing consistency across multiple platforms is difficult enough when it is a single engineer working on their own systems, let alone a team of engineers working with a team of potentially hundreds of developers.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset