VOOZH about

URL: https://thenewstack.io/service-design-couldve-prevented-herokus-free-tier-closure/

⇱ Service Design Could've Prevented Heroku's Free Tier Closure - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2022-10-01 06:00:34
Service Design Could've Prevented Heroku's Free Tier Closure
Frontend Development / Software Development

Service Design Could’ve Prevented Heroku’s Free Tier Closure

The news that Heroku is shutting down its free tier is frustrating for developers. It just needed better service design to keep it viable.
Oct 1st, 2022 6:00am by David Eastman
👁 Featued image for: Service Design Could’ve Prevented Heroku’s Free Tier Closure
Image via Shutterstock.

The news that Heroku is shutting down its free tier marked a sad passing. Heroku was the first Platform-as-a-Service (PaaS) to offer a quick and simple deployment method with a free tier. This started many a student or skunkworks project, and I’ve suggested them indirectly in a few posts. Indeed, Heroku’s “free tier” ethos drove a lot of my enthusiasm for tech that you can try out immediately.

Today there are plenty of alternative platforms to Heroku, although I would argue they are not so simple to use. Plus these alternatives do little to align themselves with the spirit of the tinkering user.

Usually, we see the bigger corporates buy up better-known startups in an attempt to import some of their innovative sparkle, even if there is a limited vision of the outcome. The hundreds of inactive Heroku user apps that will be culled may or may not be a loss to mankind. This is like wondering how much rainforest you can afford to lose before a species of rare aardvark is at risk. Just to make it clear, Salesforce (which now owns Heroku) has absolutely no moral commitment or responsibility to maintain free services or inactive servers if no claims were made to this effect. We all know by now what “free” means in these contexts.

But there is something behind the explanation that does need further investigation. It is the idea that the service was massively inconvenienced by “scam” users. In this case, Heroku blamed cryptocurrency miners:

“Our product, engineering, and security teams are spending an extraordinary amount of effort to manage fraud and abuse of the Heroku free product plans.”

This is an odd statement. The free plan is there to entice the type of user who might migrate to a paid plan. Historically, Heroku’s offering was unique and respected for its directness. And clearly, crypto miners are just looking for free computing to sate their habit. But this is blaming your guests for a bad party. The cynical may well conclude that this is a post-justification, but that is not what I’m focusing on in this post. I suspect there has been a confusion between the product and the service.

The Evolution of Service Design

The term service design means designing a business path that is suitable and attractive to your intended audience, while keeping out the unintended consequences. That second bit may be said sotto voce, but it is still part of the intentional business design. The humble doorstep is a barrier to many unwelcome crawling animals, while also marking out an entrance for humans.

Service designers themselves like to point out that while a car is a product, Uber is a typical service that uses the product — thus underlining the distance between the two. So perhaps we can say that any statement that sounds like “our users are plotting against us” is a problem within the service design domain.

If I remember the foment around that 2000’s period, the imperative of speed to market and making a direct offering may have been to the detriment of the softer considerations, such as user experience (UX) design and customer experience (CX) design. It is quite likely that none of those things even got considered. But today’s world is a little more complex, with wiser customers and better-armed attackers.

The first consideration, which is just standard network operation, is monitoring network traffic and applying white lists and black lists to a range of URLs. In the bad old days of silos, the NetOps/SecOps teams would probably never talk to a service designer (or be aware of each other’s existence). Today we would know to ask questions about which users are clearly communicating with crypto APIs from the outset, when and where they signed up, and see if any discernible patterns arise. This form of agile correction can be resource intensive but is just part and parcel of running a service anywhere bar the most trusted areas. A simple question on sign-up to the user about their intentions may both alert the service to the need to keep some obscure but harmless blockchain API open while forcing the less trustworthy to lie early on.

Limiting a Free Service (and Other Tactics)

Degrading a free service in a prescriptive way will not help to show off its potential. But limiting the service in a controlled way upfront is an honest way of qualifying the difference between the free and full service. For example, agreeing when your service can be offline or for how long it can be run uninterrupted. In fact, indicating that the service has such fine grain control may be seen as a boon. A genuine user will probably only need the app available during office hours, or can work around a known interruption by setting boundaries. This will be harder to accept for the unscrupulous.

Another targeting device, working from the other end of the customer life cycle, is to limit invitations. Targeting invitations to those attending relevant human events (conferences, dev community forums, etc.) is simple in concept — although after Covid, it may be deemed too awkward. And doing this with a worldwide audience is obviously not trivial for a small outfit. The extra marketing spend and reduction of simple access has to be measured against the increased lead quality. Sometimes this type of intention breeds a better audience in itself.

Gaming has advanced a long way through UI design to delight its users; and there are lessons here. How do you guide a new player into understanding how a game works? Game designers like to reward players who use innovative solutions to problems, but they also lay down bread crumbs for the less certain to follow. Testers will try to simulate odd things to see if they can exploit errors. Many early users of startup services are aware that they are the beta testers, yet may not be critical enough to spot and report exploitable situations. I suspect a lot of useful data is still lost early on because of this.

A strong habit of many startup web apps is to launch a chatbot when a user is starting a journey, and perhaps spending too long on a signup page. Now, this can be distracting, but it does cement a relationship early on. The startup wants to help genuine users. Obviously, this puts a bit of responsibility on the chatbot (either fully autonomous or a mix of AI agent with human backup) not to simply be an upselling device. It remains a great opportunity to see why something isn’t working.

The other side of the coin is to understand the value of “abuse” vs the advantages of access. Most big department stores accept what they call “shrinkage”, or shoplifting. They usually have security lookout for actionable cases in store, but no one has gone back to having products behind a desk that you have to explicitly ask for, as they did in the nineteenth century. I remember a very early talk on storyboarding the Nespresso service design. It covered an interesting case where they purposely made their corporate coffee machines use different sizes from their home offerings, because people kept stealing the office cups and pods to use at home. Later on, the product was sold as more of a luxury item for home users.

If you are honest about what your users want, you can also capture the grey areas that don’t really benefit you so much. Many phone games tease their audience, by making them watch ads if they don’t want to pay for the game. They gently hint at the benefits of paying, while accepting that (of course) our game is great and why wouldn’t you want to play it for free?

Service Designers: Check Your Assumptions

The increase in interest in observability, metrics and events would indicate that it is at least accepted practice to see where your customer use overlaps with your business goals, and hubris to somehow assume they naturally all do.

For any platform, there should be an increase in methods that a service designer can use to check their assumptions. If done properly, a service offering should be close enough to genuine user desires that abusers can be isolated early on. We all want to be at the best parties, but it falls to the host to put in the groundwork before sending out the invitations.

TRENDING STORIES
David has been a London-based professional software developer with Oracle Corp. and British Telecom, and a consultant helping teams work in a more agile fashion. He wrote a book on UI design and has been writing technical articles ever since....
Read more from David Eastman
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.