If you ask a software engineer what’s the best developer experience they’ve had, Heroku is by far the most common answer. Heroku won the hearts of developers by focusing on empowering developers to just ‘git push’ to the cloud.
Despite winning the hearts of developers, Heroku didn’t win the market. Founded just one year after AWS, it never took a significant market share of the cloud. Why is that? Why wouldn’t you put your production application on Heroku?
I think some of the top reasons are flexibility, cost, scale and the threat of having to re-platform.
Heroku isn’t flexible
With the rise of microservices, architectures need to evolve depending on traffic patterns, usage, etc.
But with just a few offerings, Heroku ends up prescribing one way to architect your application. Heroku’s platform hasn’t significantly changed in the last few years besides a new Redis offering.
That doesn’t work for applications built today.
AWS’ platform has significantly grown (almost too much!) with offerings around serverless, database options, queuing services, data warehouses and more. All of these should be options for an application architected today. And as your company grows, moving to a major cloud provider like AWS is inevitable. Nobody wants to re-platform.
Heroku is expensive
Heroku, of course, is built on AWS and charges a hefty premium! (We’ve done the homework of mapping Heroku’s offerings to AWS and their markup is typically 3-5x of AWS. But some of our customers have seen up to a 14x performance improvement in latency with the hardware that AWS has to offer.)
Configuring 67 AWS services doesn’t work either
AWS is clearly the market leader today. After working there for six years, I became convinced the way apps are built on the cloud today isn’t sustainable for the next generation of developers.
But it’s notoriously complicated – and, honestly, some of that is my fault. My team built 19 of the consoles that millions of developers interact with today including RDS, Redshift, and many more. Truth be told, neither the console team nor anybody on the service team could rightfully comprehend all the drop-downs that we asked customers to fill out just to launch a database.
A lot has changed since the early days of the cloud. Every major cloud provider has 200+ different services. A simple backend on AWS requires configuring 67 different services. To explore how the next generations of developers will build on the cloud, a few questions come to mind:
- Is the status quo of the cloud acceptable to developers?
- If not, what does that future look like? Is it really Heroku 2.0 — another black box?
- If not, what does it look like? Infrastructure-as-code? If so, who writes this code?
- Who should be able to build on the cloud — any engineer or just DevOps engineers?
- What is the state of the art developer experience?
As I went down this path, I reflected on what Jeff Bezos once said: ‘’Focus on things that don’t change.” What are things that are non-negotiable for developers that will never change?
- Simplicity without abstractions
The tech landscape is littered with companies that compromised on one of these anchors. The cloud market is so vast that many of these companies will be successful in their niche — but the mission isn’t complete.
What needs to happen now?
The mission is to bring the cloud back to the masses so that any software engineer can build, operate, and scale their application. **Developer and operational experience determines the speed, resilience, cost, and scalability of a business.
To do that, we need to help developers get around the DevOps tax.
Understanding the DevOps tax
The complexity of the cloud has created a “DevOps Tax” - an onerous tariff of skills and manual tasks that forces teams to spend more on the labor to operate the cloud than the cloud bill. This complexity has forced teams to hire 1 DevOps engineer for every 15 engineers.
So what is the DevOps Tax?
- Setting up, operating and scaling infrastructure
- Spinning up dev environments
- Writing and maintaining infrastructure-as-code
- Networking, security and compliance configuration
- Cost management
- Serving and advising application engineers
That quickly creates a bottleneck for engineering teams. This undifferentiated heavy lifting is vital for organizations. Developer and operational experience dictate the speed, resilience, cost and scalability of your business.
Large enterprises can afford to build and sustain platform teams to create self-service tools for engineers. Companies that don’t make significant investment in DevOps see their cloud bills explode and their development speed plummet. Their software engineers spend hours in DevOps toil. And their DevOps engineers (if they can even hire them in today’s competitive job market) spend a majority of their time doing manual, undifferentiated heavy lifting.
Our vision for TinyStacks is to change the status quo of how engineering teams build, operate and scale on the cloud. A world where any engineer can push changes to the cloud without compromising on cost, flexibility and visibility. Where DevOps engineers can become platform engineers and empower their engineers teams with best practices around scale, security and compliance.
So what does the future of building on the cloud really look like?
- Just Git Push: An accessible dev experience for backend applications
- Transparency without weeds: Visibility, debugging, and access to the full cloud catalog
- Self-service app developers: Fully featured devops pipelines with stages
- Work in a formalized and clean developer and operator experience.
- The flexibility to use any cloud service or customize workflows as needs evolve.
- Automatically maintain and version infrastructure-as-code
TinyStacks powers teams to build faster without abstractions or menial DevOps tasks. We’ve already seen some promising results. Jordan Bentley, CEO of Audiohook, says “The nightmare of DevOps kept us from managing AWS directly, but with TinyStacks we can now scale a billion+ requests a day in audio advertising leveraging the full power of AWS. Our cloud bill is 67% less, our devs are focused, and we now have access to the full AWS catalog.”
I invite you to come try TinyStacks and give us your utmost honest feedback. What does your dream developer experience on the cloud look like?