AWS for M&E Blog

Manage budgets efficiently with budget events in AWS Deadline Cloud

If you’re a producer looking to use HAQM Web Services (AWS) Deadline Cloud Budget Manager to track spend and usage for your render farm, then this blog is for you.

AWS Deadline Cloud is a fully managed service that streamlines render management for teams creating computer-generated 2D/3D graphics and visual effects for films, TV shows, commercials, games, and industrial design. Tracking render farm costs is crucial and complex due to dynamic project variables such as timeline changes and creative iterations. The cost management features of Deadline Cloud (Budget Manager and Usage Explorer) streamline this process, offering cost tracking and spending controls to confirm projects stay within defined budgets.

Real-time budget tracking

To help make budget management more seamless, Deadline Cloud has integrated HAQM EventBridge events to bring automated near real-time notifications to budget tracking. Customers can receive automated notifications when approaching budget thresholds, eliminating the need for manual monitoring. Producers can proactively manage their project budgets and track spend, even when they are away from their computers. This blog describes how to use Deadline Cloud Budget Event features to set up notifications.

The solution: Budget events

AWS Deadline Cloud delivers budget threshold events directly to your AWS account default Event Bus. The system triggers alerts at key spending thresholds:

  • Standard intervals: 10%, 20%, 30%, 40%, 50%, 60%, 70%
  • Critical thresholds: 75%, 80%, 85%, 90%, 95%
  • Near-limit alerts: 96%, 97%, 98%, 99%, 100%
  • Any user-defined budget action thresholds

The notification intervals tighten as you approach your budget limit, providing more frequent alerts during critical spending levels. The system adapts to any budget adjustments you make and integrates with your Budget Actions, though notifications stop once you reach 100 percent utilization.

Setting up notifications

To help you get started, AWS Deadline Cloud provides an open source AWS CloudFormation template for setting up email and Slack notifications for your farm’s budget events.

The rest of this blog will walk you through how to use these open-source samples and setup notifications. You can use your email and/or Slack channels for tracking spending in render farms against budgets in near real-time using the EventBridge Budget events.

Prerequisites

This walkthrough requires the following:

  1. An AWS account
  2. Deadline Cloud CLI installed for AWS Deadline Cloud
  3. Deadline Cloud set up in your AWS account with at least one queue and fleet
  4. An email address to receive notifications
    • Optional: if you want to setup up email-based notifications
  5. A Slack channel ID and workspace ID where you want to receive notifications
    • Optional: if you want to setup up Slack integration
  6. The AWS Command Line Interface (AWS CLI) installed and configured with your AWS credentials
    • Optional: if you would prefer using AWS CLI to setup than AWS UI

Optional pre-requisite setup steps for Slack integration

If you are setting up notifications to Slack, you need to configure the Slack client with the following steps:

  1. Add HAQM Q Developer to the Slack workspace:
    • In Slack, on the left navigation pane, choose Automations.
      • Note: If you do not see Automations in the left navigation pane, choose More, then choose Automations.
Left navigation pane in the Slack workspace. Choose "More" followed by the "Automations" option to setup HAQM Q Developer.

Figure 1: Automations option in the left navigation pane in Slack.

  • If HAQM Q Developer is not listed, choose the Browse Apps Directory
  • Browse the directory for the HAQM Q Developer app and then choose Add HAQM Q Developer to your workspace.
Browse “Apps” Directory button in the Slack workskapce to add HAQM Q Developer.

Figure 2: Browse the Apps option to add HAQM Q Developer to the Slack workspace.

  1. Next create a Slack channel in your workspace.
Select option to “Create a new channel” from the “Add channels” button in the Slack workspace.

Figure 3: Create a Slack channel in workspace.

  1. Add HAQM Q Developer to the channel by typing /invite in the channel and click on Add apps to this channel.
Add HAQM Q Developer to your Slack channel by typing “/invite” in the chat and clicking “Add apps to this channel”.

Figure 4: Invite the HAQM Q Developer App to the Slack channel.

  1. Right click on the channel, click View channel details, copy and keep the Channel ID at the bottom. This will come handy later.
Right click on the channel and select “View channel details”. Copy the “Channel ID” at the bottom.

Figure 5: Right click menu on the Slack channel to view channel details.

  1. Open the AWS Chatbot console.
Go to HAQM Q Developer console(previously “HAQM Chatbot”) to configure Slack chat client.

Figure 6: HAQM Q Developer console to configure slack client.

  1. Copy and keep the Workspace ID from the configured Slack client. This will be needed later.
    • Note: On the authorization page you can choose to change the Slack workspace that you want to use with HAQM Q Developer from the dropdown list at the top right.
      • There’s no limit to the number of workspaces that you can set up, but you can set up only one at a time.
      • Choose Allow. Clicking “Allow” gives required permissions and clicking “Cancel”, cancels the operation.
Click “Allow” on HAQM Q Developer Authorization Page to give required permissions. Clicking “Cancel” cancels the operation.

Figure 7: Authorization page from HAQM Q Developer console to configure a Slack client.

Quick setup guide

1. Download the Budget Notification template

The first step is to download the open source CloudFormation template from the AWS Deadline Cloud public repository.

Click “Download” to download the CloudFormation template on deadline cloud’s open-source repo “deadline-cloud-samples”.

Figure 8: Open-source GitHub sample CloudFormation template from Deadline Cloud.

2. Deploy

Download and save the repository to a local file:

  • Apple OS: /Users/<your-username/Downloads/email_slack_integration_template.yaml
  • Windows: C:/Users/username/Downloads
  • Linux: /home/USERNAME/Downloads/

Depending on which you prefer, choose one of the following options to complete the rest of the steps, use either the AWS Management Console or AWS CLI.

AWS Management Console

To deploy the CloudFormation template through the AWS Management Console, follow these steps:

  1. Open the AWS CloudFormation console.
  2. Click on Create Stack and select With new resources (standard).
Create a stack in CloudFormation on the AWS Console, by selecting “Choose an existing template”, “Upload a template file” under “Template source” and choosing the template downloaded from previous step under “Choose file”.

Figure 9: Creating a stack using CloudFormation on AWS Management Console.

  1. Under Specify template, choose Upload a template file and select the CloudFormation template file saved from your local location.
  2. Click Next.
  3. On the Specify stack details page, provide values for the following parameters:
    • Stack Name: Choose a stack name for your stack (for example, DeadlineBudgetNotificationsIntegration).
    • Email: Enter the email address where you want to receive notifications.
      • Optional: if you want to setup up email-based notifications.
    • SlackChannelID: Enter the ID of the Slack channel where you want to receive notifications. You should have this handy if you followed the prerequisite steps.
      • Optional: if you want to setup up Slack integration.
    • SlackWorkspaceID: Enter the ID of the Slack workspace containing the channel. You should have this handy if you followed the prerequisite steps.
      • Optional: if you want to setup up Slack integration.
    • EventRuleSource: Keep it as aws.deadline (by default).
Specify stack details on AWS Console CloudFormation including “Stack name” and optional parameters (“Email” and/or “SlackChannelId” & “SlackWorkspaceId”) depending on which notifications channels are being setup.

Figure 10: Specify stack details for setting up email and Slack notifications.

  1. Click Next through the remaining steps, until you are able to finally click Create Stack to deploy the CloudFormation template.
  2. You might need to check your email inbox to confirm your subscription to notifications. The email subject line will likely be: AWS Notification – Subscription Confirmation.

AWS CLI

To deploy the CloudFormation template using AWS CLI, follow these steps:

  1. Open a terminal or command prompt, and navigate to the directory containing the template file you downloaded (for example, /Users/<your-username/Downloads)
  2. Run the following AWS CLI command to create the CloudFormation stack:
    aws cloudformation create-stack \
    --stack-name DeadlineNotificationIntegration \
    --template-body file://email_slack_integration_template.yaml \
    --parameters \
    ParameterKey=Email,ParameterValue=your-email@example.com \
    ParameterKey=SlackChannelId,ParameterValue=your-slack-channel-id \
    ParameterKey=SlackWorkspaceId,ParameterValue=your-slack-workspace-id
    
  3. Replace your-email@example.com, your-slack-channel-id, and your-slack-workspace-id with your actual values.
  4. Wait for the stack creation to complete. You can monitor the progress using the aws cloudformation describe-stacks
  5. You might need to check your email inbox to confirm your subscription to notifications. The email subject line will likely be: AWS Notification – Subscription Confirmation.

3. Verify setup

After a successful deployment and confirmation, you should start receiving notifications in the specified email and Slack channel whenever a budget threshold is reached in AWS Deadline Cloud. To confirm, perform the following steps:

  1. Login to your AWS account and navigate to AWS Deadline Cloud in the console
  2. You should already have a farm, fleet, and queue in AWS Deadline Cloud from the prerequisites
  3. Create a budget on the queue using instructions from AWS Deadline Cloud Create Budget documentation
  4. Submit a job to the queue using Submit jobs with the Deadline Cloud CLI instructions such that it crosses the budget defined (hint: start with a $1.00 budget and submit a basic job)
  5. Check your email and/or Slack for the notification

Clean up

If you do not wish to receive any further notifications, follow the following steps:

  1. Navigate to AWS CloudFormation in your AWS Account
  2. Search for the stack you created while following the blog
  3. Choose the option to Delete the stack and wait for the status to change to DELETE_COMPLETE
  4. This will delete all notification-based resources from your account
  5. If you wish to delete your AWS Deadline Cloud resources (farm, fleet, queue, budgets and more)—follow the Clean up your farm resources in Deadline Cloud documentation

Conclusion

In this blog we described how to use AWS Deadline Cloud EventBridge Budget events to track spending and manage budgets efficiently on a render farm. This included a detailed walkthrough of Deadline Cloud provided open-source samples to setup notifications for an end customer, such as a producer using these events published by the service. Notification channels currently supported are email and Slack. With these integrated actions producers can be prompt, so artists don’t have to worry about going over budget—allowing production work to go on smoothly.

Contact an AWS Representative to know how we can help accelerate your business.

Further reading

Sakshi

Sakshi

Sakshi is a Software Engineer at AWS, focused on solutions for creative content.

Vanessa Inadomi

Vanessa Inadomi

Vanessa Inadomi is a Senior Product Manager at AWS, focused on solutions for creative content.