Cloud Deployment

Cloud Deployment Concepts

The F.A.S.T. Cloud SDK server can be deployed on public cloud infrastructure. The following issues are address in this FAQ.

Content Deliver Network (CDN)

Cloud based apps can be run faster if certain static files are cached on a browser or provided by a CDN. Among external files, socket.io.client can be loaded directly from  external CDN. For Fovia's SDK, the minified version of foviaAPI.js can be served over a CDN. In addition, any \static images or artwork can also be served over CDN. The images will of course be streamed live.

Reverse proxy setup

The server requires sticky sessions in order to make sure that once connection is established between a client and same server.

Load balancer

The SDK requires a minimum of 8 cores and 8GB of memory  The actual number of cores per user depends on many factors, including the size of the dataset, complexity of the transfer function, number of viewports (and if the viewports are linked), segmentation, quality / performance settings, etc.  3D volume rendering and full-volume MIP require the most computational power, while MPR and 2D imaging are substantially less.  For detailed discussion regarding the  number of cores per users, please contact your Fovia representative. 

Running as a service on Linux (Ubuntu)

The following steps describe how to automatically launch the Fovia server  on Linux.
Add the following text to /etc/systemd/system/.service.  This assumes the deliverables are deployed in /home/ubuntu/websdk_ubuntu; update the below script if the path is a different location. 
Reload the configuration by executing sudo systemctl daemon-reload 
Start the service by using command below sudo systemctl start my_service.service
Enable the service to run automatically on startup by executing start sudo systemctl enable my_service.service.

[Unit]
Description=foviaweb - Launching Fovia Web server
After=network.target

[Service]
WorkingDirectory=/home/ubuntu/websdk_ubuntu/foviaserver
Environment=LD_LIBRARY_PATH=/home/ubuntu/websdk_ubuntu/foviaserver/:/home/ubuntu/websdk_ubuntu/foviaserver/nodeaddon::$LD_LIBRARY_PATH
Environment=DCMDICTPATH=/home/ubuntu/websdk_ubuntu/foviaserver/dicom.dic
Type=simple
User=ubuntu
ExecStart=/home/ubuntu/websdk_ubuntu/foviaserver/foviawebsdk
Restart=always

[Install]
WantedBy=multi-user.target