Take your ParaPy design application to the cloud with secured access for a large user base.
ParaPy Hub 1.0
The ParaPy Hub enables you to make your design application securely available to groups of users via the cloud. The Hub gives them access to their own ParaPy environment and computational resources without bothering them with installation and maintenance tasks. Users can get their work done in their own workspaces on (your own) shared resources that can be managed efficiently by system administrators.
With our previously released WebGUI package, it was already easy to create a browser-based version of your application. Now with the introduction of the Hub you can put an application in production for a large user base via the cloud. Since your app was already browser-compatible, the next challenge was to make it available in the cloud and that is exactly what we did.
The Hub is compatible with popular commercial cloud providers (Azure, Google Cloud, AWS) and can also be run in different environments, such as your organization-local server infrastructure or your own laptop. This allows you to serve a pre-configured design app environment to any user in- or outside your organization. It is customizable and scalable and is suitable for small and large teams, academic courses, and large-scale enterprise infrastructures.
After configuring the ParaPy Hub, you can easily connect your current WebGUI application to it and serve multiple users simultaneously while maintaining the same application experience.
User-based app instantiation
The hub allows multiple users to get access to ParaPy models in their own private environments. It solves the problem of having a dedicated ParaPy service running for each possible user all the time; a waste of resources. Instead, the Hub will spawn a new environment on-the-fly upon request so that each user gets its own workspace. The Hub will also automatically clean up workspaces when they are no longer used.
The Hub currently supports two alternative forms of deploying in the cloud:
- Via Kubernetesusing Docker allowing it to be scaled and maintained for large groups of users. We provide ready-to-use files to set things up quickly.
- For smaller deployments via a single (virtual) machine, we have created the concept of process “spawners”. These spawners can be customized to suit your needs or you can simply use out-of-box spawner implementations that serve ParaPy apps through Flask (werkzeug) or Waitress.
Security
Your ParaPy design application is built upon your intellectual property and part of your commercial interests. Hence, it will need to be secured accordingly. That’s another thing that comes out-of-the-box with the ParaPy Hub package. The ParaPy Hub supports authentication and authorization through the widely adopted OAuth standard, also used by companies such as Amazon, Google, Facebook, Microsoft, you name them!
Furthermore, if you want to handle things differently, it is easy to extend the ParaPy Hub to, for instance, manage authorization through a database. We provide numerous examples of such extensions on our client portal.
Cloud management
You can manage the ParaPy Hub with customized settings. For example, set the time it takes for unused workspaces to be culled and cleaned up. The Hub supports auto-scaled Kubernetes clusters and has an approach to minimize start-up time for environments. In addition to scaling up, environments can also scale down when they are unused. This behavior is easily customizable for your own specific needs.
Any hub instance comes with an online dashboard that is accessible by the system administrator. This dashboard shows the status of the Hub (active workspaces, users) and allows your administrator to stay in control.
Want to know more?
The hub has been documented extensively. You can read more about the specifics on the ParaPy Hub page on our client portal (N.B. login with client account required). No access to our portal yet? Don’t hesitate to contact us for more information at [email protected]