Development environments19 October 2016 · Filed in Development Infrastructure
After many years of working with developers, one of the most common problems faced by the ops and support team is code that doesn't work on production systems.
This is often caused by subtle differences in the developers machine. Software versions of components, different install locations and different shared libraries. All these can have an impact on code that works fine on one machine or server, but won't install or run on another.
Following our structure and automation, we can provide a machine that looks exactly the same as test and production. Allowing the developers access to the tools needed to build their own machine, via Jenkins for example, everyone is empowered to build and develop knowing that everyone on the team is on the same page and has the same environment or environments to work with.
Some customers have a number of environments to develop and test systems in. Often these are:
development - often shortened to DEV. This can be virtual machines on the developers own computer.
testing - TEST, to pass the initial automated test, (yes those can be automated too, allowing your testers more time to diagnose)
integration - This is usually a bigger environment and has links to other systems in the business to test integration between components and systems.
UAT - User acceptance testing. Where user journeys are tested end to end.
Performance - Load testing occurs at this level, ensuring that the servers can cope with high load, stress testing all the components and can test the scaling code. This helps defend against the slashdot effect.
Preprod or staging - the final environment before production. allows for dry runs of installation or roll out of new code.
Production - Live, The final stage and where your customers really see the efforts of the team.
With so many environments it is important to have version control every step of the way and a release process to enable everyone involved to understand where they stand and how their efforts will effect the overall position of the company.
Please contact us about this and any projects you are thinking about.Tags: code deployment · dev Previous Post: Why you need elastic applications Next Post: tech - AWS, Puppet and Docker