Run ftrack on AWS

This guide assumes that you are setting up ftrack as a self-hosted solution but wish to use managed AWS services for the heavy lifting in terms of infrastructure.

 

Overview

ftrack is packaged as Docker containers that run in Kubernetes and has a few external dependencies such as a database and file storage. When running ftrack on AWS, it is recommended to use the following services if you want as much of the underlying infrastructure managed by AWS as possible:

  • EKS – Elastic Kubernetes Service.
  • RDS – Relational Database Service, can be used to host MariaDB.
  • S3 – Cloud Object Storage, can be used to host all media files.
  • ALB – Application Load Balancer, used as the entry point to the ftrack service.

ftrack works well with these services together and, if configured correctly, will require less maintenance and provide higher availability.

EKS

Amazon EKS simplifies the deployment, management, and scaling of Kubernetes clusters, reducing the need for manual patching, scaling, and maintaining Kubernetes control planes. EKS can be configured to run worker nodes across multiple Availability Zones (AZs) to provide higher availability and fault tolerance. This ensures that if one AZ becomes unavailable, your workloads can continue to operate in the other zones without disruption.

RDS

Amazon RDS can be used to host MariaDB, providing a fully managed database service with automated backups, patching, and failover support, which reduces manual maintenance. RDS can be configured to have a standby replica ready in a different AZ, and it will automatically handle failover if there are problems in the primary zone. Additionally, RDS provides Performance Insights for monitoring database performance, and it offers flexible storage options, including scalable storage and Provisioned IOPS for demanding workloads.

S3

Used to store media files, leveraging Amazon's durable, scalable, and cost-efficient object storage service. You can implement lifecycle management to reduce storage costs by activating intelligent tiering and, therefore, reduce storage costs for old assets that are not frequently accessed. S3 also provides S3 Transfer Acceleration, which is supported by ftrack and improves upload and download speeds for users in remote locations by routing traffic through optimized network paths.

ALB

The Application Load Balancer (ALB) serves as the entry point to your ftrack services, automatically distributing incoming traffic across Kubernetes pods. ALB offers key features such as SSL termination, which offloads encryption/decryption tasks from your application, and health checks, which ensure that traffic is only routed to healthy instances, providing high availability and fault tolerance. The ALB can be configured automatically via the ftrack helm chart using annotations.

Logging and monitoring

Amazon CloudWatch Logs is the primary service for capturing logs generated by your ftrack environment running on AWS. It helps you monitor, store, and access logs from various AWS services (like  EKS, RDS, and ALB) and the ftrack application itself.

For Kubernetes-based deployments (like ftrack) on EKS, you can use Fluentd to stream logs from your ftrack containers to CloudWatch Logs. These agents can capture logs directly from your containerized ftrack application and send them to CloudWatch making sure audit logs are always available and searchable when needed for debugging or compliance purposes.

Was this article helpful?
0 out of 0 found this helpful

Articles in this section

See more