Deploying the DINA Web system

markus.skyttner@nrm.se
Sep 16, 2014

How can we package DINA Web to simplify deployments on the Internet and/or on Intranets?

(System Administration)

Deployment complexity

Ordered by decreasingly complex system integration efforts required:

  1. Custom integration of source code taken from git into existing system
  2. Run installer (or install scripts) to install a set of “stand alone” modules, edit config files
  3. Start a Virtual Machine in a hypervisor such as Virtual Box or VMWare
  4. Just go to the online service and log in to use it

What is increasingly demanded is “low complexity” deployment options, “turn-key ready”.

Layers of the technology stack

  1. The source code itself (for developers, DIYs) implementing the information model (step 0)
  2. API documentation, tutorials (programming language agnostic)
  3. System integration packages with scripts/installers (for sysadmins)
  4. Bare bones reference implementation online of component at public URL (for testers)
  5. VMs - ISOs or Virtual Disk Images generated from assembly/build scripts (all deps are there)
  6. On-line publicly availabe web site (support, maintenance, backups, everything operational)

Vision for DINA Web system

Make use of virtualization - create a Virtual Machine that can be deployed using hypervisors like Virtual Box or VMWare.

This VM will assemble all components at various levels of the stack to create a turn-key appliance….

Initially this VM would be created with manual steps but eventually it could be built in an automated way.

Ensure a fully open source compliant environment at all levels of the stack.

Example: Bitnami

A popular option for open source server app deployments, http://bitnami.org/stacks

Offers all open source software pre-configured and turn key ready in three different deployment packages:

  1. Installer
  2. Virtual Machine
  3. Cloud service

Methods and Tools?

Method

  • Build a Virtual Machine, manually or in an automated way

Tools

  • Vagrant, Docker

Infrastructures

  • Museum intranet or extranet or Internetworked server with “hypervisor”
  • Linode, Amazon, Digital Ocean or other 3rd party cloud server

Differentiators for DINA Web

  • Clear focus on open source collections management
  • Long-term operations support
  • Long-term funding (?)
  • Stable open and distributed collaborative organizational structure