The Rails Performance Workshop

Starting March 2, 2020.

You've got a Rails app that's slow. Your users are complaining and thinking about switching to your competitor. Your boss thinks that the app is too expensive. Your clients are worried that your app won't scale to meet their needs. You're not sure what to do.

Your response times aren't anywhere near what you want and the app feels slow and burdensome to use. Maybe you've already looked at the docs for a profiler or other performance tool, but it felt like trying to parse the Voynich Manuscript. Should you just start guessing?

Someone set the dyno slider and database plan size to more-or-less random values a few months back and now you're paying thousands of dollars per month to AWS or Heroku. Are you paying for capacity that you don't need?

What about all of those weird configuration files for Puma, Unicorn or Sidekiq, did you set those correctly? What about that new client coming in next week that's going to triple your load - are you prepared?

The truth is you don't know where to start. You're busy shipping features and things your customer will pay for, and performance took the back seat.

But performance is a silent killer. Google is now using time-to-first-byte data to rank search results. Dozens of research studies have concluded that each additional 100 milliseconds of user load time reduces conversions and sales by 1%. Does your 5 second page load time feel fast now? What if we could reduce it by just 1 second, and improve your sales by up to 10%?

What if your Rails app was faster, less expensive, and more scalable?

Here's the thing: scaling Rails and making it fast as hell isn't hard. But it does require a very particular set of skills and knowledge. Wouldn't you like a world-class expert to work side-by-side with you for a month to help you improve your app?

Introducing The Rails Performance Workshop, a hands-on, 4-week online workshop taught by Nate Berkopec for organizations with Ruby on Rails applications who want to deliver better and faster customer experiences, lower their server costs, and reduce their DevOps scaling headaches.

The next session of The Rails Performance Workshop will start March 2, 2020.

The Rails Performance Workshop consists of 4 weeks of classroom instruction and tutoring with Rails performance expert Nate Berkopec. You'll learn about Rails performance and scaling concepts, then put them to work on your application each week through a series of guided exercises.

When you enroll in The Rails Performance Workshop, here's what you and your organization will do:

  • Lower your response times to 200 milliseconds or less.
  • Reduce how much you're spending on deployment, by as much as half.
  • Build a clear plan to scale for the next 12 months.
  • Apply the three-step "DRM" method to solve 80% of Rails performance issues quickly and simply.
  • Practice a simple, repeatable performance process to diagnose and solve any issue. No genius required.
  • Fix any N+1 scenario, even the weird ones that go 12 stack levels deep that you've never been able to figure out.
  • Set targets and performance budgets within your organization that make sense for you and your customers.
  • Learn how to diagnose performance issues anywhere in the stack: DB, Ruby itself, the browser, and more.
  • Understand what "breaks" simple preload/eager_load schemes and how to get around it.
  • Scale services mathematically without load testing.
  • Decipher metrics on services like NewRelic and Scout.
  • Reduce the memory usage of any Rails app.
  • ... and a whole lot more.

Attended by hundreds in-person, and now available online.

The Rails Performance Workshop has been attended by more than 300 people people in its meatspace, in-person version. Here's what some of those people have had to say:

"If you haven’t checked Nate Berkopec's training, books and tutorials yet, then I highly recommend him as an expert resource with an organized set of performance diagnostics tools. His workshop shaved $7,000/year off our Heroku bills with one change."
- Ken Mayer

"After training from Nate and a concerted effort from a few engineers, we had performance improvements of 10-50% on key flows.
- Rory O’Connell, Grand Rounds

"I have a bunch of pull requests that came out of the workshop. I have more tools in my toolset that I could use for future consulting projects."
- Ernesto Tagwerker, Ombu Labs

Fix years of performance tech debt in 4 weeks of classroom and hands-on instruction.

The Rails Performance Workshop is a highly-interactive live online course. It was specifically designed for those of you who cannot travel to a workshop or commit an entire unbroken day to a training.

Let's talk more about the approach we're going to take during this 4-week intensive workshop.

The core of the workshop is 4 2-hour classroom sessions, which run at the same time each week. During the sessions, we'll discuss techniques and strategies for Rails performance optimization, and set the theme for the week's exercises.

The workshop also consists of 4 weeks of guided pull requests and exercises that you apply to your real, production Rails application. For example, one week's exercises might consist of looking through your app for specific kinds of N+1 triggers, or profiling a specific section of your app and writing up your findings. There are no "canned" scenarios in this workshop. All work will be done on the actual application you work on every day.

Finally, there are a number of extras and goodies. You'll get video recordings of all sessions, along with slide decks. You'll get unlimited email access to Nate throughout the workshop. You'll also get a Slack channel with your fellow students.

Here's a complete syllabus.

This workshop is not just about learning, it's about results. Using a metrics-driven and hands-on approach, your application will be considerably faster and better on all performance and scaling metrics after our time together. All attendees will be encouraged to track their application's improvements and progress through a series of check-ins and assigned pieces of "homework".

What do I get besides the workshop?

Every student, in addition to participating in the workshop's live sessions and study program will also get:

  • Video recorded sessions and slide decks of everything presented throughout the workshop.
  • Access to all the examples and guides used during the course.
  • A dedicated Slack channel for your classmates to discuss course assignments during class and maintain beyond class. Nate will be active in this channel.
  • Email access to Nate throughout the course.
  • Digital copies of Nate's book, The Complete Guide to Rails Performance ($200 value).
  • (For groups of 5 or more) Personalized tutoring for your team with pre and post-workshop reviews, and pull request review by Nate on Github or Gitlab for the duration of the workshop.
  • (For groups of 20 or more) Dedicated classroom sessions scheduled at a time of your choice.
  • Learning from the comfort of your own home or place of work - no airports, no trains, no travel.

Who's teaching it?

All sessions are taught by Nate Berkopec, the author of The Complete Guide to Rails Performance. Nate has taught thousands of Rails developers and hundreds of companies how to make their apps faster through his workshops. Nate has spoken on Rails performance at dozens of conferences around the world and maintains the popular Puma application server. His past clients include Shopify, Getty Images, Appfolio and Grand Rounds.

When does it start?

This workshop begins on Monday, March 2 and runs until Friday, March 27 (4 weeks).

Each participant will attend one live classroom session per week. Each session will be 2 hours long.

There will be two time slots available for the weekly sessions. You'll choose one:

Work outside of the live classroom sessions will total approximately 2 to 5 hours per week. This work will consist mostly of improvements you will make to your Rails application. You can spend as much or as little time as you like to on the non-classroom material.

How do I sign up?

Space is strictly limited. There are 50 spots available, and we may sell out.

The Rails Performance Workshop welcomes both individuals and teams. For groups of 5 or more, personalized instruction and guidance is available. For groups of 20 or more, special scheduling and additional perks are available.

If you're not satisfied, we cover our workshop with a 100% money-back guarantee.

The Rails Performance Workshop

March 2 - March 27 2020
  • 4 live classroom sessions
  • Dozens of hands-on exercises
  • Video recorded sessions and slide decks
  • A dedicated Slack channel
  • Email access to Nate.
  • The Complete Guide to Rails Performance ($200 value).

The cost of attending the workshop is $945 USD/person.

"Nate saved us $20,000/year on our Heroku bills in less than 15 minutes, and identified further improvements that saved us $40,000/year."
- Jon S.

"With Nate's help, we quickly identified a serious performance issue and improved overall performance by 9x by changing just a few lines of code."
- Avi L.

How much time do I need to commit to the workshop?

You'll need 2 hours each week for the classroom session, plus 2 to 5 hours each week to work on the guided exercises where you'll be improving the performance of your Rails app (not busy work!). We generally suggest that if you invest about 20% of your time in March (1 day/week) to improving the performance of Rails app, you'll get the most out of the workshop.

However, the time commitment is flexible - you get what you give, but if you only have a few hours each week to give, that will work, too.

How is this different from your course, The Complete Guide to Rails Performance?

The CGRP is the "DIY" version of this workshop. If you're comfortable teaching yourself or your company from my material, you should do that. However, if you like the structure and personalized, hands-on instruction of a more guided environment, along with the accountability-checks of your study group and the instructor, the workshop will be a better choice for you.

I have more questions about logistics.

Nate will deliver content live via Zoom during each of your weekly sessions. To participate successfully you will need a computer with a webcam, microphone, headphones and a good internet connection.

We will be using Zoom as our primary tool with exercises taking place within Zoom and also in other tools, like Github.

Each study group will have an assignment to complete between sessions. There will be videos to watch in advance of each session. We anticipate that, at most, this will be an hour of prep in advance of each class.

Nate will be available to all participants via a Slack channel dedicated to the workshop during the 4-week course and beyond.

Can I attend a different time for the classroom sessions each week?

No. You must attend the same time every week.

What about daylight savings time?

We're going to observe the USA DST shift on Sunday, 8 March. So, if you don't live in the USA, that may change the time that you'll be attending the live session. We'll be sending out reminder emails, too.

Will you be running this workshop again at a later date?

There are currently no plans to run this workshop again.

The Rails Performance Workshop

March 2 - March 27 2020
  • 4 live classroom sessions
  • Dozens of hands-on exercises
  • Video recorded sessions and slide decks
  • A dedicated Slack channel
  • Email access to Nate.
  • The Complete Guide to Rails Performance ($200 value).

The cost of attending the workshop is $945 USD/person.