|A Microservice-oriented Science Platform Architecture
|532, ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXX
|Russo, S. A.; Cupani, G.; Bertocco, S.; Molinaro, M.; Taffoni, G.
|A Science Platform (SP) is an environment designed to offer users a smoother experience when interacting with data and computing resources. Usually when referring to a SP, we assume a web-based environment built using Jupyter Notebooks and software containerisation, however also other approaches or definitions of SP may be feasible (e.g. full interactive desktop access).
In current SP architectures, the software available to the users is usually predefined and with little or not control by the users themselves. This means that it is almost impossible for a user to run a computing task using a specific software environment (i.e. a specific software version, a specific set of dependencies, or just a software not supported by the SP), and that from an administration prospective there is a strong overhead in supporting all the various (yet limited) software environments.
We tested several approaches to overcome these limitations, and we propose a solution based on changing the prospective and framing user tasks of the SP as microservices - independent and self-contained units. This enables great flexibility, security and sustainability, and empowers the users to choose, build and run their own software environments, which also improves reproducibility.
We successfully tested this architecture in the context of the ESCAPE project, at INAF, where we implemented the computing task microservices both as Docker and Singularity containers. The first impressions and user feedback are very promising, in particular for interactive desktop applications for data reduction and analysis.