DevOps Peach

FinOps Foundations · Manage the FinOps Practice · Lesson 4 of 4

Automation, Tools and Services

Automate what repeats — scheduling non-production, cleaning up orphans, tag remediation, reports and alerts — with native schedulers, serverless functions and policy engines like Cloud Custodian, and pick FinOps tools by the data and decisions they support.

Practice interactively →

Manual FinOps does not scale past a few teams. Anything you do every week should become a script, a policy or a feature of a tool.

flowchart LR
  EV["Schedule or event"] --> ENG["Automation engine"]
  ENG --> SEL["Select resources by tags and filters"]
  SEL --> ACT["Action: notify, tag, stop, delete"]
  ACT --> LOG["Log and report savings"]
  POLICY["Policy as code"] --> ENG
  %% step EV: A cron schedule (every evening) or an event (instance launched) starts the automation.
  %% step POLICY: Rules live in version control: what to look for and what to do.
  %% step ENG: Engines include EventBridge Scheduler with Lambda, Instance Scheduler, Azure Automation and Cloud Custodian.
  %% step SEL: Resources are selected by tags, age, state and metrics — for example env=dev, running after 20:00.
  %% step ACT: Start gently: notify, then tag, then stop, and delete only with a grace period.
  %% step LOG: Every action is logged and its savings are reported so the value is visible.

Good candidates for automation

Task Example
Schedule non-production Stop env=dev instances at 20:00, start at 08:00 on weekdays
Orphan clean-up Unattached volumes older than 14 days → snapshot, tag, delete after notice
Tag remediation Copy team from the account mapping or Auto Scaling group to new resources
Reports and alerts Weekly team showback in chat; anomaly alerts to the owner channel
Commitment monitoring Alert when coverage or utilisation drops below target

Cloud Custodian example

policies:
  - name: stop-dev-after-hours
    resource: aws.ec2
    filters:
      - "tag:env": dev
      - State.Name: running
    actions:
      - stop

Run it on a schedule (custodian run -s out policy.yml) or in Lambda mode on events.

Choosing tools

Type Examples Strength
Native consoles AWS Cost Explorer, Azure Cost Management, GCP billing reports Free, accurate, one cloud
Open source OpenCost, Cloud Custodian, Infracost, FOCUS tooling Flexible, code-friendly
FinOps platforms Multi-cloud allocation, recommendations, workflows Cross-cloud views, less building

Choose by which decisions the tool supports and whether it reads your data (FOCUS support helps), not by the number of charts. The FinOps Foundation lists certified platforms and service providers.

Traps: automations that delete without notice (one bad filter can remove production); buying a platform before allocation rules exist; and automating savings nobody tracks, so the value stays invisible.

Practice interactively →