![Page 1: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/1.jpg)
Deeper Dives - Automating Islandora Upgrations, Maintenance and Deploys
Gavin Morris - Common Media Inc. ([email protected])
source: https://commons.wikimedia.org/wiki/File:Hartmann_Maschinenhalle_1868_(01).jpg
![Page 2: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/2.jpg)
● Common Media is a web development and consulting firm headquartered in Massachusetts’ Pioneer Valley. As one of the approved Islandora service providers, we help institutions and their global communities preserve, manage and share digital assets in such areas as Science, Public Health and the Digital Humanities.
● Member of the Islandora DevOps Interest Group
● Speaker on the Islandora DevOps Panel: “Building Islandora” during Islandora Conference PEI - August 2015
![Page 3: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/3.jpg)
source © Universal Studios 1975 meme free of charge
![Page 4: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/4.jpg)
![Page 5: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/5.jpg)
![Page 6: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/6.jpg)
![Page 7: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/7.jpg)
What is Vagrant?
● Vagrant is a tool written in Ruby for building complete development environments. With an easy-to-use workflow and focus on automation:
○ Vagrant lowers development environment setup time
○ Increases development/production parity
○ Makes the "works on my machine" excuse a relic of the past.
● Acts as a higher-level wrapper around VirtualBox which allows the guest OS to be run in a “headless” manner fully emulating server environments
● Frees up user/dev to interact via command line or text editor for configurations instead of a graphical user interface (GUI)
Sources: Vagrant https://www.vagrantup.com/about.html
![Page 8: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/8.jpg)
Why Vagrant?
○ Rapidly create or replicate environments and sandbox platforms for testing and/or customization.
○ Allows developers to make code changes, upgrades or platform changes without penalty to their local environment or host operating system.
○ Developers can easily share environments with each other, external clients or additional contractors, teams etc .
○ Rapid restorations through snapshots preserve creative momentum through a faster feedback loop despite errors or unplanned changes
![Page 10: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/10.jpg)
What is Ansible?
● A free open-source software for configuring and managing servers over ssh and with Python installed
● Combines multi-server (node), agentless software deployment, ad hoc task execution, and configuration management.
● Uses YAML to express reusable descriptions of systems called playbooks and software packages called roles
● Modules work over JSON and standard output and can be written in any programming language.
Source: Wikipedia https://en.wikipedia.org/wiki/Ansible_(software)
![Page 11: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/11.jpg)
![Page 12: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/12.jpg)
Production Servers
Fedora Server
DB Server
Web Server
Staging Servers
Development Servers
Fedora Server
DB Server
Web Server
Fedora Server
DB Server
Web Server
Developer #1
Fedora Server
DB Server
Web Server
Fedora Server
DB Server
Web Server
Developer #1
Developer #2
Fedora Server
DB Server
Web Server
Developer #3
Fedora Server
DB Server
Web Server
![Page 13: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/13.jpg)
http://saltstack.com
https://www.chef.io https://puppetlabs.com https://www.packer.io
PACKER
https://cfengine.com/
![Page 14: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/14.jpg)
Benefits of CM tools for Islandora users
● Automation is a good ROI
○ All of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently
used within the Islandora community.
○ Using these tools can further reduce costs and errors
● Islandora can be easily be broken down into more manageable or modular parts by the cm scripting and provisioning processes.
● Planned Islandora deploys or upgrations can be substantially reduced from phased weeks or days to mere hours or minutes
● Islandora server maintenance is easily streamlined by cm tools’ “immutable” nature and Vagrant’s testing strengths.
![Page 15: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/15.jpg)
Additional Resources - Islandora Community● Vagrant up with Islandora Labs!
○ https://github.com/Islandora-Labs/islandora_vagrant
● Join the Islandora Dev Ops group!○ https://github.com/islandora-interest-groups/Islandora-DevOps-Interest-Group
● Submit more examples to the Islandora Deployments Github Repo○ https://github.com/Islandora-Labs/islandora_deployments
● Join the Islandora Community on Google Groups○ https://groups.google.com/forum/?hl=en#!forum/islandora-dev○ https://groups.google.com/forum/?hl=en#!forum/islandora
![Page 16: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/16.jpg)
Additional Resources - Vagrant
URLs:
● Vagrant (Windows, Linux, OSX) https://www.vagrantup.com/● Atlas (For Vagrant boxes) https://atlas.hashicorp.com/
Books:
● Vagrant: Up and Running http://shop.oreilly.com/product/0636920026358.do● Vagrant Cookbook https://leanpub.com/vagrantcookbook
![Page 17: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/17.jpg)
Additional benefits of Virtualization
● Reducing or consolidating physical servers saves energy (green) and cost
● Faster server provisioning
● Reduces hardware vendor lock-in
● Isolate applications from causing damage if issues arise
● Extend the life of older applications by not relying on obsolete hardware
![Page 18: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/18.jpg)
Additional Resources - Ansible
URLs
● Ansible (Linux & OSX only) http://www.ansible.com/● Ansible Documentation https://docs.ansible.com/● Ansible Galaxy (For Ansible Scripts) https://galaxy.ansible.com/● Ansible Best Practices http://docs.ansible.com/ansible/playbooks_best_practices.html● Intro to Ansible http://docs.ansible.com/ansible/intro.html
Books
● Ansible Up & Running http://shop.oreilly.com/product/0636920035626.do● Ansible for DevOps https://leanpub.com/ansible-for-devops● Learning Ansible https://www.packtpub.com/networking-and-
servers/learning-ansible
![Page 19: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/19.jpg)
Additional Resources - What is Packer?
● Packer is an open source tool for creating identical machine images for multiple platforms from a single source configuration.
○ Platforms include: Amazon EC2 (AMI), DigitalOcean, Docker, Google Compute Engine,
OpenStack, Parallels (PVM), QEMU (KVM or Xen), VirtualBox (OVF) & VMware (VMX)
○ https://www.packer.io/
● Packer employs preconfiguration files i.e. kickstart (Red Hat, Centos) and pre-seed (Debian, Ubuntu) and JSON templates to automate the build process
● A major advantage is that one can build the development (Vagrant) and production (VMX or AMI) base boxes in parallel and then provision via Ansible without GUIs or incidental manual steps
![Page 20: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/20.jpg)
Thank you!
![Page 21: (gavin.morris@commonmediainc.com) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using](https://reader031.vdocument.in/reader031/viewer/2022022515/5afe17dd7f8b9a8b4d8e7f1e/html5/thumbnails/21.jpg)
Questions & Comments
source: https://en.wikipedia.org/wiki/Letterpress_printing#/media/File:The_Caxton_Celebration_-_William_Caxton_showing_specimens_of_his_printing_to_King_Edward_IV_and_his_Queen.jpg