Hi everyone,

Over the last year we’ve been very busy re-engineering ftrack’s back-end and cloud infrastructure. A lot has changed, so we’d like to take this opportunity to give you an update on what’s been going on and how it will benefit your daily ftrack experience.

Background

Until last year we were using a range of different cloud service providers. These were Amazon, Digital Ocean and Linode, depending on which data centers were closest to our clients or based on other requirements that the client may have. For each customer we deployed a Virtual Private Server. However, although easy to deploy and set up, it didn’t scale well in terms of manageability or cost.

Things changed last year when we got the opportunity to join Google Cloud Platform for Startups. Together with the awesome team at Google and their compute engine services we set out to build a brand new cloud infrastructure that could provide an even better experience for our users, particularly within the realm of media & entertainment.

google-cloud-platform

Our main focus points for this massive task were:

  • Scalability
  • Performance
  • Reliability
  • Flexibility
  • Cost

All of these points share a common goal: providing you with a better ftrack experience.

Now you can get automatic scaling of services during high load for better performance; automatic failovers and self healing of services when something goes wrong; easier and faster rollout of new features and fixes. Each of these features mean less time spent by us on server management, and more time spent on delivering improved features and fixes. If you’re working in media & entertainment, that means an enhanced creative experience too.

With the help from Google we built our new scalable cloud infrastructure using Docker containers running in kubernetes. Let’s dive deeper into these topics and explain what they mean.

Docker

Docker is an open source project that makes it easier to deploy and run applications as Linux containers in a lightweight, portable and self sufficient way. One can think of it as a virtual machine, but with only one process running inside of it, making it very lightweight. Docker enables us to package containers as version controlled images that are ready to be used instantly.

docker_logo

At ftrack we like docker a lot, as it allows us to build, package and run each ftrack service independently of each other. And by ‘service’ we mean ‘micro-service’, which for us are things like our Python web server, the event server, media encoding, and workers that generate PDFs or notifications.

Kubernetes

Kubernetes is a new open source system from Google. It can be used to run Docker containers in a cluster of servers, but abstracted as a single server with lots of CPU and memory that scales easily. Kubernetes provides an easy way to organise the containers and connect them to each other without having to worry about ports and IP addresses.

kub

With Kubernetes we can easily scale out and share resources much more efficiently, providing a better experience for everyone. It also makes it easy for us to set up health checks and ensure ftrack is ready to serve your needs 24/7. If not then it can heal itself instantly without our interference.

Security

Security is always our number one priority – and is becoming an increasingly important factor in the world of M&E. Even though resources are shared more efficiently, your data is still separated from other customers by several layers of security. Have questions about security? Reach out to our developers at [email protected] and they will be happy to dive into details.

Enterprise customers

In the long term we aim to provide docker images and guides on how to run local installations of ftrack in kubernetes. That will mean our enterprise customers running ftrack on premise can get the same kind of scalability as our cloud hosted users.

Summary

Using our new infrastructure, we can spin up new services in seconds; we can get a clear overview of performance; we can quickly mitigate issues with automatic failovers; and we’ve reduced our cloud hosting cost by almost 50%.

On top of that, Google is constantly adding new features to its toolset, which makes everything simpler for us to manage – not to mention giving us more time to focus on our core business.

We looking forward working together with the Google Cloud Platform team to evolve our cloud infrastructure for the future, better establishing it for media & entertainment and other creative industries across the world.

Leave a Reply