Presenting the Living Atlases Toolkit

Jun-2021

Vicente J. Ruiz Jurado
LA Technical Coordinator
also taking care of GBIF.es infra

Atlas of Living Australia

Free/Libre and Open-Source Software for the aggregation and delivery of biodiversity data

w:400

ALA Install

  • The official software to automatic deploy and maintain Living Atlases (LA) portals
  • In other words: this code installs automatically the ALA software
  • ala-install has 112,000 lines of code
  • this is ≈ 10,000 admin tasks to deploy a small LA portal
  • we avoid manual installation tasks
  • In summary: let the machines do the work

https://github.com/atlasoflivingaustralia/ala-install

Ansible

ala-install uses ansible to automatize their deployments.

Using a metaphor:

  • ansible is like a "kitchen robot",
  • and ala-install is like our "recipes book" that describes with code how to install and maintain each LA Portal services automatically.

Some advantages

  • You can deploy your LA portal with the same deployment code that ALA and other LA portals use
  • ... and this is independent of the size of your LA portal

But "recipes" needs "ingredients"

Each ansible "recipe" (in fact they are called ansible playbooks), needs your local "ingredients" (these are the ansible inventories).

There are some text files that describes your LA portal with info like:

  • domain, organization name, contact email,
  • the servers you want to use for each service, and how your services urls will look like,
  • passwords and security info

Ansible inventories

In other words, with that inventories you define how ala-install will install your LA portal (or upgrade it in the future).

So each LA portal needs their custom ansible inventories, and with so many configuration options is not an easy task.

We developed other tools

From the LA community we have developed previously other tools to help with these customizations like:

among other tools...

But this was not enough

  • The deployment is still difficult for newcomers
  • It requires some GNU/Linux deployment environment with all the tools (like ansible) well configured
  • There are many options
  • It requires some sysadmin knowledge
  • It's not so clear how to maintain or upgrade a LA portal

Introducing the

This toolkit facilitates the
installation, maintenance and monitor
of Living Atlases portals

How?

With an user friendly interface we put all these parts together in an up-to-date environment to perform the common installation & maintenance tasks of a LA portal.

This LA toolkit is like a big assistant of the different phases and tasks of the deployment and maintenance of a LA portal

w:90%

For new and existing LA portals

Lets see it in action...

Basic Portal Creation Demo

  • Name, domain & other urls
  • Your servers & services definition

✔️ easy configuration
✔️ contextual help

Defining better your LA portal

  • Tips, advices and common errors
  • Connectivity (IP address, etc)
  • Shared web terminals

✔️ easy SSH configuration

Deployment

  • ansible & ala-install based
  • deploy stats, history, repeat previous deployment commands
  • ≈ 1 hour to deploy a basic LA portal

✔️ periodic upgrade checks & related recommendations

Use other LA portals as inspiration

Monitor your portal

  • Status of your portal (health and errors)
  • Access easily to different services and admin areas

✔️ Detect problems with one click

We use it in GBIF Spain too

Other Goals

  • Self documentation: it's full of contextual help and informative tip panels
  • Education and training: The toolkit tries not to occult the internals of a LA portal management, so people interested can tweak and do the same tasks manually from the command line
  • manage several portals with one tool (useful for testing and production environments)

Roadmap

Developed since Jan-2021, we want to continue:

  • finishing some functionality, like branding deploy and other post-deploy tasks (in progress)
  • LA Hubs support (in progress)
  • Service redundancy support (in progress)
  • SSL support via letsencrypt (in progress)
  • adding support to the new LA pipelines (GBIF/ALA data processing) and other common production tasks

Links

Demo: http://toolkit-demo.l-a.site/
Try it: https://github.com/living-atlases/la-toolkit/

LA Community: https://living-atlases.gbif.org/

Thanks indeed

vjrj@gbif.es
vjrj@comunes.org
https://github.com/vjrj

Technical note: this html presentation was generated from markdown with the command: marp --html Presenting-the-La-Toolkit.md

Few to add to the well know ALA software

27 LA portals and growing

ala-install is maintained by ALA and part of the LA community, so if something fails during deploy, probably it fails for others portals too

and a big etcetera of configuration options

so the same questions, doubts, errors and mistakes can be repeated on each new portal