Hardware specifications for Flow Production Tracking Enterprise Docker

Warning:

Local installations of Flow Production Tracking are no longer offered. This documentation is intended only for those with existing instances of Flow Production Tracking Enterprise Docker. Click here for a list of our current offerings.

Contents

The following are sample recommended and minimum server configurations.

Single server Flow Production Tracking setup

The specifications below address setting up all Flow Production Tracking components (including the database) on a single server. Since servers are not that expensive, we do recommend to buy the server with the highest specs you can afford.

Minimum

Flow Production Tracking cluster

The specs below address splitting out operations to separate servers. There are multiple parts of the Flow Production Tracking System that can be sliced apart. The most common operation is to split up the database from the main application server. Another common operation is to have many application servers, allowing more requests to be processed at the time. If you use transcoding a lot, it can also be isolated to its own server.

If you feel that you have reached a point where your single server setup isn’t coping with the load, please contact support and we will help you identify a setup that can suit your needs better.

The specs below address splitting out operations on separate servers. Note that these specs often exceed the above Single Server specs, primarily because by the time clients reach the point where they need to split duties out between servers, it is highly likely that application usage has advanced to the point that scaling up is necessary.

Database server

The key design strategy here is that the database server is going to need large amounts of I/O and memory. CPU is also important.

Docker host server(s)

*App servers are primarily CPU-bound. Our application is single threaded and easily scales horizontally.

*

Transcoding server

Transcoding operations are CPU intensive, and can be parallelized, highly benefiting of multi-threading.

Note:

Disk usage will vary greatly by client; this is especially dependent on usage of media preview files in the pipeline. Database usage affects disk usage somewhat, but not to a large degree (for example, a two year feature animated film project with 400 users created 1.1 TB of media preview files and 30 GB of database data).*

Media storage

Media size can grow very quickly and we therefore recommend to plan accordingly. Any NAS/SAN technology can be used to store your media. The ability to extend storage capacity is very important. We therefore recommend using a network protocol like NFS to store your media. We also recommend using media storage that is dedicated to Flow Production Tracking. If the server is used for other purposes, make sure to monitor your server closely to ensure performance is acceptable. Flow Production Tracking will be writing and reading a lot from the media storage, and latency will impact your experience. Media manipulation are I/O intensive.

NFS server

For more information about tuning NFS for performance, see the following post: http://nfs.sourceforge.net/nfs-howto/ar01s05.html.

Software

Please see Setup guide for Flow Production Tracking Enterprise for recommended OS setup and for required software packages and libraries.

FAQ

Can virtual machines (VMs) be used to host Flow Production Tracking?

Yes, although we do not recommend using a VM to host the DB Server. It is fine to use a VM for any other components.

There are many caveats against running a database on a VM. Performance is one. Databases are complex software that make heavy usage of memory and disk. The heavier the usage, the faster the performance fall off will be, especially regarding disk I/O. Data integrity is another. Extra care is required when taking backups and spinning up instances of the VM.

PostgreSQL themselves are positioning against running databases on a VM. The main reason again is the high level of complexity involved in the set up of that VM in order to make sure that performance is not impacted, and that data integrity is guaranteed. Unless you are very confident in the capacity of your studio to administer database on VMs, you should go bare metal for your database server.

If you think that VM is a good choice for your studio, please discuss the matter with our Support Team first.