-
Notifications
You must be signed in to change notification settings - Fork 6
PhenoMeNal Portal Infrastructure
The PhenoMeNal Portal is also branded as PhenoMeNal Gateway, that allows users to deploy their own Cloud Research Environment on different cloud platforms. At the moment, the PhenoMeNal Portal now supports OpenStack, Amazon Web Services, and Google Cloud Engine. More cloud platforms will be supported in future release, for example, Microsoft Azure.
The PhenoMeNal Portal now consists a number of components which has been containerised in docker containers and has been running in Kubenetes cluster.
Kubernetes (commonly referred to as "K8s") is an open-source system for automating deployment, scaling and management of containerised applications. It aims to provide a platform for automating deployment, scaling, and operations of application containers across clusters of hosts. It supports a range of container tools, including Docker. The current PhenoMeNal Kubenetes cluster is running Docker container tool.
In order to set up the Kubenetes cluster, the helm deployment settings are required to be defined. https://github.com/phnmnl/helm-charts is the helm deployment setting for the PhenoMeNal Kubenetes cluster.
The main frontend for Portal + App Library + Wiki is a web interface that is publicly hosted at https://portal.phenomenal-h2020.eu/. Its development version of the PhenoMeNal portal is hosted at https://portaldev.phenomenal-h2020.eu/
- Languages used: Angular 2+, HTML5, CSS3
- Code Base Repo: https://github.com/phnmnl/ng2-phenomenal-portal
- Container Repo: https://github.com/phnmnl/container-phenomenal-portal
The main frontend for Portal + App Library + Wiki is a Single Page Application (SPA) developed by using a Javascript framework called Angular (Formerly known as Angular 2+) supported by Google. This Javascript framework enables fast application development, fast web page rendering, taking advantages of using Model-View-Controller concept and it is ideal for responsive application development.
The Main Frontend provides a web interface that allows users to deploy Cloud Research Environment, searching for tutorials and applications within the PhenoMeNal Portal by making AJAX calls to the backend components of the PhenoMeNal Portal. The Backend components includes the following AAP, App Library PHP middleware, User and Audit database, Github Wiki Caching middleware.
AAP stands for Authentication and Authorisation Protocol which is developed and maintained by Elixir. It is a Single Sign-On facility that allows users to register and login to the PhenoMeNal Portal with their existing accounts. At the moment, AAP Supports institutional account, ORCHID, LinkedIn, and Google account.
- Languages used: Java 8, Spring Boot, Spring MVC
- Code Base Repo: TBA
- Container Repo: N/a
APP is hosted in the PhenoMeNal Kubenetes cluster. It must be hosted within the Elixir cloud infrastructure. The PhenoMeNal Portal will redirect the users to the APP web interface where users can login with their own accounts. Once a user was logged in, the user would be returning back to the PhenoMeNal Portal main frontend with a valid JWT token (JSON Web Token) which can be used to trigger API calls for Cloud Research Environment deployment.
Funded by the EC Horizon 2020 programme, grant agreement number 654241 |
---|