A Light-Weight DevOps Approach to Islandora
The DevOps methodology promotes clear lines of communication between software developers and production operations staff through the use of, among other techniques, a standardized code environment from development through staging/testing to production. Such environments enable a smooth and documented transition of code and issues across the developer/operations divide and enable rapid development, testing, and deployment of features to the end users.
LYRASIS uses a form of the DevOps methodology to structure its Islandora deployment from developer machines to production. Hallmarks of our approach include using the Git version control system for most aspects of the production stack (Fedora Commons, Drupal, Islandora, and its component modules) and software configurations (sed-driven configuration templates for the stack components and the use of the Drupal Features module to account for changes to the Drupal CMS). With these components in place, it is possible to create a new development, staging, or production environment in a short period of time that mirrors all of the other environments in use at LYRASIS. This structure also enables LYRASIS to cherry pick bug fixes and features from the stack components, develop new fixes and features to push to the upstream products, and track all of these in a transparent log.
This talk will walk through these techniques and show how the can be replicated at other sites.