Skip to content

Commit f2cdda0

Browse files
andrewm4894claude
andcommitted
Reduce Fly.io demo costs by 50% through optimization
- Scale down VM from performance-4x to performance-2x (4→2 vCPUs, 8GB→4GB RAM) - Disable high-frequency metric batches: Prometheus (5min), Netdata (10min), Netdata_httpcheck (10min) - Keep 10 lower-frequency demo batches running for good feature coverage - Expected cost reduction: ~€150/month → ~€75/month 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent ef5520b commit f2cdda0

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

fly.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ primary_region = "ord" # Chicago - you can change this to your preferred region
5353
destination = "/data"
5454
source = "anomstack_data"
5555

56-
# VM configuration - Performance-optimized for responsive demo
56+
# VM configuration - Cost-optimized for demo (disabled high-frequency jobs)
5757
[[vm]]
58-
memory = "8192" # 8GB RAM needed for consolidated Dagster + dashboard + daemon
59-
cpu_kind = "performance" # Dedicated performance CPUs for better responsiveness
60-
cpus = 4 # 4 performance vCPUs for handling multiple services
58+
memory = "4096" # 4GB RAM for consolidated Dagster + dashboard + daemon
59+
cpu_kind = "performance" # Dedicated performance CPUs for better responsiveness
60+
cpus = 2 # 2 performance vCPUs (scaled down after disabling Prometheus/Netdata)
6161

6262
# Auto-scaling
6363
[scaling]

profiles/demo.env

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@ ANOMSTACK_MODEL_PATH=local:///data/models
1919
# https://docs.dagster.io/deployment/run-monitoring#general-run-timeouts
2020
ANOMSTACK_MAX_RUNTIME_SECONDS_TAG=900
2121

22-
# Enable Netdata
23-
ANOMSTACK__NETDATA__INGEST_DEFAULT_SCHEDULE_STATUS=RUNNING
24-
ANOMSTACK__NETDATA__TRAIN_DEFAULT_SCHEDULE_STATUS=RUNNING
25-
ANOMSTACK__NETDATA__SCORE_DEFAULT_SCHEDULE_STATUS=RUNNING
26-
ANOMSTACK__NETDATA__ALERT_DEFAULT_SCHEDULE_STATUS=RUNNING
27-
ANOMSTACK__NETDATA__CHANGE_DEFAULT_SCHEDULE_STATUS=RUNNING
28-
ANOMSTACK__NETDATA__DELETE_DEFAULT_SCHEDULE_STATUS=RUNNING
22+
# Disable Netdata (high-frequency, CPU intensive)
23+
ANOMSTACK__NETDATA__INGEST_DEFAULT_SCHEDULE_STATUS=STOPPED
24+
ANOMSTACK__NETDATA__TRAIN_DEFAULT_SCHEDULE_STATUS=STOPPED
25+
ANOMSTACK__NETDATA__SCORE_DEFAULT_SCHEDULE_STATUS=STOPPED
26+
ANOMSTACK__NETDATA__ALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
27+
ANOMSTACK__NETDATA__CHANGE_DEFAULT_SCHEDULE_STATUS=STOPPED
28+
ANOMSTACK__NETDATA__DELETE_DEFAULT_SCHEDULE_STATUS=STOPPED
2929
ANOMSTACK__NETDATA__LLMALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
3030

31-
# Enable Netdata Httpcheck
32-
ANOMSTACK__NETDATA_HTTPCHECK__INGEST_DEFAULT_SCHEDULE_STATUS=RUNNING
33-
ANOMSTACK__NETDATA_HTTPCHECK__TRAIN_DEFAULT_SCHEDULE_STATUS=RUNNING
34-
ANOMSTACK__NETDATA_HTTPCHECK__SCORE_DEFAULT_SCHEDULE_STATUS=RUNNING
35-
ANOMSTACK__NETDATA_HTTPCHECK__ALERT_DEFAULT_SCHEDULE_STATUS=RUNNING
36-
ANOMSTACK__NETDATA_HTTPCHECK__CHANGE_DEFAULT_SCHEDULE_STATUS=RUNNING
37-
ANOMSTACK__NETDATA_HTTPCHECK__DELETE_DEFAULT_SCHEDULE_STATUS=RUNNING
31+
# Disable Netdata Httpcheck (high-frequency, CPU intensive)
32+
ANOMSTACK__NETDATA_HTTPCHECK__INGEST_DEFAULT_SCHEDULE_STATUS=STOPPED
33+
ANOMSTACK__NETDATA_HTTPCHECK__TRAIN_DEFAULT_SCHEDULE_STATUS=STOPPED
34+
ANOMSTACK__NETDATA_HTTPCHECK__SCORE_DEFAULT_SCHEDULE_STATUS=STOPPED
35+
ANOMSTACK__NETDATA_HTTPCHECK__ALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
36+
ANOMSTACK__NETDATA_HTTPCHECK__CHANGE_DEFAULT_SCHEDULE_STATUS=STOPPED
37+
ANOMSTACK__NETDATA_HTTPCHECK__DELETE_DEFAULT_SCHEDULE_STATUS=STOPPED
3838
ANOMSTACK__NETDATA_HTTPCHECK__LLMALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
3939

4040
# Enable Github
@@ -112,13 +112,13 @@ ANOMSTACK__POSTHOG__CHANGE_DEFAULT_SCHEDULE_STATUS=RUNNING
112112
ANOMSTACK__POSTHOG__DELETE_DEFAULT_SCHEDULE_STATUS=RUNNING
113113
ANOMSTACK__POSTHOG__LLMALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
114114

115-
# Enable Prometheus
116-
ANOMSTACK__PROMETHEUS__INGEST_DEFAULT_SCHEDULE_STATUS=RUNNING
117-
ANOMSTACK__PROMETHEUS__TRAIN_DEFAULT_SCHEDULE_STATUS=RUNNING
118-
ANOMSTACK__PROMETHEUS__SCORE_DEFAULT_SCHEDULE_STATUS=RUNNING
119-
ANOMSTACK__PROMETHEUS__ALERT_DEFAULT_SCHEDULE_STATUS=RUNNING
120-
ANOMSTACK__PROMETHEUS__CHANGE_DEFAULT_SCHEDULE_STATUS=RUNNING
121-
ANOMSTACK__PROMETHEUS__DELETE_DEFAULT_SCHEDULE_STATUS=RUNNING
115+
# Disable Prometheus (very high-frequency, CPU intensive - ingests every 5min)
116+
ANOMSTACK__PROMETHEUS__INGEST_DEFAULT_SCHEDULE_STATUS=STOPPED
117+
ANOMSTACK__PROMETHEUS__TRAIN_DEFAULT_SCHEDULE_STATUS=STOPPED
118+
ANOMSTACK__PROMETHEUS__SCORE_DEFAULT_SCHEDULE_STATUS=STOPPED
119+
ANOMSTACK__PROMETHEUS__ALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
120+
ANOMSTACK__PROMETHEUS__CHANGE_DEFAULT_SCHEDULE_STATUS=STOPPED
121+
ANOMSTACK__PROMETHEUS__DELETE_DEFAULT_SCHEDULE_STATUS=STOPPED
122122
ANOMSTACK__PROMETHEUS__LLMALERT_DEFAULT_SCHEDULE_STATUS=STOPPED
123123

124124
# Enable earthquake

0 commit comments

Comments
 (0)