The BioAtlas uses Atlas of Living Australia (ALA) software, like an increasing number of national GBIF node portals. However, if you look under the hood, the Swedish BioAtlas is pioneering a new technology, Docker, to facilitate development and operation of the ALA system.
The ALA system consists of many components and runs on top of a number of other open-source software systems and services. Installing and running ALA can therefore involve a fair amount of work. Various issues may arise during installation depending on the local system environment, and it can be difficult for system administrators and developers to address these problems in a robust way.
To simplify deployment and development of ALA, the Swedish team decided to explore Docker, a technology that has become popular in the last five years. Docker packages software components and the systems they depend on into autonomous containers, which run in the same way regardless of the hardware environment. This allows a developer to build and run the system locally on his or her laptop while working on and testing new features, knowing that the system will run in exactly the same way when it is deployed on the server.
Dockerized software is shared on Docker Hub, a kind of App Store but for server software. Docker containers on Docker Hub are free for anyone to use since they are exclusively based on Free and Open Source Software (FOSS) components and licenses. Docker and Docker Hub provide quicker turn-around for delivering new functionality in complex web systems like ALA, and they greatly simplify the deployment of such systems.
– ‘Dockerizing’ ALA has involved more work than we had originally anticipated, says IT architect Markus Skyttner. Overall, however, the process has been smooth and we have learned a lot in the process. We have now completely ‘dockerized’ the core components of ALA, as well as several of the components in the Spatial Portal. The result of our work is available at Docker Hub.
– Looking forward, the Docker work will put the entire ALA community in a better position, he continues. System administrators will benefit from shorter deployment times, more reliable operation of the system, and faster system upgrades. The community of ALA developers will enjoy the ease with which they can test the integration of new components and features into the ALA system under realistic server conditions.
– Sooner or later it will be necessary to make major upgrades of the ALA technology stack, such as upgrading or switching a database engine. With the Docker version of ALA, such changes can be done in a fraction of the time they would take using traditional approaches, Markus Skyttner concludes.