Remote Workstations for the Discerning Artists

Netflix Technology Blog
5 min readbeginner
--
View Original

Overview

The article discusses the development of Netflix Workstations, which are remote workstations designed to provide artists with the necessary tools and resources to create visual effects and animations from anywhere. It outlines the technical infrastructure, including the use of Spinnaker for workstation pool management and SaltStack for software configuration.

What You'll Learn

1

How to utilize Spinnaker for creating workstation pools programmatically

2

Why SaltStack is essential for managing workstation configurations

3

How to optimize artist workflows with remote workstation setups

Prerequisites & Requirements

  • Understanding of cloud computing concepts
  • Familiarity with AWS services(optional)
  • Experience in managing software configurations

Key Questions Answered

How does Netflix manage the configuration of remote workstations?
Netflix uses Spinnaker to control the creation of workstation pools through pipelines, allowing for programmatic configuration based on artist needs. SaltStack is employed to manage software installations and configurations, ensuring that workstations are tailored to specific artist requirements efficiently.
What challenges did Netflix face in providing workstations to artists?
Initially, artists experienced long wait times for workstation setups due to just-in-time software installations. By caching popular configurations, Netflix significantly reduced the time it takes for artists to access their workstations, leading to improved satisfaction and productivity.
What technologies are used to support Netflix Workstations?
Netflix Workstations utilize Spinnaker for managing workstation pools and SaltStack for configuring software installations. Additionally, a gRPC Java Spring Boot control plane and a Golang agent manage and report on the lifecycle of the workstations, ensuring efficient operation and support.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Backend
Spinnaker
Used for controlling the creation of workstation pools.
Backend
Saltstack
Used for managing software configurations on workstations.
Backend
Grpc
Used in the control plane for managing workstation lifecycles.
Backend
Java Spring Boot
Framework used for the control plane managing workstations.
Backend
Golang
Used for the agent managing workstation lifecycle reporting.

Key Actionable Insights

1
Implement caching for common workstation configurations to reduce setup time.
By caching the most requested configurations, Netflix was able to provide artists with immediate access to their workstations, enhancing productivity and satisfaction.
2
Utilize Spinnaker and SaltStack for efficient management of cloud resources.
These tools allow for programmatic control and flexible configuration of workstations, which is crucial for meeting the diverse needs of artists working remotely.
3
Monitor workstation performance and health proactively.
By tracking the lifecycle and health of workstations, Netflix can address issues quickly and ensure that artists have a seamless experience.

Common Pitfalls

1
Failing to optimize workstation configurations can lead to long wait times for artists.
Initially, Netflix faced delays due to just-in-time software installations. By caching popular configurations, they were able to significantly reduce setup times.

Related Concepts

Cloud Computing
Remote Work Technology
Software Configuration Management