We exist as a very small Library Systems team at the University of New Brunswick Libraries, tasked with maintaining dozens of custom applications, Drupal instances, as well as required to meet a demand for constant new development.
Several years ago we faced the reality of an un-repayable level of technical debt. The burden from historic organically developed projects, a lack of responsible technical policy and our failure to adopt a standardized architecture had left our team unable to provide an acceptable level of service without a drastic change in how we worked, the tools we worked with, and the projects we developed. We wanted to solve this.
This session will present our evolution from the architecture and workflow of yesteryear towards a version controlled, CI centered workflow that creates, updates and tests our web assets as we work.
Presentation Overview:
- Our transition from a server-centered thought process towards treating web instances as 'applications'.
- The determination and implementation of a common server OS across Development/Staging/Live platforms.
- Provisioning of hardware from bare-metal with razor-server.
- Server level configuration management in Git and deploying to instances via bare repos.
- Our Thoughts in Choosing Drupal as a core architecture.
- 'One Button' Drupal project and core update deployments via GitHub and Jenkins.
- Post-deployment testing with CucumberJS.
- Local development spin-up with docker, Vagrant, Chef.
- Audit of changes and team notifications through Amazon AWS Tools.
- Adoption of Slack as a core communication tool.
List of Resources Mentioned in Presentation:
https://goo.gl/AkLI65