Web Essentials Invests in Continuous Delivery
As everyone familiar with having to rebuild servers from scratch in order to begin a new web project knows, it is not a fun job. It also has significant cost and performance implications for projects.
Responding to this need, the Web Essentials infrastructure team from our Systems & Servers and QA departments started focusing on process automation in May 2014. The goal was to dramatically improve the development process for our web applications.
Our Progress
And we are making excellent progress. Developers are now able to work in a fully virtualized environment that is similar to the production environment and they are also able to see the transparency of the configurations installed and configured on their computers.
The development environment runs isolated on their machine so it does not affect their host system. It can be fully customized. Developers can now experiment more freely with different settings without risk that these changes affect their host system.
The new approach is easier to maintain and support. If something goes wrong we can easily re-build the environment with two commands (vagrant destroy & vagrant up).
We also focused on automating recurring actions within the Systems & Servers team. For that we introduce a simple yet powerful configuration management tool that helps us automate server configuration / SSH key management, project setup and maintenance.
Thanks to the configuration management tool we can now run actions like server updates or project setups with a single command and even in parallel on several servers. We also introduced a test framework to test the new infrastructure automatically. We can now see if something goes “through the roof” more quickly.
We will keep you posted on further developments we are working on. If you have questions about how we are doing this then please let us know, we would be pleased to share our experience!