Rails Maintenance: How to Determine if Your App is Ready
Reading time: ~ 6 minutes
Launching your Rails app probably felt like the most important part of the whole project- it was the final stage, the point you'd been working towards, and the goal you'd been reaching for. But actually, the launch was just a part of the equation. Consistent Rails maintenance is another essential aspect to consider. Your app is now a living thing and needs to be taken care of, nurtured, and maintained to function as it was designed to. Kind of like a house plant except that it requires a precise amount of distilled water with a particular amount of nutrients, and if bugs infest the leaf, the whole branch falls off.
A thriving app requires you to respond to updates and bugs in real-time to maintain stability and security. You'll also want to expand your app's capabilities, build new features, implement upgrades, and improve the design. How do you know if your app is ready for this commitment? What does Rails maintenance entail? How will your organization benefit?
Let's explore these questions and discover if a Rails maintenance retainer is right for you.
Every Ruby on Rails application needs routine maintenance, but the real question is: Do you have a developer internally or a team of developers dedicated to taking care of these issues? If you do, you're already ahead of the game (probably multiple steps!). However, you could also have a development team that is overloaded or overwhelmed with other tasks. In addition, upgrades can get de-prioritized because they're time intensive and mostly invisible to how the website looks and feels.
If you don't have anyone dedicated to routine maintenance, this is where you could potentially fall behind on Ruby and Rails versions and security patching.
Some organizations may use 3rd party services, like Stripe or Heroku, to improve their applications. But to ensure these services are healthy, regular rails maintenance is required to keep them running. It works like magic, but even magic needs a magician!
Is This Service for You?
It's a good time to look into a monthly Rails maintenance retainer agency if your situation can be described as any of the following:
- You don't have internal developers, or they're no longer with your organization, so you may not have someone checking on these routine maintenance issues anymore.
- You have a high-functioning team skilled in developing features but don't have time to take care of maintenance and support issues.
- You're not in an "emergency" situation, but you're thinking ahead about needing regular services.
What It Entails
Routine maintenance includes Ruby or Rails version upgrades, security patching for Ruby Gems, and vulnerability monitoring based on findings by the Ruby on Rails community.
With a dedicated monthly retainer, you can feel confident that a team of developers is regularly monitoring and performing security patches.
We work on multiple client applications, so we see where the vulnerabilities manifest and can often address them quickly- before you or your users even detect them. In addition, because our Rails maintenance services are customized, we build plans and maintenance schedules to work for any type of application, including education, e-commerce, marketing, legislative, healthcare, and others.
One of our clients, Newspaper Club, received notices from AWS (Amazon Web Services) informing them that they needed upgrades. These issues were previously handled by an internal developer, who no longer worked with the company, so they needed a new plan. This led them to explore their options: hire another full-time developer to take care of maintenance (weighing the cost of hiring, supporting another salary, etc.); or partner with an agency that could take care of these issues without the extra overhead costs. They chose to partner with us so they could work on other priorities within their organization.
Another one of our clients, JustinGuitar, has an internal developer on staff, but he doesn't have the extra time to work on maintenance issues. We jumped in quickly to help set up processes (auto deployments) that were easy to understand and effective in resolving lingering security vulnerabilities. This alleviated roadblocks for their developer and allowed the team to know that their app was safe and secure while progress was being made.
Then we helped them clear up backlog tasks and helped improve the development process for deploying apps, improving their staff's workload efficiency. The benefit is that they no longer have to worry about security patching, allowing them to spend time on urgent fixes, feature improvements, and long-term projects.
All of our sustaining clients use a maintenance retainer of some kind - some are quarterly instead of monthly. We also offer one-off projects, like building a custom webpage for a marketing campaign. Some clients may just need one-off projects, like building a custom webpage for a marketing campaign or a burst of work to clear out their backlog. But they can handle their own maintenance with the new free time that we helped them clear out. These examples would be more of a sprint-based service.
Minor updates to a website are common. Some examples would be:
- A text change to a static page (like a company's mission timeline).
- An update to an item's pricing.
- Adding or removing a link to a temporary page.
Is This Service for You?
Your team could be focused on new improvements, but maybe they're unavailable to make small changes/updates for things like text changes, link changes, or updates in terms of services. Or, if you no longer have an on-staff developer but need a few small updates done each month, this service would benefit your organization.
What It Entails
When paired with our monthly maintenance retainer for things like security patching, these small changes don't need to be built into their own separate budget. This means there's flexibility for you and Planet Argon to handle changes as they come.
If these are manageable for you, what about a team to help you improve your app testing? Slowly, over time, efficient testing can help with your long-term app stability, and this is another feature we offer in our monthly maintenance retainers.
There are several benefits of having a monthly retainer to resolve small changes. First, you're not reliant on project planning or a hefty scoping period. Second, changes can be added to an existing month's workload fairly easily. Most importantly, multiple skilled developers can jump on a task if the change needs to be made in a short time frame.
Here's an example of how this looks with one of our clients. Newspaper Club has an app where they rotate paper stock for their printing service. However, sometimes a paper stock runs out, and they need to announce or remove the ability to order that paper stock on the website. This would fall under the "small updates" category- not super time-sensitive, but it needs to happen so the site is updated and customers have a pleasant experience.
Another example of minor updates is for clients who use Google Analytics. Google is discontinuing Google Analytics 3, and everyone with an account will need to move over to Google Analytics 4. This is a common issue and relatively time-sensitive. It's also a time-consuming project with various set-ups and events that need to be migrated.
In today's ecosystem, around-the-clock monitoring has become critical for web development and website sustainability. Thanks to the ease of service integrations like Salesforce, Ghost CMS, and Spree, a lot of website functionality is pushed to other platforms with their own team of reliable engineers. But, as mentioned before, there are still interruptions to those connections. Servers have maintenance windows, and sometimes 3rd party upgrades can break the handshake that happens between a 3rd party service and the website your clients see.
Is This Service for You?
For clients who rely on their website to sell products, or to allow access to lesson-based videos, hundreds of users could be affected by even a couple of hours of downtime. This is especially important for apps that have international users across multiple time zones. Not all users will be on your website just during your business hours. A couple of hours of downtime could be disastrous. If you don't have time to take care of an alert or continuous monitoring, a maintenance retainer could be just what you need to ease your mind and protect your app.
What It Entails
This might vary depending on the agency you use, but we offer website activity monitoring, uptime monitoring, and active error tracking. These types of errors are active, silent bugs happening in the system. They're caught by monitoring tools and can show trends of errors or user experience. For example, if a client has received several customer complaints about a contact form, we can look at what's happening in the form on an error-tracking level. It could be that there's a validation issue or that the program expects a specific result that makes it harder for users to enter data easily.
Our goal is to know and understand the issues early on and help create a solution before it raises a complaint or a ticket. We use 24-hour alerting services with an emergency management plan, so you don't have to worry about constant manual monitoring. How nice would it be to know that a team of developers is on top of regular security patching and minor updates to the application?
We've had a few instances where a website's uptime fluctuates without any user experience issues (meaning, no one notices) that would indicate a more significant problem with the app. In fact, people won't know at all unless they have a monitoring service. So imagine your website peaking, using up all its resources, and then crashing because no one knew something serious was going on deeper within the program.
How Will You Maintain Your Rails App?
You should be able to trust that your app is working as it's designed and backed up with the proper support and maintenance, whether you have in-house developers or you decide to partner with an agency.
Click the link below to learn more about our no-risk Rails Support & Maintenance Retainer.