DHH Was Right: The Inside Story of 37signals' $10M Cloud Exit

The complete saga of how David Heinemeier Hansson led 37signals' radical departure from AWS—and sparked a movement that's reshaping how we think about infrastructure.

When David Heinemeier Hansson posted “Why We’re Leaving the Cloud” on October 19, 2022, the tech world collectively lost its mind. Here was the creator of Ruby on Rails—the guy who literally shaped modern web development—declaring that cloud computing was mostly a scam. The reactions ranged from “DHH has finally lost it” to “He’s just being contrarian again.”

Fifteen months later, with 37signals running on their own hardware and projecting $10 million in savings over five years, it turns out the contrarian was right. Again.

This is the complete story of how one company’s frustration with cloud economics sparked a movement that’s forcing the entire industry to reconsider some very expensive assumptions.

The Road to Revolution: 37signals’ Cloud Journey

To understand why DHH’s announcement was so shocking, you need to understand 37signals’ history with the cloud. They weren’t some legacy enterprise clinging to their data center—they were cloud pioneers.

The Early Adopter Years (2006-2020)

37signals started using AWS in 2006, back when S3 was the hot new thing and “cloud” was still a meteorological term for most people. As DHH revealed on the Lex Fridman podcast, they were “in the cloud before it was cool.”

For years, it made sense. Basecamp was growing, they were launching new products, and the cloud delivered on its promise of simplicity for small-to-medium workloads. They could spin up new services, experiment with features, and scale without thinking about hardware.

The Warning Signs (2020-2022)

But something changed as 37signals matured. Their workloads became predictable. Basecamp wasn’t doubling every year—it was growing steadily and sustainably. Yet their AWS bills kept climbing at an alarming rate.

By 2022, the numbers had become absurd:

  • Annual cloud spend: $3.2-3.4 million
  • Database costs alone: Over $500,000/year
  • Growth rate: 15-20% annually with flat usage

As DHH later told Lex Fridman: “We were paying for the privilege of renting computers at obscene margins. AWS operates at almost 40% margin. That means for every dollar you spend, 40 cents is pure profit.”

The HEY Launch: Cloud’s Last Hurrah

When 37signals launched HEY in June 2020, they went all-in on AWS. It was a new email service competing with Gmail—exactly the kind of project where cloud’s elasticity should shine. And initially, it did. When they expected 30,000 signups in six months but got 300,000 in three weeks, AWS handled it.

But two years later, HEY had become another predictable workload with unpredictable costs. The cloud was starting to look less like a solution and more like a very expensive landlord.

The October Manifesto That Started Everything

On October 19, 2022, DHH published “Why We’re Leaving the Cloud” on his personal blog. It wasn’t a measured technical analysis—it was a declaration of war on cloud orthodoxy.

The key passages that set the internet on fire:

“Renting computers is (mostly) a bad deal for medium-sized companies like ours with stable growth. The savings promised in reduced complexity never materialized.”

“Let’s take HEY as an example. We’re paying over half a million dollars per year for database and search services from Amazon. Do you know how many insanely beefy servers you could purchase on a budget of half a million dollars per year?”

“It’s like paying a quarter of your house’s value for earthquake insurance when you don’t live anywhere near a fault line.”

But the real bombshell was his attack on the cloud’s economic model:

“AWS’ profit margin is almost 30%. This margin is bound to soar now that they’re extending the useful life of servers. Which is fine! Of course it’s expensive to rent your computers from someone else. But it’s never presented in those terms.”

The Philosophical Argument

DHH didn’t just make an economic case—he made a philosophical one:

“It’s also about what kind of internet we want to operate in the future. It strikes me as downright tragic that this decentralized wonder of the world is now largely operating on computers owned by a handful of mega corporations. This is not what DARPA designed!”

The Plan: From Cloud to Metal in Six Months

After the announcement, 37signals moved fast. By December 2022, they had placed an order for $600,000 worth of Dell servers. The plan was ambitious: migrate seven major applications off AWS and Google Cloud by summer 2023.

The Hardware Shopping Spree

As DHH revealed on the REWORK podcast finale in July 2023, here’s what $600,000 bought them:

Database and Search Infrastructure:

  • 8 powerful database servers
  • Enough NVMe storage for millions of users
  • Search servers with massive RAM for caching

Compute Farm:

  • 20 servers housing 4,000 vCPUs total
  • 7,680 GB of RAM (7.5 TB)
  • 384TB of NVMe storage
  • Distributed across two data centers

As DHH told Lex Fridman: “These servers arrived on pallets. The Dell servers—Dell’s still the king of servers—they show up, and they’re absolutely gorgeous machines.”

The Migration Strategy

The migration wasn’t just a lift-and-shift. 37signals developed new tooling and approaches:

  1. Kamal: Their new open-source deployment tool
  2. Full disk encryption: Custom implementation for security
  3. Automated provisioning: Zero-touch server setup
  4. Backup systems: Multi-site replication

The order of migration was strategic:

  1. Basecamp Classic, 2, 3, and 4
  2. Campfire, Highrise, Backpack
  3. Legacy apps (Writeboard, Ta-da List)
  4. HEY (saved for last due to complexity)

The Technical Deep Dive: How They Actually Did It

The migration details, shared on the REWORK podcast and dev blog, reveal the careful planning involved:

Breaking Free from AWS Services

HEY was the biggest challenge because it was “born in the cloud” and deeply integrated with AWS services:

  • RDS (Managed databases) → MySQL on bare metal
  • ElastiCache → Redis on local NVMe
  • Elasticsearch Service → Self-hosted Elasticsearch
  • S3 → PureStorage for object storage (self-hosted S3 replacement)
  • ALB/ELB → HAProxy and custom load balancing

The Secret Weapon: Kamal

37signals didn’t just migrate—they revolutionized their deployment process. Kamal, their open-source deployment tool, embodies DHH’s philosophy of radical simplicity:

# This is literally all it takes to deploy
kamal deploy

No Kubernetes. No service mesh. No YAML hell. Just Docker containers deployed to servers via SSH.

As DHH explained: “We built Kamal because we needed something that matched our operational philosophy: simple, understandable, and reliable.”

Zero Downtime Migration

The migration approach was methodical:

  1. Set up new hardware in parallel
  2. Replicate data continuously
  3. Test extensively in production-like environments
  4. Cut over during low-traffic windows
  5. Keep cloud resources as fallback

Total migration time: Just over 6 months (finished ahead of schedule)

The Shocking Results

When 37signals announced completion in June 2023, the numbers were staggering:

Before (Cloud)

  • Monthly cost: ~$300,000
  • Annual run rate: $3.2-3.4 million
  • Trajectory: Rising 30% in 8 months

After (Bare Metal)

  • Monthly cost: Under $30,000
  • Annual run rate: ~$360,000
  • Savings: Over 90%

Payback Period: 6 Months

The $600,000 hardware investment would pay for itself in just six months. After that, pure savings.

Performance Improvements

The cost savings were just the beginning. Performance improved dramatically:

  • Database queries: 3-5x faster
  • Page load times: 30-50% improvement
  • Consistent performance (no “noisy neighbors”)
  • Better handling of traffic spikes

The Lex Fridman Interview: DHH Unfiltered

DHH’s appearance on the Lex Fridman podcast in late 2023 provided the most candid insights into the migration. Some key revelations:

On Cloud Economics

“Of course it’s cheaper to own things if you need those things for years rather than to rent it. In no other domain would we confuse those two things. You wouldn’t rent your house for 30 years at 3x the mortgage payment.”

On Complexity

“AWS is hella complicated. IAM rules and access parameters are harder than Linux. We had more operational complexity in the cloud than we ever had with physical servers.”

On Team Size

“We did this with the same ops team. Zero additional hires. It turns out that managing actual computers is easier than managing AWS’s 200+ services.”

On the Future

“We’re even exploring hosting servers at home. With 5 gigabit fiber connections now available, you could run a multi-million dollar business from your garage. That’s the real garage startup.”

The Ripple Effect: Industry Response

37signals’ exit triggered a broader movement:

Other Companies Following Suit

  • Dropbox: Saved $75 million over two years
  • Paddle: $400K annual savings
  • Honeybadger: 60% cost reduction
  • Plausible Analytics: 75% savings

The Open Source Renaissance

  • Surge in interest for self-hosted solutions
  • Revival of traditional sysadmin skills
  • New tools for bare metal deployment (inspired by Kamal)
  • Community-driven alternatives to cloud services

Cloud Providers’ Response

  • AWS and others quietly offering deep discounts to prevent exits
  • Increased focus on vendor lock-in through proprietary services
  • Marketing pushback emphasizing “TCO” over raw costs

Addressing the Skeptics

Throughout the journey, DHH and team addressed common objections:

“You must need a huge ops team now”

Reality: Same team size. As Eron Nicholson (Director of Operations) confirmed on REWORK: “We didn’t need to hire anyone new for this migration."

"What about elasticity?”

DHH’s response: “Unless you’re Pokemon Go, you don’t need 1,000 servers in 15 minutes. We keep 30% headroom and can add servers in days, not minutes."

"This only works for 37signals”

The truth: Any company with predictable workloads and >$20K/month cloud spend should run the numbers. The math is compelling.

”You’re going backwards”

DHH: “Using modern hardware with modern deployment practices isn’t backwards. Paying 10x for the same compute is backwards.”

The Deeper Philosophy

Beyond the economics, DHH’s cloud exit represents a broader philosophy:

Against the “Merchants of Complexity”

“The cloud industrial complex has convinced everyone that running servers is impossibly hard. It’s not. We did it for decades before AWS existed.”

For Ownership and Control

“When AWS goes down, half the internet goes with it. That’s not resilience—that’s a single point of failure for civilization.”

Return to First Principles

“The internet was designed to be distributed. Having it all run on three companies’ computers is antithetical to its founding vision.”

The Hybrid Reality

Despite the dramatic exit, 37signals didn’t go full hermit:

  • CloudFlare CDN: Physics still matters for global distribution
  • Development environments: Some cloud usage for testing
  • Emergency capacity: Can spin up cloud resources if needed
  • Minimal S3 usage: Only for specific edge cases where it still makes sense

But the big win was replacing S3 with PureStorage for their primary object storage needs—proving that even “cloud-native” services like S3 can be successfully replaced with on-premise alternatives.

As DHH notes: “Use the cloud like a credit card—strategically, not as your primary checking account.”

Lessons for the Industry

The 37signals story offers clear lessons:

1. Do the Math

If you’re spending >$20K/month on cloud, you’re probably overpaying by 70-90%. Run the numbers.

2. Question the Orthodoxy

“Everyone uses the cloud” isn’t a strategy. It’s herd mentality.

3. Complexity Isn’t Necessary

Most applications don’t need Kubernetes, service meshes, or 47 AWS services. They need computers that run code.

4. Ownership Matters

In a world of subscriptions and rentals, owning your infrastructure is a competitive advantage.

The Future According to DHH

In recent interviews, DHH has painted a picture of what’s coming:

The Great Reckoning (2024-2026)

  • CFOs discovering they’re funding Amazon’s profits
  • Mass exodus from cloud for predictable workloads
  • Cloud providers forced to cut margins
  • Return to hybrid as the default

The New Normal

  • “Cloud-first” becomes “cloud-when-appropriate”
  • Infrastructure engineering becomes valuable again
  • Open source alternatives to every cloud service
  • The internet returns to its distributed roots

Conclusion: The Emperor’s New Clothes

The 37signals cloud exit isn’t just a story about one company saving money. It’s about challenging the received wisdom of an entire industry.

For years, “everyone should be in the cloud” was treated as gospel. Anyone who questioned it was dismissed as a dinosaur who didn’t understand modern technology. DHH’s great contribution wasn’t technical—it was having the courage to point out that the emperor has no clothes.

The cloud is a tool. For some use cases—unpredictable loads, rapid experimentation, true elasticity needs—it’s the right tool. But for established businesses with predictable workloads, it’s often an absurdly expensive tool.

37signals proved you can leave. They showed the economics are compelling. They demonstrated that the complexity argument is largely myth. And they open-sourced the tools to help others follow.

The question isn’t whether the cloud exodus will continue—it’s how fast it will accelerate. As DHH says: “We’re part of a broader movement. The tide is turning.”

And honestly? It’s about time.


Ready to evaluate your own cloud costs? Start with our assessment services to dive deeper into your infrastructure savings potential.

Want to follow the movement?

“The best time to plant a tree was 20 years ago. The second best time is now.” The same goes for cloud repatriation.

Related Articles

Ready to Save on Infrastructure Costs?

Get your free assessment and discover your savings potential

Get Free Assessment