Latest / The Cloud Business Podcast with Fexingo: AWS, Azure, GCP, and Enterprise Infrastructure / Why Cloud Providers Bill for Storage Event Notifications
Transcript
- Lucas: If you use object storage — and let's be honest, who doesn't — and you've set up event notifications to trigger workflows when files land or change, you may have noticed a new line item on your cloud bill. Luna: Yeah, I actually saw that on my last AWS bill: a small charge for 'S3 Event Notifications'. I assumed it was always included. Lucas: Right. And that's exactly why we're talking about it. Before we dig deeper — if these kinds of practical breakdowns help you manage your cloud costs, listener support is what keeps this show ad-free. You can support us at buy me a coffee dot com slash fexingo. It's a simple way to keep us going. Luna: Absolutely. So let's get into what's being charged and why. Lucas: All three major cloud vendors now explicitly charge for these notifications. For AWS S3, it's about ten cents per million notifications. Google Cloud charges fifty cents per million Pub/Sub messages from Cloud Storage. Azure Event Grid comes in at sixty cents per million events. Luna: That seems low — but if you have a high-traffic data lake or a busy CI/CD pipeline, those millions add up fast. Lucas: Exactly. A typical setup: every object upload triggers a Lambda function to process it. If you ingest a hundred thousand files an hour, that's over two million notifications a day — over seventy million a month. That's seven bucks on AWS, but thirty-five on Google Cloud. Luna: Interesting. So GCP is flatly more expensive per notification. But do they offer any included tier? Lucas: Google Cloud provides a free tier of ten million Pub/Sub messages per month for the first project, but after that it's fifty cents per million. AWS has no free tier for S3 event notifications — you pay from the first notification. Azure gives you a hundred thousand operations free per month for Event Grid, then sixty cents per million. Luna: So for a startup with light traffic, GCP might actually be cheapest initially. But once you scale, AWS becomes the better deal. Lucas: That's the trade-off. But here's the kicker — this charge wasn't always separate. A few years ago, S3 event notifications were included in the standard request pricing. AWS unbundled it quietly in 2022. Luna: Why would they do that? I mean, it's already a profitable service. Lucas: Vendors argue it's about cost transparency — if you use a feature, you should pay for it. But critics say it's a way to increase revenue from high-volume customers who don't scrutinize every line item. Luna: Sounds like classic cloud pricing strategy. So how do we audit this? I don't want to find out after the bill arrives. Lucas: Good question. First, use cost allocation tags on your bucket to track notification costs. On AWS, you can check the S3 usage report for 'eventbridge notifications' or 'PUTS' related metrics. On GCP, Pub/Sub provides per-topic breakdowns in the billing export. Luna: And Azure? I use Event Grid for multiple Buckets. Lucas: Azure's portal shows you the number of events delivered per domain. You can also set up budget alerts for the Event Grid resource. The key is to know your notification volume before it becomes a surprise. Luna: What about customers who use Lambda destinations or SQS triggers instead? Do those also incur event notification charges? Lucas: Great point. If you configure an S3 bucket to send events directly to SQS or Lambda, those still count as event notifications — same charge. The only way to avoid it is to poll the bucket yourself, which isn't practical for most. Luna: So there's no real escape if you need real-time processing. You're going to pay something. Lucas: Correct. But you can optimize: batch events using Amazon S3 Batch Operations or by grouping similar objects into fewer notifications. Also, consider whether you need event notifications at all — maybe a periodic scan would suffice. Luna: I've seen teams over-notify themselves: they set up notifications for every upload, but they really only need to know when a final folder is done. Lucas: That's a classic anti-pattern. You should design your event schema to minimize unnecessary triggers. For example, use object key prefixes to filter only the important paths, or use event time aggregation. Luna: Speaking of filtering, both AWS and GCP support object key filtering. Does Azure? Lucas: Azure Event Grid also supports subject filtering by prefix or suffix. So you can limit which blobs trigger events. That's a no-brainer cost saver. Luna: Alright, so the takeaway: event notifications are no longer free, and the cost varies by provider. Audit your setup, filter aggressively, and budget accordingly. Lucas: Right. And the comparison between providers is stark: AWS is cheapest per notification but lacks a free tier; GCP has a free tier but higher per-unit cost; Azure sits in the middle. The best advice: know your volume, then choose. Luna: And if you're multi-cloud, you might want to standardize on one provider for event triggers just to simplify tracking. Lucas: Good point. Thanks, Luna. So the question every cloud team should ask: are your storage event notifications costing you more than you think?