[Turbot On] Cost Savings

How to save big, by turning off workloads when not in use.

Ensure instances are stopped before they overrun your cloud budget. For workloads that don’t need to be running 24/7 (think development, testing, qa environments) scheduling resources to stop off hours can save over 70% of your cloud usage. This week we will look at some scheduling best practices and see how Turbot can help enforce them.

Traditional Workflow

We have all been guilty of spinning up a few VMs for testing in a sandbox account, getting side-tracked with another urgent priority and forgetting about it until they show up in your cloud bill weeks later. The problem can be easily solved with some scripting, but when will you prioritize a project like that over more pressing issues?

Get it done with Turbot

In Turbot, scheduling guardrails are readily available to control your cloud resource usage.  Therefore we can simply set existing schedule policies in a few clicks.  Turbot currently supports the following cloud services to be automatically scheduled for start/stop:

  • AWS 

    • EC2 Instances

    • RDS Clusters

    • RDS Instances

    • Redshift Clusters

    • WorkSpaces

  • Azure

    • Virtual Machines

  • GCP

    • Compute Instances

How to do it

Create a new policy:
Multi-cloud resource scheduling:

Turbot will use the resource’s region to determine the time zone; e.g. us-east-1 would be 8am EST, while an instance in eu-west-1 is 8am GMT.

‘Business Hours’ settings will start the instances at the beginning of the timeframe, then stop at the end. Useful for when you only need your workloads running during working hours.

Stopping each night or weekend ensures your resource is stopped until you are ready to start it again.  Very convenient for sandbox environments to ensure no resource hogs up your budget while you’re away.

Custom schedules are possible through the Schedule Tag policy as well.  e.g. “AWS > EC2 > Instance > Schedule Tag” can be set to “Enforce: Schedule per turbot_custom_schedule tag”.  

Your cloud instance can be tagged with the turbot_custom_schedule key, and a CRON (e.g. {"start": "* 8 * * MON-FRI"} or Text (e.g.{"start": "at 8:00am every weekday"}) expression to define the custom schedule.

Make it happen

See for yourself how automating resource scheduling is simply a few clicks to setup; the policy examples above are available as a Terraform template in the Turbot Development Kit (TDK).  If you need any assistance getting this configured in your environment please reach out to Turbot Support, and keep an eye on your inbox for another Turbot tip next week!