Blog

5 Reasons to do a Rails App Health Check

Placeholder Avatar
Lance Cohen
November 9, 2014

**Here at reinteractive, our team have experience in developing and supporting many, many Ruby on Rails applications, from small startups to large scale multi-tenant applications, serving hundreds of thousands of users every day.

Over the years we’ve found that you’d normally seek help from an external development team or look to bring in an internal expert only when things go wrong, just as you generally only go to the doctor when you find an ache or a pain.

The App Health Check is equivalent of your yearly physical where your doctors takes a look at your vital signs and makes sure they are within reasonable limits. Ideally you have have this done, proactively, regardless whether anything is ‘wrong’. In the medical world, they say that prevention is always going to be a lot cheaper than trying to cure an issue after it has become a problem.

We believe this is also the case for the health of your web app, so here are 5 reasons doing an App Health Checklist now can save you from a trip to the ‘doctor’ in the future:

1. Get an Objective Perspective on your Application

By giving your application to a third party, and even more so to a team of developers who are experts in Rails, you can get a cost effective and rapid, independent evaluation of the state of your app.

It is important to have a second set of eyes take a look at your app to assess on a high level how its been architected, if best practices have been followed and to look into obvious security and performance issues.

2. Identify the Level of Technical Debt

Sometimes due to time pressure, lack of process or budget constraints, developers can take shortcuts. This means their code gets the job done in the short term, but long term, the application has not been built in a robust way, leading to stability issues, potential security vulnerabilities, as well as inefficient and unmaintainable code. If this debt is not repaid, it will accumulate interest, making it harder to implement changes later on.

3. Identify Lack of Process and Documentation

It is really important for an application to have a good README. Every Rails app follows many conventions on how to operate, but getting any new Rails app installed and running can be a real pain if you don’t have all the data you need to do this.

At reinteractive we deal with dozens of Rails applications, and we use this README template to make sure the critical information is captured.

The app Health checklist will help you find out if your README and documentation is relevant and up to date. It is also important to find out if your development team have been using proper processes such as version control, test/behavioural driven development, database seeding, continuous integration servers and acceptable branching.

4. Find Out if Best Practices are Being Followed

Rails is a very opinionated framework and there are certain conventions to follow, such as DRY (don’t repeat yourself), the Rails way and single responsibility principle, but do you know if your developers are following them? If not, your code could be much less manageable, maintainable and can lead to unexpected issues within your application.

5. Risk Mitigation

Every application is built to within constraints. They can be budget, time or available resources. Additionally, the deep knowledge about the application, including it’s risks and dangers is usually locked up in the heads of the project team. A good App Health Checklist can put you on the right track to find these important factors out and highlight them for further work. Knowing now that the application has a major technical concern is much better than finding out after one of your project team becomes unavailable.

The App Health Checklist can also be the precursor to a full Inspect Service which provides an even deeper technical analysis of the application state.

6. Low Cost and Fast Turn Around (bonus)

While we promised you 5 good reasons, there is a 6th bonus reason; Performing a quick routine app health checklist takes no time at all and can be turned around rapidly. Take advantage of our app health checklist service allows us to identify good and bad parts of your Rails application and leverage our expert team, our collective experience and our processes for a tiny cost.

Contact us to get your App Health Checklist started today.