Renderbot: Scalable and Affordable Blender Rendering in the AWS Cloud. No middleman.

Hi.

Rendering has always been the most boring part of working with Blender. Waiting aimlessly to see the result of your work, tying up your computer for hours or days on end…

In today’s world, one would think that there would be a simple way to render projects in the cloud. Several commercial render farms have cropped up. However, these operations are expensive, remove the actual rendering from your control, and demand access to your files.

Enter Amazon Web Services (AWS). AWS, launched in 2006, provides powerful servers on a per-hour rental basis via its Elastic Compute Cloud (EC2). Through the AWS Spot Market, you can consistently get access to render nodes featuring, for example:

-18 Intel Xeon E5-2666 v3 (Haswell) cores for around $0.25 - $0.45 per hour

-Four high-performance NVIDIA GPUs, each with 1,536 CUDA cores and 4GB of video memory for $0.35-$0.45 per hour

-One high-performance NVIDIA GPU with 1,536 CUDA cores and 4GB of video memory for $0.065-$0.10 per hour

James Yonan’s Brenda scripts (https://github.com/jamesyonan/brenda) laid the foundation for a way by which Blender
users can take advantage of Amazon’s infrastructure to render their projects. His talk at the 2013 Blender Conference provides some background on this project.

https://www.youtube.com/watch?v=_Oqo383uviw

Brenda was a great first step, but never got the kind of traction it deserved, especially considering the fantastic technical work James Yonan put into it. At this point, the code has not been updated in two years and lacks the streamlined setup process and ease of use that are necessary for widespread adoption.

Which is where Renderbot comes in. Renderbot is a framework built around James Yonan’s scripts that irons out the key issues that made Brenda unusable for all but the most determined users. It provides a user interface that is much easier to use than the all-command-line Brenda. It is absolutely free. You pay Amazon directly for the use of the hardware you rent.

Renderbot fully supports AWS GPU instances, and runs Blender 2.74. I plan to release a 2.75 version within the next week or two.

Renderbot’s goal is to give every Blender user the ability to create a personal render farm in the cloud. Without making you give your files to anyone. While Renderbot’s setup process is more involved than a point and click installation, once it is configured, you should be able to go from working in Blender to launching your personal render farm in minutes.

Let’s democratize cloud rendering.

I am happy to announce that Renderbot is now moving into open beta. See renderbot.net and click “Get Started” to view a startup guide.

Please direct any and all comments, critiques, and questions either to this thread or via email to [email protected].

This is very interesting. Thanks a lot for continuing to build upon Brenda, it really deserves more attention.

I will keep a close eye on this project, unfortunately I don’t have anything to render right now but I will test it out when I do.

Thank you (Jacques?).

I’m reading the manual, and it’s looking great!

Couple of questions:

  1. Is it possible (some easy way / instructions) to include some other software to the image file? For example external render engine eg. Luxrender?
  2. Can I use european area for the aws? In the psf it says specifically, that certain US area should be used?

Thanks for very detailed pdf. I’ll go and try it when I have the time.

No problem, someone needed to make sure that Brenda didn’t fade into oblivion. Please do try it and let me know if you encounter any bugs or have any feature requests.

Yes, that is my name. You’re welcome, and please try the system and leave feedback.

Hi vilvei. Thanks for the questions:

  1. At the moment, you would not be able to, as the AMIs (Amazon Machine Images) for the render nodes do not have the Luxrender scripts loaded. I will add Luxrender to the next release of the Node image (2.75). Once that is done, you should be able to specify Luxrender in your Blender settings, save the file, and get it rendered properly. The Renderbot code works with the settings in your file. If you have Cycles specified, it renders with Cycles. Once I add Luxrender, if that is the setting, it will render with that.

  2. Currently, Renderbot only works in us-east-1, although I plan to eventually make it work everywhere. So you would not be able to use the European area. However, thankfully, you really would never want to. I probably did not explain this well enough in the PDF, but the region you use has no effect on your render times. The render cluster that you create is independent, if that makes sense. Once it has the file, it renders it locally, so its distance from your personal computer is irrelevant.

Us-east-1 (the USA N. Virginia region) is (almost) always the cheapest in terms of the Spot Market. It also has the best availability and always gets the new hardware first. The only small effect might be a slightly slower upload speed for your file, but this would be offset by the greatly reduced cost.

I will add Luxrender, but are there any other render engines that you would find useful? I was thinking maybe Yafaray?

Thanks for answers! Good info. I’m on vacation atm but I’m going to try this next week. I have had my eye on Brenda before, but the AMI side has been unknown to me. To update Blender, one needs to update the AMI?

Luxrender has just released 1.5RC, and it has many amazing improvements, so I’m thinkin to shift from cycles. It’s great you support adding rendering engines, but I would also be interested to learn to build or update the AMI myself. I know my way around linux, but don’t know anything about making working image.

Few weeks ago I was thinking using Google cloud to bake/cache simulations, because they have machines 128 gigs of ram to rent by hour. Don’t have the prices here, but 8 core machine with lots of ram running 24h was just few dollars or so.

Thanks again!

This is a great project, thank you very much! I will definitly try it out next year when rendering a small project for uni.

+1 YafaRay and if you can add Nox Render, it would be great!

+1 to Yafaray being added.

Also Vray (if possible) would be great.

The AMI is like a “snapshot” of a running computer. Once an AMI is made, it can be launched onto any number of “instances”, which are the actual computers. It’s kind of like cloning a hard drive. So yes, to update any software on the render nodes, you would need to make a new AMI.

I am currently working on getting the 2.75a version up and running, which should be done in the next few days. I will then try to get some more render engines working. I’ll also try to add the ability to set your own AMI, that way if you want to build your own custom AMI you can specify it.

As for Google Compute, remember that the Amazon Spot Market is really what makes it very affordable. So comparing the “on-demand” prices (See the PDF for more info) doesn’t give the whole picture of the final cost to you. Overall AWS is very affordable, and given the amount of work already put into Brenda, it’s the easiest cloud computing service to use.

Please let me know if you have any more questions.

Ok I will look into supporting those two as well. Thanks for the info.

I’ll try to get those supported as well.

Thank you!

How is your work going? When will renderbot be available for other continents? (Europe and Asia)

This is awesome. It took me two weeks or so to install and understand how the brenda scripts work. For artists it is an increadibly frustrating process.
The reward of going through this frustrating process is increadible as well. Cheap render farms open possibilities to high quality animation without requiring the financial power of a studio.

One more interesting thing would be to have an easy way to calculate simulations such as fluid and smoke on AWS.

I have just released the 2.75a version of Renderbot. I am also working on integrating some of the other render engines people have requested (although Cycles with GPU support and Blender Internal are fully functional).

Although Renderbot should only be launched in the US Standard (us-east-1) region, this region is in fact available worldwide. You do not need to be in the USA to use this region. It is the cheapest region with the best availability and latest hardware, so you probably would have chosen it anyway. Your physical distance from the servers will not affect render times to any significant degree, as your project file is hosted locally on the render nodes. Please let me know if you have any other questions.

Thank you for your support. Brenda has always been an amazing project, but the learning curve is so steep that the time it takes to get it set up, with all the frustrations and testing involved, is often longer than it would have taken to just render the project locally. However, it is really the ultimate rendering solution once it is set up. I’m hoping that Renderbot will convert Brenda into an easier-to-use solution that does not compromise Brenda’s inherent flexibility and power.

I’ll take a look at baking, as it may be possible to add it to the Brenda scripts without too much difficulty.

This looks absolutly fantastic. I didn’t used Blender for rendering much in the past (more game asset modeling), but I will learn more about it. This opens a really good alternative for not leaving the pc on all over the night. Thanks a lot for making this possible!

I got one question. It is about the samples you got on your site. The prices on the benchmarks saying “sample cost per hour”. SO it means, I have to devide the hourly costs by the taken time? BMW = 0,004$ and Victor ~ 0,12$. Is that right?

Thanks again!