<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Premdeep Singh</title>
    <description>The latest articles on DEV Community by Premdeep Singh (@premdeepsingh).</description>
    <link>https://dev.to/premdeepsingh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4105743%2F68242f25-9b8c-4187-ae74-1e46adf704ae.png</url>
      <title>DEV Community: Premdeep Singh</title>
      <link>https://dev.to/premdeepsingh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/premdeepsingh"/>
    <language>en</language>
    <item>
      <title>I Used to Use Splunk. Here’s Why My Team Switched</title>
      <dc:creator>Premdeep Singh</dc:creator>
      <pubDate>Wed, 02 Sep 2026 08:29:22 +0000</pubDate>
      <link>https://dev.to/premdeepsingh/i-used-to-use-splunk-heres-why-my-team-switched-4jn2</link>
      <guid>https://dev.to/premdeepsingh/i-used-to-use-splunk-heres-why-my-team-switched-4jn2</guid>
      <description>&lt;p&gt;(And Why Our Security Budget Loves Us Now)&lt;/p&gt;

&lt;p&gt;Let’s start with a scene you might recognize.&lt;/p&gt;

&lt;p&gt;My last team managed infrastructure for a mid-sized fintech. We ran Kubernetes in AWS. We used Datadog for observability. And we poured all our security logs into Splunk. Our security team loved us for it. The compliance team loved us for it. And then, one morning, our CFO did not.&lt;/p&gt;

&lt;p&gt;He printed out our cloud spend report, walked over to the CISO, and pointed at a single line item.&lt;/p&gt;

&lt;p&gt;“Splunk: $650K this year. Growing.”&lt;/p&gt;

&lt;p&gt;Then he asked the question nobody in the room had an answer for.&lt;/p&gt;

&lt;p&gt;“What exactly are we paying for? And why would we make this trade twice?”&lt;/p&gt;

&lt;p&gt;Cut to this year. Different company, different team. Same problem — we generate hundreds of gigabytes of logs a day. Same regulatory requirements — we handle PII, PCI-DSS, CCPA, and SOC2 audits. Same need for real-time threat detection and historical forensics.&lt;/p&gt;

&lt;p&gt;Only this time, our Splunk equivalent costs us $28K a year. Not $650K.&lt;/p&gt;

&lt;p&gt;The bill shows up on AWS, not on a vendor invoice. We own the encryption keys. We control the data retention policies. We can run a compliance export in minutes, without filing a support ticket.&lt;/p&gt;

&lt;p&gt;Here’s what changed.&lt;/p&gt;

&lt;p&gt;We Stopped Paying for Data Just to Move It&lt;br&gt;
The first thing I learned in my old job: your Splunk bill mostly pays for data transfer.&lt;/p&gt;

&lt;p&gt;Every authentication event, every NGINX log, every Kubernetes pod log, every database query – has to travel from your infrastructure to Splunk’s platform. Splunk charges you to ingest it. The cloud provider charges you to egress it.&lt;/p&gt;

&lt;p&gt;When we looked at our AWS bill, we realized we were paying $45K a year in egress fees just to move logs to Splunk. That expense lived on a different spreadsheet. It was invisible to our security team.&lt;/p&gt;

&lt;p&gt;We were paying twice: once to move the data, once to store it.&lt;/p&gt;

&lt;p&gt;In the new world, we don’t move logs. We compress them and drop them into an S3 bucket in the same region as our workload. Egress cost: $0.&lt;/p&gt;

&lt;p&gt;We Started Compressing Differently&lt;br&gt;
Everyone compresses logs. But not like this.&lt;/p&gt;

&lt;p&gt;Standard compression (gzip, zstd) treats logs as a blob of text. It’s okay — you get 3× to 5× reduction.&lt;/p&gt;

&lt;p&gt;Property-aware compression understands what’s inside the log:&lt;/p&gt;

&lt;p&gt;json&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "timestamp": "2024-09-02T14:30:00Z",&lt;br&gt;
  "service": "auth-service",&lt;br&gt;
  "level": "INFO",&lt;br&gt;
  "message": "User logged in",&lt;br&gt;
  "user_id": "u-12345",&lt;br&gt;
  "ip": "10.0.0.1"&lt;br&gt;
}&lt;br&gt;
It knows:&lt;/p&gt;

&lt;p&gt;timestamp is a predictable sequence&lt;br&gt;
service repeats with low entropy&lt;br&gt;
level repeats even more&lt;br&gt;
user_id and ip fields are structured&lt;br&gt;
Instead of compressing the JSON as text, it compresses each field separately, using the optimal algorithm for that data type.&lt;/p&gt;

&lt;p&gt;The result is 50× to 100× compression versus raw storage. Not 3×. Not 5×. 50× or more.&lt;/p&gt;

&lt;p&gt;Suddenly, storing a year’s worth of security logs costs pennies instead of six figures.&lt;/p&gt;

&lt;p&gt;We Asked a Different Question&lt;br&gt;
When I was costing out Splunk, I asked:&lt;/p&gt;

&lt;p&gt;“What’s the cheapest way to get what we need?”&lt;/p&gt;

&lt;p&gt;The conversation was always about cutting — turning off log sources, filtering events before they get sent, sampling high-volume streams.&lt;/p&gt;

&lt;p&gt;“Do we really need DEBUG logs? Do we need all audit events?”&lt;/p&gt;

&lt;p&gt;That question made everyone nervous. Security didn’t want gaps in coverage. Compliance couldn’t risk audit failures. But finance was pushing hard.&lt;/p&gt;

&lt;p&gt;This time, I asked:&lt;/p&gt;

&lt;p&gt;“What if we could keep 100% of our logs, but store them for 90% less?”&lt;/p&gt;

&lt;p&gt;Suddenly, the conversation changed.&lt;/p&gt;

&lt;p&gt;The Switch Was Less Scary Than We Thought&lt;br&gt;
So here’s what moving off Splunk actually looked like, timeline included:&lt;/p&gt;

&lt;p&gt;Day 1–7: Parallel deployment. We set up a new BYOC SIEM platform in our own AWS account. Redirected logs to both Splunk and the new platform at the same time.&lt;/p&gt;

&lt;p&gt;Day 8–14: Validation. Ran identical queries in both systems, compared results row by row. Built dashboards to alert us if logs diverged.&lt;/p&gt;

&lt;p&gt;Day 15–28: Feature parity. Rebuilt our critical alerts ('failed login spike', 'unusual data export', 'privilege escalation attempt') in the new system. Recreated compliance dashboards for SOC2 and PCI-DSS.&lt;/p&gt;

&lt;p&gt;Day 29–35: Cutover. Shut off new logs to Splunk. Left the old data to expire naturally (90-day retention). Started routing everything to BYOC.&lt;/p&gt;

&lt;p&gt;Day 36 onward: We have everything Splunk gave us: log search, alerting, dashboards, correlation, compliance exports – at &amp;lt;10% the cost.&lt;/p&gt;

&lt;p&gt;The Math That Convinced Our CFO&lt;br&gt;
Here’s the three-year comparison that ended the finance vs. security tension for us.&lt;/p&gt;

&lt;p&gt;Cost Category   Splunk + AWS Fees   BYOC + AWS Fees&lt;br&gt;
Splunk licensing (100 GB/day)   $560K – $750K/year    $0&lt;br&gt;
AWS egress fees $45K/year   $0&lt;br&gt;
AWS compute/storage Included in Splunk infra    $45K/year&lt;br&gt;
Professional services (config/tuning)   $30K/year   $5K/year (one-time)&lt;br&gt;
Annual Total    $635K – $825K $50K – $55K&lt;br&gt;
3-Year Total    $1.9M – $2.47M    $150K – $165K&lt;br&gt;
Don’t take my word for it. Here’s how to check it yourself:&lt;/p&gt;

&lt;p&gt;Grab your Splunk contact’s per-GB/day rate. Multiply by your daily GB ingested.&lt;br&gt;
Look for “AWS Data Transfer” on your cloud bill – filter by Splunk IP ranges.&lt;br&gt;
Add your Splunk professional services spend (config tuning, updates, new data sources).&lt;br&gt;
Multiply by 3 years.&lt;br&gt;
If you’re like 95% of regulated teams, you will find a 6-figure bill – and a conscious choice to either accept it, or start cutting logs.&lt;/p&gt;

&lt;p&gt;What About Our Existing Skills?&lt;br&gt;
Our security analysts knew Splunk’s SPL (Search Processing Language). Splunk’s query language looks like this:&lt;/p&gt;

&lt;p&gt;index=firewall src_ip=10.0.0.1 | stats count by dest_port&lt;/p&gt;

&lt;p&gt;Modern BYOC platforms intentionally use familiar SQL-like syntax:&lt;/p&gt;

&lt;p&gt;SELECT dest_port, COUNT(*) FROM firewall WHERE src_ip = '10.0.0.1' GROUP BY dest_port&lt;/p&gt;

&lt;p&gt;The training curve was measured in hours, not weeks. Our analysts adjusted.&lt;/p&gt;

&lt;p&gt;We also kept our dashboards. Here’s one we rebuilt for AWS CloudTrail monitoring:&lt;/p&gt;

&lt;p&gt;sql&lt;/p&gt;

&lt;p&gt;SELECT&lt;br&gt;
  userIdentity.arn,&lt;br&gt;
  COUNT(*) AS event_count&lt;br&gt;
FROM cloudtrail_logs&lt;br&gt;
WHERE&lt;br&gt;
  eventTime &amp;gt;= NOW() - INTERVAL '1' HOUR&lt;br&gt;
  AND errorCode IS NOT NULL&lt;br&gt;
GROUP BY userIdentity.arn&lt;br&gt;
ORDER BY event_count DESC&lt;br&gt;
Same alerting logic, same visualizations, same RCA workflow – just fewer zeroes on the invoice.&lt;/p&gt;

&lt;p&gt;The Compliance Layer Nobody Talks About&lt;br&gt;
Running a regulated workload changes the SIEM conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our Splunk environment:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used Splunk Cloud’s FedRAMP-authorized tenant&lt;br&gt;
Charged us 40% more for the compliance tier&lt;br&gt;
Limited our administrator access&lt;br&gt;
Required Splunk employees (with Splunk credentials) to perform maintenance&lt;br&gt;
Our BYOC environment:&lt;/p&gt;

&lt;p&gt;Runs in AWS GovCloud (already FedRAMP authorized)&lt;br&gt;
Costs the same as commercial AWS&lt;br&gt;
Gives us full admin control&lt;br&gt;
Keeps all access within our identity provider (Okta)&lt;br&gt;
Allows us to encrypt logs with our own KMS keys, and control who can decrypt&lt;br&gt;
When the auditor asks “who can read these logs?” we point to an IAM role and an Okta group. Not a Splunk support FAQ.&lt;/p&gt;

&lt;p&gt;The Uncomfortable Truth Nobody Wants to Say&lt;br&gt;
Spending $650K on Splunk is not an engineering failure. It’s a historical artifact.&lt;/p&gt;

&lt;p&gt;Splunk was invented when “big data” meant gigabytes, not terabytes. Its pricing model made perfect sense – charge per GB, because storage and compute were expensive, and indexing needed dedicated infrastructure.&lt;/p&gt;

&lt;p&gt;But in 2025:&lt;/p&gt;

&lt;p&gt;S3 storage costs $0.023/GB/month&lt;br&gt;
Serverless query engines (Trino, Presto) scan terabytes in seconds&lt;br&gt;
Compression algorithms can achieve 100× ratios on structured logs&lt;br&gt;
Kubernetes makes deploying distributed platforms a Terraform apply away&lt;br&gt;
We’re not paying for Splunk’s technology anymore. We’re paying for Splunk’s 2003 pricing model. We’re paying for Splunk’s 40% FedRAMP premiums. We’re paying for Splunk’s shareholder returns.&lt;/p&gt;

&lt;p&gt;That’s a choice. It’s not a law.&lt;/p&gt;

&lt;p&gt;Questions Our Team Asked Before Switching&lt;br&gt;
Q: What if we lose logs during migration? A: We ran both platforms side-by-side for four weeks. If logs diverged, alarms fired. They didn’t.&lt;/p&gt;

&lt;p&gt;Q: What about historical Splunk data? A: We left it to expire naturally (we had 90-day hot retention). Could have exported it, but the migration cost wasn’t worth it for old logs.&lt;/p&gt;

&lt;p&gt;Q: How do we handle incidents without Splunk’s security apps? A: We rebuilt our critical use cases natively. Turns out we didn’t need 90% of the apps – we built the 10% that mattered.&lt;/p&gt;

&lt;p&gt;Q: What if this new platform can’t scale? A: It runs in our AWS account. We scale the underlying infrastructure with our workload – horizontal scaling is built into the architecture.&lt;/p&gt;

&lt;p&gt;Q: Is this secure enough for our threat model? A: More secure. Logs never leave our cloud boundary. They’re encrypted with our KMS keys. We control all access policies.&lt;/p&gt;

&lt;p&gt;The Bottom Line&lt;br&gt;
We use a BYOC SIEM now because:&lt;/p&gt;

&lt;p&gt;It costs 90% less&lt;br&gt;
We own the data, the keys, the access controls&lt;br&gt;
We can prove to auditors exactly who can and cannot read logs&lt;br&gt;
We keep 100% of our logs – no sampling, no filtering, no gaps&lt;br&gt;
We don’t use it because Splunk is “bad.” We use it because the economics of SIEM changed, and we changed with them.&lt;/p&gt;

&lt;p&gt;If your Splunk bill is starting to look like a mortgage payment, the conversation is worth having. Start with a simple question at your next team sync:&lt;/p&gt;

&lt;p&gt;“If we were building our security monitoring from scratch today, with everything we know now about cost, compliance, and threats – what would we build?”&lt;/p&gt;

&lt;p&gt;Would you choose Splunk again?&lt;/p&gt;

&lt;p&gt;Our team didn’t.&lt;/p&gt;

&lt;p&gt;Further Reading&lt;br&gt;
Splunk's Ingestion Pricing Model &lt;br&gt;
Lossless vs. Gzip for Logs &lt;br&gt;
AWS Egress Costs &lt;/p&gt;

&lt;p&gt;Let’s Talk&lt;br&gt;
Drop your Splunk story in the comments. How big is your bill this year? Are you cutting logs to save money? I’m reading every one.&lt;/p&gt;

</description>
      <category>splunk</category>
      <category>siem</category>
      <category>security</category>
      <category>observability</category>
    </item>
  </channel>
</rss>
