Creating and Managing a QA Focused Production-Replicating Environment for Complex Sites


Friday, May 19th, 14:00

Modern Web applications are complicated and might include one or more APIS, JS based front ends, databases, remote file storage, monitoring applications such as Fusion Reactor, multiple repositories and myriad other factors. Virtual platforms can be resource intensive and difficult for developers and IT technicians let alone other members of the team who might not be as technical. In this session we'll look at how one Ortus Team put together a QA environment which includes…

  • A JS based front end
  • Two Coldbox APIs
  • A SQL Server database
  • Automated testing
  • Monitoring with Fusion Reactor
  • …and the entire thing can be managed from CommandBox. We'll look at how the team created a Linux based docker-ized environment where any of the various sites in the environment can easily pull from any branch in their repo to facilitate testing before the code makes its way into Production or even the Development repos. While not a hands on class, we'll walk through some of the technologies used to create the site including:

Linux: spinning up a new instance in the cloud, connecting to it using SSH, installing updates and software

Docker:installing Docker and some basic commands, using Docker-Compose to build a collection of containers.

Using Docker images such as the Ortus Command Box image to get a site up and running quickly Handling issues like Environment variables in a situation where each site is completely "wiped out" when a new branch is pulled and more.

This is by no means a thorough exploration of all of these technologies but hopefully will "de-mystify" those technologies enough to show how they all contributed to creating a productive and valuable tool the entire team uses.