Introducing Add-on Controls: Standardize Add-ons for Your Team

Today we are introducing Add-on Controls for Heroku Enterprise customers. This new feature enables team leads to whitelist specific add-ons for approved use within their organization, choosing from our marketplace of over 150 add-on services. The ability to standardize the add-on technologies being used across all the apps and developers in their organization is something many customers have asked for, especially those with fast-growing teams.

Read more →

Django 1.9's Improvements for Postgres

A big update to the beloved Python web framework known as Django was released recently: Django 1.9. This release contains a long list of improvements for everything from the graphical styling of the admin to the ability to run your test suite in parallel.

Our favorite improvements to the framework were, of course, all about our favorite database: Postgres. Here are some of the highlights from the official release notes (highly recommended reading).

Read more →

Microservices in Go using Go-kit

Go-kit is a distributed programming toolkit for building microservices. It solves the common problems encountered while building distributed systems, so you can focus on your business logic. This article starts with a bit of background on microservices, then guidance on how to get started with Go-kit, including instructions on getting a basic service up and running on Heroku.

A Brief Intro to Microservices

Traditionally, web applications are built using a monolithic approach where the entire application is built, designed, deployed and maintained as a single unit. When working with a monolithic application various problems can arise over time: it’s easy for abstractions to leak across modules, tightly coupling them; different parts of the application may need more processing power than others, forcing you to scale in unpredictable ways; changes involve building and deploying a new version of the entire application; and tests can easily become convoluted and/or take an excruciatingly long time for the full suite to run.

A microservice based design addresses these issues. Applications designed using microservices consist of a set of several small (hence the term “micro”) services cooperating and communicating together. Separation between services is enforced by the service's external API. Each individual micro service can be scaled and deployed separately from the rest.

Read more →

Building a P2P Marketplace on Heroku: An Interview with Vitali Margolin

Based in Tel Aviv, Israel, Vitali Margolin is the Head of R&D for Roomer. Vitali leads a team of seven developers who built and operate the travel marketplace and the travel protection service, both running on Heroku.

What are you running on Heroku?

The four big projects are: the Roomer website, our administration app, our partner network and B2B website, and the Roomer API. The Roomer API is our highest load app. It can get up to 10k requests per minute from partner integrations such as Kayak. We have a few more technical products, including an app that does text recognition and automatically decodes confirmation emails, as well as a smart pricing system and a search algorithm.

About 90% of everything runs on Heroku. We have ten “pipelines” which represent ten projects. In every pipeline we have staging, production, and a few sandboxes, so I’m guessing we have about 50 apps total on Heroku.

Read more →

Heroku Pipelines Emerges from Beta

Today is a big day for Heroku Pipelines — our continuous delivery feature that provides a visual sequence of app environments in which to test, stage, and deliver code through to production. Pipelines is now released for General Availability (GA).

A simple, three-stage Heroku Pipeline.

Heroku Pipelines provides teams of all sizes a new way to visualize and manage the development of applications, features, and fixes from dev and test, to staging, to production (and supports even more stages if that's your team's thing). Each Pipeline stage contains the Heroku apps, resources, and add-ons necessary to test your applications before "promoting" it to the next stage.

The Pipelines GitHub integrations include automatic or manual deployment of branches, and a new way to test GitHub pull requests in disposable Heroku "review apps" before you merge the code -- with workflow support for the CI you already use with GitHub.

“Heroku Pipelines works seamlessly with GitHub to bring the code in your pull requests to life, providing a streamlined continuous delivery workflow,” said Tim Clem, Product Manager, GitHub. “Pipelines integrates with the GitHub API to deliver a fantastic developer workflow.”

Read more →

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