Web Application Hosting
Purpose
HiPerGator Web Application Hosting a.k.a. 'PubApps' is not intended to be a generic web application hosting service. Use UFIT T4 CMS Hosting, UFIT Apache Hosting, or UFIT VM Hosting] for document or generic web application and service hosting.
PubApps started as shared infrastructure to enable 'public' web applications with significant computational and database needs and no user access restrictions to showcase existing research it has evolved to add secured Virtual machine based web applications, APIs, and services for internal use by UF research groups or for collaborations.
The purpose of PubApps is to provide the kind of 'long-tail' services and infrastructure that cannot be obtained or set up elsewhere or requires access to data/computational resources on HiPerGator and so on that can give UF Research Computing customers a competitive edge for top-tier research and presentation of research. Some examples of such needs include significant computational and database resources and/or application support, access to data on large parallel filesystems, setting up services connected to data-producing hardware on premises at the University to feed into workflows running on HiPerGator, creating interfaces for more efficient data processing for research groups.
PubApps Virtual Hosting Infrastructure
PubApps Virtual Hosting is an evolution of the original PubApps Shared Hosting. Using a standalone VM (Virtual Machine) is a good solution for when the project needs dedicated resources, has more stringent security requirements, requires access to Blue or Orange storage, and may be running applications that are created to serve their every component (web application itself, database server, other services) from a single machine, etc.
Virtual Machines
A PubApps VM has 1 vCPU, 4GB of RAM, and 20GB of disk space.
Filesystem Access
VMs can be set up with access to /blue/GROUP and /orange/GROUP by a special internal service user with membership in the GROUP setting up the project.
Operating System
VMs run RedHat Enterprise Linux as KVM instances.
Web Servers
PubApps Shared architecture has two webservers and all applications are reverse-proxied by UFRC Load Balancer for redundancy.
Database Server
PubApps Shared includes a database server with MariaDB, PostgreSQL, and MongoDB instances, so the resources on web servers and VMs would not be used for i/o-intensive database operations.
File Server
PubApps Shared includes an NFS file server where each project (group) gets their own directory tree as /data/GROUP.
Computational Resources
PubApps Shared includes compute nodes that allow web applications to perform computational work without overloading web servers. See Using PubApps Computational Resources for details on using slurm-drmaa python module to access those resources, which can also be accessed via standard SLURM jobs from the web servers similar to how jobs are submitted to HiPerGator.
Operating System
PubApps Shared runs on bare metal RedHat Enterprise Linux instances.
An overview of PubApps Shared infrastructure: