The cost and complexity of building a render farm has typically put it out of reach of all but the most well-funded productions.
But the advent of cloud computing has created a new marketplace where computers in massive data centers can be rented by the hour for a cost that fluctuates according to market demand.
In this workshop we will explore using Python scripting to construct a Blender render farm using Amazon Web Services (AWS).
Our render farm will be designed with three goals in mind:
- Low-cost – we will explicitly design the render farm to operate on low-cost AWS "spot" instances.
- Highly scalable – we will leverage on AWS SQS (Simple Queue Service) and S3 (Simple Storage Service) to scale our render farm to hundreds or even thousands of nodes without the bottleneck introduced by a controlling server.
- Easy to understand and customize – typical render farm software can be quite complex due to the networking and control aspects. By leveraging on AWS and the Boto library, we can implement the render farm software in high-level Python code that largely steers clear of lower-level networking complexity.
Source code available at https://github.com/jamesyonan/brenda.