21
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

([email protected]) Gavin Morris ... of these tools (Virtualbox, Vagrant & Ansible) are open source, no cost and are currently used within the Islandora community. Using

Embed Size (px)

Citation preview

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

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

● 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

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
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
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
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

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

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 9: (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

http://www.ansible.com

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

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
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

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 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

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

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

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

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

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

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

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

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