[{"data":1,"prerenderedAt":615},["ShallowReactive",2],{"blog-en-\u002Fen\u002Fblog\u002Fobservability-without-datadog-startup-stack":3,"blog-en-surround-\u002Fen\u002Fblog\u002Fobservability-without-datadog-startup-stack":603},{"id":4,"title":5,"author":6,"body":7,"category":583,"cover":584,"date":585,"description":586,"draft":587,"extension":588,"lastReviewed":584,"meta":589,"navigation":590,"path":591,"readingTime":592,"seo":593,"sitemap":594,"stem":595,"tags":596,"__hash__":602},"blog_en\u002Fen\u002Fblog\u002Fobservability-without-datadog-startup-stack.md","Observability without Datadog: the alternative stack that fits the Brazilian budget","HeroCtl team",{"type":8,"value":9,"toc":567},"minimark",[10,14,17,20,25,28,31,34,37,40,43,47,50,57,63,69,75,78,82,85,91,97,103,109,115,121,127,130,134,137,140,143,146,150,153,159,165,171,177,181,184,190,196,202,208,214,217,221,224,230,236,242,248,251,255,258,261,264,267,270,274,277,280,283,286,290,449,452,456,459,465,471,477,483,487,493,499,505,511,517,523,529,533,536,539,542,553],[11,12,13],"p",{},"The first Datadog bill that exceeds four digits in reais usually arrives at a predictable moment. The team deploys another pair of services, the agent's auto-discovery starts counting containers as billable hosts, someone enables APM on the Node backend, someone else enables RUM on the frontend to investigate page slowness, and at month-end the company card is debited almost R$2k. The founder looks at the spreadsheet, adds Vercel, adds managed database, adds S3, and discovers that infrastructure — once a discreet line in the budget — now eats the equivalent of half a senior salary per month.",[11,15,16],{},"The dominant reaction is to grit your teeth and pay. Datadog is, without irony, the best product on the observability market. The dashboards are pretty, the integrations work first try, the APM shows the slow query with depth few competitors reach, the alerting is flexible enough to model SLO policies without becoming an internal project. For a Series B company with revenue above US$5 million annually, the bill of US$2k or US$5k is negligible against the engineering time it buys. The choice is rational.",[11,18,19],{},"For a Brazilian startup of five to ten servers, billing between R$30k and R$500k per month, the same choice is financially devastating. This post maps the concrete alternative — which tools to use, which server to run on, how much RAM it consumes, how much it costs in storage — to deliver 95% of the same result for about 10% of the price.",[21,22,24],"h2",{"id":23},"why-datadog-won-the-market","Why Datadog won the market",[11,26,27],{},"You can't honestly talk about alternatives without first explaining why the leader is where it is. Whoever has operated observability at any scale knows: the \"build it yourself\" version has always existed, and yet Datadog grew to US$2 billion in annual revenue. There are real reasons for that.",[11,29,30],{},"The first is that the UX set a standard. When you open a Datadog dashboard for the first time, the information hierarchy makes sense right away — host map, service map, traces, logs, all connected by links that cross contexts without friction. Whoever operated observability in the 2010s with Nagios, Cacti and Munin knows that's not free. It was expensive product engineering, over a decade.",[11,32,33],{},"The second is the integration library. Postgres, MySQL, Redis, Kafka, RabbitMQ, ElasticSearch, Mongo, Cassandra, dozens of cloud providers, more than six hundred ready targets. Each integration comes with reasonable default dashboard, suggested alerts, relevant metrics collected without you having to read obscure documentation.",[11,35,36],{},"The third is accurate APM. Official tracers for popular languages do automatic instrumentation that captures the right level of detail. The slow query in Postgres appears with execution plan. The slow p99 endpoint appears with the stack trace that caused the slowness. That level of visibility requires continuous investment in each runtime.",[11,38,39],{},"The fourth is flexible alerting. Simple threshold is easy in any tool. Alerting that understands seasonality, that crosses multiple series, that applies anomaly detection on sparse series — that's what Datadog does well because it invested a decade calibrating.",[11,41,42],{},"For a company that can pay, hiring Datadog is the right decision. For you who can't, it's worth understanding exactly where the bill explodes before looking for an alternative.",[21,44,46],{"id":45},"the-four-vectors-where-the-bill-explodes","The four vectors where the bill explodes",[11,48,49],{},"The Datadog pricing page looks civilized when you look from afar. US$15 per host per month at entry, US$23 on the professional plan, US$31 on the enterprise plan. Five hosts times US$23 gives US$115 — cheap. The problem is that's not the bill that arrives.",[11,51,52,56],{},[53,54,55],"strong",{},"Per-host charge with containers counting as hosts."," On some plans, each container counts as an additional host for billing purposes. The startup that runs four services in three replicas across three servers thinks it has three hosts — but the bill counts thirty-six telemetry points. The policy has changed several times in recent years and even those who read the documentation carefully miss the estimate.",[11,58,59,62],{},[53,60,61],{},"Custom metrics charged per metric per minute."," Each custom metric above the included limit has individual cost. A well-intentioned team adds business metrics — orders per minute, average cart value, conversion per funnel — and the bill goes up US$50, US$100, US$300 depending on tag cardinality. High cardinality in custom metrics is the silent fee nobody anticipates.",[11,64,65,68],{},[53,66,67],{},"APM Pro as upsell."," Basic APM comes included, but the features you actually want to use — continuous profiler, code-level visibility, deployment tracking, extended trace retention — are in APM Pro, with additional price per host.",[11,70,71,74],{},[53,72,73],{},"Logs ingestion plus extra retention."," Logs price is in two dimensions: ingestion (how much comes in) and retention (how long it stays). Five servers generating 1 GB of log per day ingest 150 GB per month. Retaining 30 days is one price tier; retaining 90 days is another; retaining a year is another. And searching old logs costs per query on some plans.",[11,76,77],{},"Add Network Performance Monitoring, Real User Monitoring, Database Monitoring, Synthetics, CI Visibility — each one is upsell on top of upsell. The final bill of a startup with five to ten servers typically sits between US$200 and US$400 per month, that is, R$1k to R$2k at R$5 per dollar. R$24k per year is the equivalent of one month of senior person's salary.",[21,79,81],{"id":80},"the-alternative-stack-with-specific-names","The alternative stack, with specific names",[11,83,84],{},"Good news: the open-source observability industry has been mature for a long time. It's not a 2015 scenario with Nagios and Munin. Tools today cover each vertical with real quality.",[11,86,87,90],{},[53,88,89],{},"Metrics",": Prometheus for collection and storage, Grafana for visualization. The combination has fifteen years of production in thousands of companies, is the de facto standard, and most modern applications already expose metrics in compatible format.",[11,92,93,96],{},[53,94,95],{},"Logs",": Loki, from the same team that maintains Grafana. Query syntax is similar to Prometheus's, which reduces cognitive load for those who already use one. Per GB stored, it's typically 90% cheaper than Datadog Logs because it indexes only labels, not the full content.",[11,98,99,102],{},[53,100,101],{},"Traces",": Tempo (Grafana) or Jaeger or SigNoz. The three speak OpenTelemetry, so the application doesn't get coupled to the choice. Tempo integrates more cleanly with Grafana; Jaeger is the veteran with own UI; SigNoz combines traces, metrics and logs in a single product.",[11,104,105,108],{},[53,106,107],{},"APM",": SigNoz is the most mature direct competitor today, with OpenTelemetry-native instrumentation. OpenObserve is a newer alternative with modern architecture. Pyroscope covers continuous profiling — the type of CPU and memory visibility that Datadog APM Pro sells expensively.",[11,110,111,114],{},[53,112,113],{},"Errors and exceptions",": self-hosted Sentry is the robust option — same tool as the SaaS version, without the cost. GlitchTip is a lighter alternative, drop-in compatible with Sentry SDKs, great for small teams.",[11,116,117,120],{},[53,118,119],{},"Uptime monitoring",": Uptime Kuma covers 95% of cases with five-minute installation. Statping is a similar alternative.",[11,122,123,126],{},[53,124,125],{},"Synthetic checks",": Checkly has a generous free tier and covers the case \"run test in browser from various regions\" without you needing to maintain check infra. For those who prefer homegrown, Playwright scripts in GitHub Actions solve it.",[11,128,129],{},"The stack above covers all the verticals Datadog sells. The honest question is where each piece falls short in the comparison.",[21,131,133],{"id":132},"what-each-component-does-and-what-it-doesnt","What each component does and what it doesn't",[11,135,136],{},"Prometheus and Grafana cover 90% of what Datadog dashboards cover. The real difference is in integrations: Datadog has one-click integration for six hundred targets, while Prometheus typically requires writing exporter or using a common exporter — postgres_exporter, redis_exporter, blackbox_exporter, node_exporter. For popular targets, these exporters exist and are well maintained. For exotic targets, you write.",[11,138,139],{},"Loki covers logs in 95% of web cases. The trade-off is indexing: Loki indexes only labels, not the full content. For rich log search with complex full-text terms, ELK or OpenSearch fit better. For search by service, host, log level, status code — which is what 95% of teams really do — Loki is cheaper and simpler.",[11,141,142],{},"SigNoz and Tempo cover APM with quality. The trade-off is polish. The slow query profile in Datadog APM has more shine — years of UX on the views that matter. SigNoz is close and improves every release; in common use cases (slow endpoint, slow query, error spike) it covers comfortably. For forensic profile investigation of a rare transaction, Datadog still wins on refinement.",[11,144,145],{},"Self-hosted Sentry is practically identical to Sentry SaaS — same team maintains both. You install the stack via Docker Compose, spend fifteen minutes configuring, and have error tracking in production. Costs zero in license and two to four hours per month of maintenance.",[21,147,149],{"id":148},"the-concrete-architecture-in-a-small-stack","The concrete architecture in a small stack",[11,151,152],{},"For a startup operating five to ten servers, the architecture fits on a single dedicated observability server. Four gigabytes of RAM solves it.",[11,154,155,158],{},[53,156,157],{},"Observability server (4 GB RAM)",": Prometheus consumes around 1.5 GB with five-to-ten-node series. Grafana sits at 200 MB. Loki at 1 GB with reasonable retention. Tempo at 500 MB. Plenty of room left for Alertmanager (50 MB) and some exporter or additional collector.",[11,160,161,164],{},[53,162,163],{},"Storage for metrics",": five servers exposing about 100 metrics per second each, retained for 30 days, generate approximately 10 GB of time series database. Common SSD disk handles it — typically R$30 per month of additional storage on most providers.",[11,166,167,170],{},[53,168,169],{},"Storage for logs",": five servers producing 1 GB of log per day, retained for 30 days, are 150 GB. The cheap solution is to point Loki to a S3-compatible backend — Cloudflare R2 charges US$0.015 per GB per month with no egress fee, that is, US$2.25 per month for 150 GB. Backblaze B2 is equivalent. AWS S3 works but has egress that hurts if you read a lot; for observability, R2 or B2 are the obvious choice.",[11,172,173,176],{},[53,174,175],{},"Trace sampling",": 100% trace is usually waste. Sampling of 1% to 5% for normal traces, 100% for traces containing error, 100% for specific critical endpoints. Reduces volume by an order of magnitude without losing the signal that matters.",[21,178,180],{"id":179},"honest-setup-steps-without-copy-paste","Honest setup: steps without copy-paste",[11,182,183],{},"The difference between blog tutorial and real operation is knowledge of where steps break. Here goes the sequence that works, with the real pitfalls.",[11,185,186,189],{},[53,187,188],{},"Step 1: Prometheus in container."," Spin up Prometheus pointing the scrape config to nodes running node_exporter. Each node needs node_exporter running — also in container, port 9100. Initial configuration is twenty lines of YAML. Pitfall: dynamic service discovery requires integration with the truth source of hosts. For small cluster, static list resolves; for cluster that grows, integration with the orchestrator API.",[11,191,192,195],{},[53,193,194],{},"Step 2: Grafana in container."," Add Prometheus as datasource, import three to five ready dashboards from Grafana Marketplace — node_exporter full, container metrics, blackbox uptime are good starting points. In fifteen minutes you have dashboards better than much Datadog setup I've seen in production.",[11,197,198,201],{},[53,199,200],{},"Step 3: Loki plus Promtail (or unified Grafana Agent) on each node."," Promtail reads local logs and pushes to Loki. Minimum configuration is about thirty lines — define log paths, labels, and Loki endpoint. Pitfall: application log output in free format forces you to write parsing regex. It's worth investing an afternoon to standardize logs in structured JSON before configuring parsing.",[11,203,204,207],{},[53,205,206],{},"Step 4: OpenTelemetry SDK in the application."," Each language has its official SDK. You initialize at application bootstrap, define the Tempo (or SigNoz collector) endpoint, and gain automatic distributed tracing for HTTP, database, cache. Adding custom spans at critical points is trivial.",[11,209,210,213],{},[53,211,212],{},"Step 5: Alertmanager."," Receives alert rules from Prometheus and routes to Slack, email, PagerDuty or Discord webhook. Classic pitfall: the first month you'll have alert fatigue from poorly calibrated threshold. Reserve one hour per week in the first two months to refine rules.",[11,215,216],{},"Total time for someone without prior experience: four to eight hours to have the entire stack functional, plus two to three afternoons refining dashboards and alerts in the next two weeks. At R$200 per engineering hour, total investment is R$1.2k to R$2.5k. Replaces R$1k to R$2k per month of Datadog indefinitely. Payback in one to two months.",[21,218,220],{"id":219},"where-self-hosted-falls-short","Where self-hosted falls short",[11,222,223],{},"Honesty here is the test of who's selling the alternative in good faith versus who's selling the simplified version of reality.",[11,225,226,229],{},[53,227,228],{},"Deep Database Monitoring."," Datadog DBM has detailed visibility into Postgres and Redis, with execution plan per query, lock waits, slow query analysis. postgres_exporter covers basic health metrics — connections, transactions, replication, cache hit ratio. Deep slow query analysis in open source requires pgBadger or manual scraping of pg_stat_statements, with much more work than clicking \"Enable DBM\" in Datadog.",[11,231,232,235],{},[53,233,234],{},"Real User Monitoring."," Datadog RUM measures load time perceived by real users, distributed by geography, browser, device. The combination of Sentry with Plausible covers part of the space, but with gaps. If detailed RUM is a central part of the product strategy, Datadog wins today.",[11,237,238,241],{},[53,239,240],{},"Network Performance Monitoring."," Datadog NPM has packet visibility in complex networks, especially useful in architectures crossing multiple zones. There's no practical self-hosted equivalent for the general case.",[11,243,244,247],{},[53,245,246],{},"Global synthetic monitoring."," Datadog runs checks from over thirty regions. Self-hosted requires you to run checks from multiple regions — viable but laborious. Checkly covers the gap with an accessible intermediate tier.",[11,249,250],{},"Summary: 95% of observability cases that a startup needs are covered. The 5% that's left out are enterprise features rarely used in a startup.",[21,252,254],{"id":253},"concrete-cost-compared","Concrete cost compared",[11,256,257],{},"Worth doing the spreadsheet in reais, with numbers you can reproduce.",[11,259,260],{},"Datadog on five hosts, with APM Pro, 100 GB of logs per month, 30 custom metrics and active RUM: about US$400 per month, or R$2k at R$5 per dollar.",[11,262,263],{},"Self-hosted stack on a dedicated VPS with 4 GB of RAM (R$80 per month at most Brazilian providers), plus log storage in S3-compatible (R$30 per month for 150 GB on R2 or B2), plus estimated maintenance time value (two hours per month at R$200 per hour, R$400 per month): R$510 per month.",[11,265,266],{},"Monthly difference: R$1,490. Annual difference: R$17,880. In three years, R$53k — equivalent to two months salary of a senior person, or to the cost of acquiring a medium customer in B2B sales.",[11,268,269],{},"Important: maintenance time is a pessimistic estimate. Teams that standardize the setup typically spend less than one hour per month after the initial investment. In three years, maintenance compounds but doesn't become a continuous project.",[21,271,273],{"id":272},"how-heroctl-fits","How HeroCtl fits",[11,275,276],{},"The orchestrator exposes cluster metrics in Prometheus format by default. There's no proprietary agent to install on each server — the cluster exposes aggregate on a single endpoint, and Prometheus scrapes directly.",[11,278,279],{},"Logs follow a single embedded writer architecture. Instead of each container producing log that needs to be collected by an agent on each node, the cluster centralizes capture and exposes a query interface. That reduces operational overhead — you don't assemble an agent on each server.",[11,281,282],{},"The OSS stack (Prometheus, Grafana, Loki, Tempo, Sentry) runs as jobs on the cluster itself. You submit the Prometheus manifest like any other service, and the orchestrator handles health check, restart, rolling update deploy and routing. Additional operational overhead: zero.",[11,284,285],{},"For a startup already running HeroCtl, enabling complete observability is an afternoon. The cluster already provides all the plumbing — only deciding the dashboards is left.",[21,287,289],{"id":288},"comparison-datadog-vs-new-relic-vs-self-hosted-oss-stack","Comparison: Datadog vs New Relic vs self-hosted OSS Stack",[291,292,293,312],"table",{},[294,295,296],"thead",{},[297,298,299,303,306,309],"tr",{},[300,301,302],"th",{},"Criterion",[300,304,305],{},"Datadog",[300,307,308],{},"New Relic",[300,310,311],{},"Self-hosted OSS Stack",[313,314,315,330,343,356,369,381,395,409,422,435],"tbody",{},[297,316,317,321,324,327],{},[318,319,320],"td",{},"Monthly cost for 5 hosts",[318,322,323],{},"R$1k-2k",[318,325,326],{},"R$800-1.5k",[318,328,329],{},"R$80-510",[297,331,332,334,337,340],{},[318,333,89],{},[318,335,336],{},"Excellent, 1-click integrations",[318,338,339],{},"Good, strong integrations",[318,341,342],{},"Prometheus + Grafana, exporters per target",[297,344,345,347,350,353],{},[318,346,95],{},[318,348,349],{},"Excellent, rich search",[318,351,352],{},"Good, rich search",[318,354,355],{},"Loki, search by label",[297,357,358,360,363,366],{},[318,359,107],{},[318,361,362],{},"Market-leading depth",[318,364,365],{},"Close to Datadog",[318,367,368],{},"SigNoz\u002FTempo, 80% of the shine",[297,370,371,373,376,378],{},[318,372,101],{},[318,374,375],{},"Advanced sampling",[318,377,375],{},[318,379,380],{},"OpenTelemetry, configurable sampling",[297,382,383,386,389,392],{},[318,384,385],{},"Alerting",[318,387,388],{},"Anomaly detection, seasonality",[318,390,391],{},"Anomaly detection",[318,393,394],{},"Threshold + Alertmanager (no AI)",[297,396,397,400,403,406],{},[318,398,399],{},"Integrations",[318,401,402],{},"600+ ready",[318,404,405],{},"400+ ready",[318,407,408],{},"100+ community exporters",[297,410,411,414,417,419],{},[318,412,413],{},"Minimum expertise",[318,415,416],{},"Low (button on)",[318,418,416],{},[318,420,421],{},"Medium (config + maintenance)",[297,423,424,427,430,432],{},[318,425,426],{},"Lock-in",[318,428,429],{},"High (proprietary format)",[318,431,429],{},[318,433,434],{},"Zero (open formats)",[297,436,437,440,443,446],{},[318,438,439],{},"Ideal range",[318,441,442],{},"Series B+ with revenue",[318,444,445],{},"Series A-B with revenue",[318,447,448],{},"Bootstrapped, seed, Series A",[11,450,451],{},"The last column is what matters for a Brazilian startup. Zero lock-in means that if the OSS stack stops serving, you migrate the dashboards and rules with contained investment — open format runs anywhere.",[21,453,455],{"id":454},"when-to-stay-on-datadog","When to stay on Datadog",[11,457,458],{},"Honesty requires pointing out when the alternative doesn't pay off.",[11,460,461,464],{},[53,462,463],{},"Series B or larger company with revenue justifying."," Above US$5 million ARR, R$2k per month disappears in the budget. The time you save not assembling a stack is worth more than the cash.",[11,466,467,470],{},[53,468,469],{},"Compliance that requires SOC2 or ISO certified vendor nominally."," Some frameworks list pre-approved tools. If you need the name Datadog or New Relic on an audit list, the alternative doesn't fit.",[11,472,473,476],{},[53,474,475],{},"Team without capacity to set up stack."," If the engineering team has three people focused on product and zero on infra, setting up Prometheus plus Grafana plus Loki is a four-to-eight-hour distraction the team doesn't have. Datadog free tier or New Relic free tier solve the start.",[11,478,479,482],{},[53,480,481],{},"Need for enterprise-grade NPM or DBM."," For the 5% of cases where Datadog has irreplaceable feature, staying with it is the correct technical decision.",[21,484,486],{"id":485},"frequently-asked-questions","Frequently asked questions",[11,488,489,492],{},[53,490,491],{},"Can I use Datadog free tier?","\nYes, and it makes sense to start. Five hosts, short retention, no APM, no advanced logs. Works for a two-person team validating an idea. Migration starts when the free tier ends and the cost estimate appears — generally between six and twelve months later.",[11,494,495,498],{},[53,496,497],{},"Is Grafana Cloud a good intermediate alternative?","\nIt is. Grafana Cloud free tier offers 10k series, 50 GB of logs, 50 GB of traces. Paid starts at US$8 per month with reasonable volume. Covers the range between \"Datadog is too expensive\" and \"self-hosting is work\". Trade-off is moderate lock-in — formats are open, but you don't control retention and costs are on another spreadsheet.",[11,500,501,504],{},[53,502,503],{},"How much does S3-compatible log storage cost in Brazil?","\nCloudflare R2 charges US$0.015 per GB per month, no egress fee. Backblaze B2 charges US$0.005 per GB per month with US$0.01 per GB egress. For 150 GB on R2: US$2.25 per month, or R$11. For 1 TB on B2: US$5 per month plus egress as used. In both cases, the cost is negligible.",[11,506,507,510],{},[53,508,509],{},"OpenTelemetry vs StatsD?","\nOpenTelemetry is the current standard and covers metrics, traces and logs. StatsD was the 2010s standard for metrics, still exists, but it's narrow. If you're starting, go straight on OpenTelemetry — all modern SDKs support, all modern backends support, and the investment of learning is worth it for years.",[11,512,513,516],{},[53,514,515],{},"Is Sentry worth self-hosting?","\nFor a small team, GlitchTip resolves with less overhead — simple installation, same API as Sentry, drop-in compatible with SDKs. For a team that needs advanced features (Performance, Profiling, Replay), self-hosted Sentry is worth the work of setting up Docker Compose. Sentry SaaS free tier is generous and covers the start.",[11,518,519,522],{},[53,520,521],{},"How much does the OSS stack consume in RAM and CPU?","\nFor five to ten monitored nodes: Prometheus 1.5 GB of RAM, Grafana 200 MB, Loki 1 GB, Tempo 500 MB. Total around 3.5 GB. Average CPU is low — peak in scrapes of 5 to 10% of one vCPU. Fits in 4 GB VPS with room to spare.",[11,524,525,528],{},[53,526,527],{},"Does HeroCtl have ready dashboards?","\nYes. The cluster exposes metrics in Prometheus format, and the embedded administration panel includes basic dashboards per job — CPU usage, memory, replica status, health check latency. For more elaborate dashboards, spin up Grafana as a job in the cluster itself and point to the control plane metrics endpoint.",[21,530,532],{"id":531},"closing","Closing",[11,534,535],{},"The difference between R$2k and R$500 per month isn't detail — it's R$18k per year. For a startup in validation stage, it's what separates hiring an additional person and staying with the current team. For a startup in growth stage, it's the margin that justifies investing in product instead of vendor.",[11,537,538],{},"The choice isn't \"Datadog or nothing\". It's \"which tool serves the company's current phase\". In early phase, the self-hosted OSS stack wins on cost with functional parity. In late phase, Datadog wins on productivity with absorbed cost. The common error is to keep paying Datadog because it was never reassessed — annual stack audit is mature company practice, even among those who choose to keep paying.",[11,540,541],{},"If you run HeroCtl, the OSS stack comes up as a regular job in the cluster. Without extra agent, without infra provisioner, without third vendor. The budget that's left goes to the next hired engineer.",[543,544,549],"pre",{"className":545,"code":547,"language":548},[546],"language-text","curl -sSL get.heroctl.com\u002Finstall.sh | sh\n","text",[550,551,547],"code",{"__ignoreMap":552},"",[11,554,555,556,561,562,566],{},"To continue reading: ",[557,558,560],"a",{"href":559},"\u002Fen\u002Fblog\u002Fhow-much-to-host-a-brazilian-saas-2026","How much it costs to host SaaS in Brazil in 2026"," and ",[557,563,565],{"href":564},"\u002Fen\u002Fblog\u002Fpostgres-in-production-managed-vs-self-hosted","Postgres in production: managed vs self-hosted",".",{"title":552,"searchDepth":568,"depth":568,"links":569},2,[570,571,572,573,574,575,576,577,578,579,580,581,582],{"id":23,"depth":568,"text":24},{"id":45,"depth":568,"text":46},{"id":80,"depth":568,"text":81},{"id":132,"depth":568,"text":133},{"id":148,"depth":568,"text":149},{"id":179,"depth":568,"text":180},{"id":219,"depth":568,"text":220},{"id":253,"depth":568,"text":254},{"id":272,"depth":568,"text":273},{"id":288,"depth":568,"text":289},{"id":454,"depth":568,"text":455},{"id":485,"depth":568,"text":486},{"id":531,"depth":568,"text":532},"engineering",null,"2026-04-08","Datadog charges US$15-31\u002Fhost\u002Fmonth. For a startup with 5 servers, that's R$1k\u002Fmonth just on monitoring. The self-hosted stack reaches the same place for R$50.",false,"md",{},true,"\u002Fen\u002Fblog\u002Fobservability-without-datadog-startup-stack","14 min",{"title":5,"description":586},{"loc":591},"en\u002Fblog\u002Fobservability-without-datadog-startup-stack",[597,598,599,600,601],"observability","datadog","monitoring","open-source","cost","McHaAwonryTCDc0ZTgKeBncvZXaq9eF8-XLiwfzxUNk",[604,610],{"title":605,"path":606,"stem":607,"description":608,"date":609,"category":583,"children":-1},"Multi-tenant SaaS with real isolation: 3 patterns and when each one becomes a nightmare","\u002Fen\u002Fblog\u002Fmulti-tenant-saas-real-isolation","en\u002Fblog\u002Fmulti-tenant-saas-real-isolation","Pool, schema-per-tenant, app-per-tenant. Each pattern has obvious benefits and invisible costs. How to decide before the first serious B2B customer asks 'is my data isolated?'.","2026-04-01",{"title":611,"path":564,"stem":612,"description":613,"date":614,"category":583,"children":-1},"Postgres in production: managed vs self-hosted, the honest math","en\u002Fblog\u002Fpostgres-in-production-managed-vs-self-hosted","RDS starts at US$15\u002Fmonth — ends at US$500. Self-hosting starts at $0 — ends waking you up at 3 a.m. How to decide between the two without lying to yourself.","2026-04-15",1777362215195]