No one really wants to do an upgrade
So many things could go wrong, and maintaining the status quo can feel, well, safe, right? Except the longer you wait the more likely something will go seriously wrong.
We can help you simplify and plot out the best course for an upgrade based on your unique situation—and how your engineering team needs to tackle daily production work.
We focus first on setting up a strategy for an approach that won't disrupt the day-to-day. We also put a plan in place to leave the team in a better state to run with Rails upgrades moving forward. So no one needs to stress about future Rails version updates. Because there are always future Rails updates!
Find out how the best kind of Rails update can go
Start the conversationCollaboration pays off for Gusto
Test Double came in to boost Gusto’s technology stack and upgrade from a legacy version of Rails, so their team could continue to deliver critical features and ship new products.
Rails upgrades can be complicated. We brought together a comprehensive approach that considered things like impacts to unexpected areas, working within unique constraints of their team, and minimizing disruption to to critical day-to-day production.
A more predictable upgrade plan built on experience
Read about how we did itAvoid downtime and mitigate risk while updating Rails versions
Zero downtime Rails upgrades is a fancy way of saying updating Rails versions doesn’t have to be a blocker.
We'll work with your team to proactively identify risks specific to your Rails version situation. Our experienced consultants will work to mitigate and reduce the amount of time necessary to address risks and blockers.
- Dependencies identified and prioritized
- Current versions of Rails running with functioning tests and test coverage
- Dual boot strategy that works for your team
Most importantly, we'll empathetically help your team get comfortable with continuous small changes to help manage the risks and address stakeholder concerns. We believe in incremental progress, enabling learning, and communication to help others understand changes so future upgrades are easier.
Perspective on what to expect
Chat about our approachTips and tricks for your upgrade strategy
Rely on our experience updating the largest Rails codebases in the world
Rails version updates can be a slog. We've been there at some of the biggest Rails shops around—and learned a few useful things to help make your upgrade go smoother.
While helping GitHub with their Rails upgrade we contributed ActiveSupport's Disallowed Deprecations to help others. While working on more upgrades we contributed gem_dating to show how long it's been since a gem received any attention.
Supporting two versions of Rails can be easier with a dual boot strategy. And what about starting your upgrade work before ever running 'bundle update rails'? Let deprecations work for you.
How does a zero downtime Rails upgrade sound?
Watch the talkYou get an upgrade, and you get an upgrade ...
Our Double Agents have worked on upgrades across a wide variety of languages, frameworks, and situations:
- Ruby on Rails shops as large as GitHub and Gusto
- Ruby, Rails, Elixir, React, Vue, Golang, Python, Angular, AngularJS, PHP, Vue, and more
- Gems, JS packages, developer tooling, CI/CD, logging, analytics tooling
- Startups and privately held companies at inflection points for scaling
We've come across a wide array of upgrade-related challenges and helped clients emerge with more secure, more maintable codebases.