The software has been designed to make it simple to create eLabs, automating many of the complex tasks involved in setting up secure IT infrastructure.
The eLab software can create an environment that is completely self-sufficient, and that requires no external services to operate. This is because the software can setup, not only the end-user services, but also infrastructure components needed for the secure operation of an eLab. Examples include components for managing user accounts, logs and backups.
Due to the use of a standards based approach, an eLab can be integrated into existing institutional infrastructure. This flexibility allows an eLab to be setup in a way that balances the need to support users across organisations with the need to meet IT policies and governance of a hosting organisation.
The service-oriented architecture of an eLab means that services can be distributed across different IT systems. This allows an eLab to be setup to optimise the underlying hardware or costing model. As an example, the Clinical Data Science Programme plans to make use of University IT servers for some eLab services and low cost Amazon EC2 spot instances for low cost Jupyter applications.
eLab supports collaboration, data management and data analysis. Different activities such as teaching courses or research projects can be given dedicated space in an eLab this can be customised and configured according to the needs of the users.
eLabs are designed to be customised and extended. Additional applications can be installed and configured as needed. Looking to the future this could also provide an environment where anonymised health data could be shared for teaching purposes.
These include the popular Jupyter web application, allowing users to create, run and share code alongside annotations in the form of Jupyter Notebooks. Other supported tools include R-Studio server and Visual Studio Code. Where a desktop environment is needed, Linux remote desktops can be provided.