Systems | Development | Analytics | API | Testing

An Introduction to Solid Queue for Ruby on Rails

One of the most exciting additions to Rails 8 is undoubtedly Solid Queue, a new library for processing background jobs. You might not think it's that big of a deal. After all, there are plenty of other queuing systems out there. If you work with Rails, you'll likely know about Sidekiq and Resque — both are exceptionally performant and reliable. There is also GoodJob and the venerable DelayedJob. With all those options available, do we really need another queuing system? Let's find out together.

Is No PaaS really a good idea for Rails?

Rails 8 shipped with a bold premise: “No PaaS Required.” As cloud platforms have grown more costly, Ruby on Rails has shifted to reducing external infrastructure dependencies so that developers can deploy and run applications with fewer ever service dependencies. Traditionally, deploying a Rails app to the internet has meant provisioning a database server (e.g., PostgreSQL) and additional services like Redis for caching, background jobs, or WebSockets.

Caching Strategies for Ultra-High Performance in Ruby on Rails, Part 2

In the part 1 of this series, we covered the fundamentals of caching (like fragment and Russian Doll caching). Before continuing, read that post here. This time, we’ll look at understanding Rails cache stores at a deeper level, so let’s jump in! Before we start part 2, let’s note that another way to make sure your Rails apps are ultra-fast is with Scout’s integrated monitoring and logging, so you can spot problems before your users do.

Better stability with Rails load testing in Apache JMeter

Before we can release our software to end users, we must perform different kinds of tests to ensure that the application is bug-free and meets business requirements. When users begin using the application, various things can cause the application to behave unexpectedly, for some of the following reasons: For large-scale applications, these things are crucial to know before a full-fledged release.

Caching Strategies for Ultra-High Performance in Ruby on Rails, Part 1

When it comes to optimizing web applications, a proper caching strategy is critical because it can significantly reduce load times and improve the overall user experience. This is especially true for Ruby on Rails applications, where performance can often experience bottlenecks due to heavy database queries or complex view rendering.

How to use Solid Cache in Rails

The concept of caching is an important one in computer science and is directly relevant to building web apps. At a high level, caching takes advantage of the fact that memory lookups are faster and less compute-intensive than database queries. If you have a database query that might get made repeatedly, caching the result in a cache speeds up that flow of execution. Rails applications are no exception as they often use memory-based caches like Redis to cache data and improve application performance.

Rails async queries by example

While there were plenty of exciting changes that shipped with Rails 7, asynchronous querying has by far been one of the most talked about features. This is because asynchronous queries can drastically improve the performance of your application by executing long-running queries or complex queries in the background. To better understand why and how this works, let's start by digging into the core of what a Rails async query is.

What's new in Rails 8

Rails 8 is finally here, and it's shaking things up in a pretty exciting way. If you're already active in the Rails community, you might have heard the tagline: "No PaaS Required." This is an unusual (but not surprising) mission—the release is all about making it easier to deploy your Rails apps without needing a fully-featured platform-as-a-service (PaaS).

A practical GitHub Actions pipeline example with Rails

Continuous integration (CI) pipelines are an important part of building and deploying reliable software. Whether it's building a Docker image, running tests, or even just doing code linting, CI pipelines help you automate repetitive tasks and ship better code even faster. GitHub Actions lets you create pipelines to build containers, test source code, and publish software.