Dawn of the Dead Ends: Fixing a Memory Leak in Apache Kafka

At Heroku, we're always working towards increased operational stability with the services we offer. As we recently launched the beta of Apache Kafka on Heroku, we've been running a number of clusters on behalf of our beta customers.

Over the course of the beta, we have thoroughly exercised Kafka through a wide range of cases, which is an important part of bringing a fast-moving open-source project to market as a managed service. This breadth of exposure led us to the discovery of a memory leak in Kafka, having a bit of an adventure debugging it, and then contributing a patch to the Apache Kafka community to fix it.

Issue Discovery

For the most part, we’ve seen very few issues...

Read more →

Deploying React with Zero Configuration

So you want to build an app with React? "Getting started" is easy… and then what?

React is a library for building user interfaces, which comprise only one part of an app. Deciding on all the other parts — styles, routers, npm modules, ES6 code, bundling and more — and then figuring out how to use them is a drain on developers. This has become known as javascript fatigue. Despite this complexity, usage of React continues to grow.

The community answers this challenge by sharing boilerplates. These boilerplates reveal the profusion of architectural choices developers must make. That official "Getting Started" seems so far away from the reality of an operational app.

New,...

Read more →

Threshold Alerting for Application Metrics Now Generally Available

Today we're announcing two new features that will help you better manage and run apps on Heroku: Threshold Alerting and Hobby dyno metrics. Threshold Alerting provides the ability to set notification thresholds for key performance and health indicators of your app. We’ve also extended basic Application Metrics to Hobby dynos to provide basic health monitoring and application guidance. Together these features allow you to stay focused on building functionality by letting the platform handle your app monitoring.

Threshold Alerting

There are many ways to measure the health of an application. The new alerting feature focuses on what is most important to the end users of your app:...

Read more →

Real-World Redis Tips

Redis might sound like it’s just a key/value store, but its versatility makes it a valuable Swiss Army knife for your application. Caching, queueing, geolocation, and more: Redis does it all. We’ve built (and helped our customers build) a lot of apps around Redis over the years, so we wanted to share a few tips that will ensure you get the most out of Redis, whether you’re running it on your own box or using the Heroku Redis add-on.

Use a Connection Pooler

By using a connection pooler, you'll reduce the connection overhead and therefore speed up operations while reducing the number of connections you use.

Most Redis libraries will provide you with a specific connection pooler...

Read more →

How Combatant Gentlemen Solved Service Discovery Using Heroku Private Spaces

Scott Raio is Co-Founder and CTO of Combatant Gentlemen, a design-to-delivery menswear e-commerce brand. Read our Combatant Gentlemen customer story to learn more about how Heroku helped them build a successful online business.

What microservices are you running in Heroku Private Spaces?

We’ve written an individual service for every business use case. For example, we have services for order processing, product catalog, account management, authentication, swatch display, POs, logistics, payments, etc.

With all these different services, we chose Heroku Private Spaces as a way to make service discovery easier. We’re currently running about 25 services, which is a relatively small number...

Read more →

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.