Finally, Real-Time Django Is Here: Get Started with Django Channels

Django Channel header

Today, we're thrilled to host Jacob Kaplan-Moss. Jacob's a former Herokai and long-time core contributor to Django, and he's here to share an in-depth look at something that he believes will define the future of the framework.

When Django was created, over ten years ago, the web was a less complicated place. The majority of web pages were static. Database-backed, Model/View/Controller-style web apps were the new spiffy thing. Ajax was barely starting to be used, and only in narrow contexts.

Read more โ†’

How to Deploy Your Slack Bots to Heroku

Starbot

Whether they're publishing notifications, responding to /slash commands or carrying a conversation, bots have become an integral part of the way we work with Slack. A bot can do any number of things for your team as part of your day-to-day work, you're only limited by your imagination. For some first-hand experience, check out the Heroku Button Gallery, where users have created all types of bots: from fun bots like poker and Jeopardy!, to more practical ones like a bot that tracks the satisfaction of your team members or one that reminds your team to review existing pull requests.

That said, the real power and fun of Slack bots comes once you know how to build your own. In this post, we'll show you how to create and deploy a Slack bot that will respond to /slash commands in order to show the top trending repos in GitHub. While a Slack bot can be built in practically any language, today we're going to build ours with Node, and not just because I ๐Ÿ’– Node. Anything beyond a simple notification bot depends on Slack's WebSocket-based RTM (Real Time Messaging) API, and WebSockets and Node go together like ๐Ÿ”๐ŸŸ.

Read more โ†’

Using Netflix Zuul to Proxy your Microservices

A common challenge when building microservices is providing a unified interface to the consumers of your system. The fact that your services are split into small composable apps shouldnโ€™t be visible to users or result in substantial development effort.

To solve this problem, Netflix (a major adopter of microservices) created and open-sourced its Zuul proxy server. Zuul is an edge service that proxies requests to multiple backing services. It provides a unified โ€œfront doorโ€ to your system, which allows a browser, mobile app, or other user interface to consume services from multiple hosts without managing cross-origin resource sharing (CORS) and authentication for each one. You can integrate Zuul with other Netflix projects like Hystrix for fault tolerance and Eureka for service discovery, or use it to manage routing rules, filters, and load balancing across your system.

Read more โ†’

Migrating from the Mandrill Add-on

Last week MailChimp announced that they are shutting down the Mandrill Heroku Add-on, giving users until April 27th to migrate to another solution. Many of our customers have sought guidance on how and where to migrate, so we have asked our email providers to create guides for migrating from the Mandrill add-on to their respective services.

Read more โ†’

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 โ†’

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