How much should you pay to run a Ruby on Rails application?
The truth of the matter is that it can cost very little to host a Ruby on Rails application on the internet. However, it can also cost a lot. How do you determine whether you’re getting value for money or not?
There are several factors involved in your decision. First, consider what you might need. There are some elements that almost everyone would consider essential. Some can be included as part of a hosting plan while other providers might expect you to figure it out for yourself.
As you read through the following points, keep this question in mind: How much would it cost the business if the application were to be unavailable to your staff and your customers?
1. Backups
Almost every Ruby on Rails application will have a database of information that’s being changed as users interact with the system. You’ll want this backed-up at a minimum. How often? That depends on how much the data changes and how critical it is. How much data can you afford to lose?
Additionally, if your application creates files, or accepts files from its users, then you will also want to back-up these up. Again, consider how often this should be done. They could also require significant amounts of storage.
Once you have the application and its data backed up, then consider what happens in the event of a problem. How will you get your application running again? Is that part of the hosting service? And, how do you even know if the backups have been successful and will restore a running system? Imagine the scenario where the application failed and a backup is restored, and it hadn’t actually been backing up your data correctly! Could that send you out of business?
2. Security
Are you getting a managed platform or just a computer connected to the internet? What I mean by that is, just like your own computer, there are security updates and upgrades which need to be applied. How and when are these applied? Are they even done?
3. Resiliency
If your application is business-critical, you’ll want to eliminate single points of failure to minimise downtime. This means running your application on multiple servers, so if one fails your system will stay running and available to your users. This thinking needs to be applied everywhere. How your application was architected and written will play a part in this. Poorly written applications will not scale. They might be constrained to a single computer and will need adapting to enable scaling and resilience.
4. Specialist knowledge
Each computing platform has its quirks. Choose a hosting provider who fully understands those issues and can build your hosting environment to take full advantage of its features, optimised for speed and responsiveness.
5. Support and Responsiveness
One of the most significant factors in hosting cost is the human factor, that is, do you get to talk to a human being if there’s a problem? Do they offer 24/7 coverage, and do you need it?
6. GDPR
Do you know where your application is actually hosted? And I mean literally. Do you know where in the world the data centre is? If your application holds data which is vital to your company or it contains personal information of any form, then you need to be sure it’s physically located somewhere that is suitable from a legal standpoint. In Europe, especially with the introduction of GDPR, there are strict laws which carry hefty fines if you’re found not to be compliant. Personally Identifiable Information (PII) must be stored physically in countries with adequate data protection laws. If you’re a European entity then the most straightforward, and safest option is to save your data in a data centre that’s physically located within European borders. Failing that, for providers outside of the European Union you’ll want to look for providers who are signed up to schemes such as the EU-US Privacy Shield programme.
Other services and factors to consider
Here at Foxsoft, we offer our specialist Ruby on Rails hosting services to our supported clients to provide complete peace-of-mind. In addition to handling the points outlined above, we also monitor the uptime of the application to respond quickly and efficiently in the event of any issues. We also track and report on errors that are fed back into the development cycle or addressed proactively during a maintenance retainer.
Want to check how your current Ruby on Rails hosting measures up? We cover the hosting environment extensively when we audit a Ruby on Rails system, especially when looking through the lens of the resiliency pillar. For more information, or if you’d like an informal chat about hosting then please get in touch today.