Today, we're excited to introduce Go as the newest officially supported language on Heroku. Over the last 2 years we’ve fallen in love with Go, an expressive, concise, clean, and efficient language with built-in concurrency, making it easy to write and maintain network services, microservices and high-traffic API endpoints.

Now when writing Go you can leverage Heroku’s great developer experience and platform to quickly build apps your users can depend on. This includes the familiar git push heroku master, review apps, metrics within your dashboard, and much more. As you'd expect, Heroku doesn't introduce any changes to your Go application runtime or dependencies. Your code is...


Fun fact: the Heroku API consumes more endpoints than it serves. Our availability is heavily dependent on the availability of the services we interact with, which is the textbook definition of when to apply the circuit breaker pattern.

And so we did:

API web queue, p95 latencies

Circuit breakers really helped us keep the service stable despite third-party interruptions, as this graph of p95 HTTP queue latency shows.

Here I'll cover the benefits, challenges and lessons learned by introducing this pattern to a large scale production app.

A brief reminder that everything fails

Our API composes over 20 services – some public (S3, Twilio), some internal (run a process, map DNS record to an app) and some provided...


Today we’re pleased to announce general availability of Heroku Redis with a number of new features and a more robust developer experience. By giving developers a different data management primitive, we’re helping them meet the needs of building modern, scalable applications. The classic example of using multiple data stores in an application is the e-commerce site that stores its valuable financial information in a relational database while the user session tokens are saved in a key-value store like Redis. This is one of the use cases where Redis has proven to be instrumental in solving problems like caching, queuing and session storage, just to name a few.

In addition to making Heroku...


Today we are announcing that Heroku’s new dynos are generally available. This new suite of dynos gives you an expanded set of options and prices when it comes to building apps at any scale on Heroku, no matter whether you’re preparing for traffic from Black Friday shoppers or deploying your first lines of code. Thanks to everyone who participated in the beta and provided feedback and bug reports.

What does this mean for you? Beginning today, all new applications will run using these new dynos. You can migrate your existing paid applications to the new dynos at any convenient time until January 31, 2016, when we will sunset the traditional dynos. We will begin migrating free applications...


Last year, we launched Heroku Button to make it simple for developers to deploy open source code to new Heroku apps. Open source contributors can add Heroku Buttons to GitHub READMEs, tutorials and blog posts and make their projects instantly deployable to Heroku, as apps fully provisioned with add-ons and other required configurations. Two months ago we introduced Elements where more than 1700 public Heroku Buttons are profiled alongside add-ons and top buildpacks.

Today, we're happy to announce Heroku Buttons for projects maintained by your team in private GitHub repos. This new feature uses Heroku's GitHub integration to securely deploy code referenced by buttons on private...


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