Search overlay panel for performing site-wide searches
Salesforce (Heroku) Named a Leader. Learn More!

Heroku Blog

At Heroku, we're always working towards improving operational stability with the services we offer. As we recently launched Apache Kafka on Heroku, we've been increasingly focused on hardening Apache Kafka, as well as our automation around it. This particular improvement in stability concerns Kafka's compacted topics, which we haven't talked about before. Compacted topics are a powerful and important feature of Kafka, and as of 0.9, provide the capabilities supporting a number of important features. Meet the Bug The bug we had been seeing is that an internal thread that's used by Kafka to implement compacted topics (which we'll explain…

As we begin 2017, we want to thank you for supporting Heroku. Your creativity and innovation continues to inspire us, and pushed us to deliver even more new products and features in 2016. We especially want to thank everyone who helped us by beta testing, sharing Heroku with others, and providing feedback. Here are the highlights of what became generally available in 2016. Advancing the Developer Experience Heroku Pipelines A new way to structure, manage and visualize continuous delivery. Heroku Review Apps Test code at a shareable URL using disposable Heroku apps that spin up with each GitHub pull request.…

The Ruby maintainers continued their annual tradition by gifting us a new Ruby version to celebrate the holiday: Ruby 2.4 is now available and you can try it out on Heroku. Ruby 2.4 brings some impressive new features and performance improvements to the table, here are a few of the big ones: Binding#irb – Runtime Invocation for IRB Unified Integers – Fixnum and Bignum are now Integer Rounding Changes – More Accurate Kernel#sprintf Rounding Background: 32-bit vs 64-bit Word Length C Data Models Fixnum Sizes Across Rubies Proposed Changes Gaussian Rounding Hash Changes – Open Addressing for Cache Utilization via Full Cycle LCG Background: Processor Caching A DIY Hash: TurboHash Open Addressing Linear Probing The Linear Congruential…

During the development of the recently released Heroku SSL feature, a lot of work was carried out to stabilize the system and improve its speed. In this post, I will explain how we managed to improve the speed of our TLS handshakes by 4-5x. The initial reports of speed issues were sent our way by beta customers who were unhappy about the low level of performance. This was understandable since, after all, we were not greenfielding a solution for which nothing existed, but actively trying to provide an alternative to the SSL Endpoint add-on, which is provided by a dedicated…

Today we are announcing the newest version of the Heroku CLI. We know how much time you spend in the CLI as developers and how much pride you take in being able to get things done quickly. Our new CLI has big improvements in performance as well as enhanced readability for humans and machines. Tuned for Performance CLI response time is made up of two parts: the API response time and the performance of the CLI itself, and the latter is where we’ve made big improvements. While a typical Unix user should experience responses that are around half a second…

Postgres is our favorite database—it’s reliable, powerful and secure. Here are a few essential tips learned from building, and helping our customers build, apps around Postgres. These tips will help ensure you get the most out of Postgres, whether you’re running it on your own box or using the Heroku Postgres add-on. Use a Connection Pooler Postgres connections are not free, as each established connection has a cost. By using a connection pooler, you’ll reduce the number of connections you use and reduce your overhead. Most Postgres client libraries include a built-in connection pooler; make sure you’re using it. You…

Subscribe to the full-text feed.