Reactive Ruby: Building Real-time Apps with JRuby and Ratpack

Nothing beats Ruby when it comes to rapid development, quick feedback, and delightful coding. The Ruby runtime and traditional ruby frameworks favor synchronous programming, which makes them easy to use and understand. But microservices and real-time apps require asynchronous programming and non-blocking IO to enable maximum throughput. That's where JRuby comes in.

You can build reactive microservices in Ruby using JRuby and frameworks like Ratpack. JRuby interprets Ruby code into Java Virtual Machine (JVM) bytecode to gain the performance and concurrency benefits of Java without writing any Java code or XML. But the performance benefits of the JVM are just the beginning. You can also...

Read more →

Announcing Heroku Free SSL Beta and Flexible Dyno Hours

At Heroku, we want to make it easy for everyone to be able to learn and explore our service, and the related ecosystem of technologies, for free - be it student, professional developer, hobbyist or just curious individual. We view this as both part of our mission and our business model; it has never been a more interesting - or important - time to be a developer, and we want to help everyone become one.

Today we are announcing two important updates to help bring us closer to that goal: a new and free SSL service and a more flexible way to use free dyno hours. Heroku SSL is being introduced as beta today, and will be rolled out over the coming weeks and months; flexible dyno hours roll out...

Read more →

Where Will Ruby Go Now? Talking with Tenderlove at RailsConf

DSCF4286 Last week at RailsConf in Kansas City, Terence Lee and Richard Schneeman of Heroku’s Ruby Task Force sat down with the legendary Aaron Patterson (AKA tenderlove).

Aaron has been working hard to make Ruby three times faster — a goal that Matz called Ruby 3x3. Along the way, Aaron has discovered that Ruby may face a hard decision. On one side, Ruby can continue to be the productive, general-purpose scripting language that it looks like today. But the other side of Ruby is that it’s used to run long-running processes in Rails applications, pushing it to be more performant, strongly-typed, and memory-heavy. Ruby can't prioritize both.

To find out where Aaron thinks Ruby’s going, you can...

Read more →

Heroku Connect APIs Now GA

Today we’re announcing that the APIs for the Heroku Connect data synchronization service are now GA. These fully supported endpoints will help our users with the tasks they most need repeatable automation for: creating consistent configuration across development, staging, and production environments; managing connections across multiple Salesforce deployments; and integrating Heroku Connect status with their existing operational systems and alerts.

When we first released Heroku Connect, users were delighted with the simple point and click UI: they could suddenly integrate Salesforce data with Heroku Postgres in one enjoyable minute! But as users’ familiarity with the service has grown...

Read more →

Real-Time Rails: Implementing WebSockets in Rails 5 with Action Cable

It's been one year since Action Cable debuted at RailsConf 2015, and Sophie DeBenedetto is here to answer the question in the minds of many developers: what is it really like to implement "the highlight of Rails 5"? Sophie is a web developer and an instructor at the Flatiron School. Her first love is Ruby on Rails, although she has developed projects with and written about Rails, Ember and Phoenix.


Recent years have seen the rise of "the real-time web." Web apps we use every day rely on real-time features—the sort of features that let you see new posts magically appearing at the top of your feeds without having to lift a finger.

While we may take those features...

Read more →

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