We’ve discussed in depth what it costs to develop a custom web application in the past. But once your application is up and running, it doesn’t necessarily become a free resource that will continue to operate on its own to make your company money.
Custom Rails apps require upkeep, time, and yes...money, to operate smoothly in the long run. The costs of maintaining an application are important to consider before going down the road of creating a custom app.
We put together a list of some of the common long-term and recurring expenses you can expect to come across when your core business relies on a Ruby on Rails app, and all of these expenses apply to custom web applications built in other frameworks as well.
Ongoing development costs
Just because your custom Ruby on Rails application is up and running in production doesn’t mean you should fire your development team to cut costs. As with all other parts of your business, your application will need routine maintenance and evaluation over time to stay relevant.
With that said, it’s typical to see your development costs decrease after your application has been out in the wild for some time. If you’re working with a development agency or freelancer to build your app, the total number of hours spent on your app may decrease after your core features have been released.
Of course, it’s normal for the amount of work (and money) spent on your app to ebb and flow over the lifetime of your application. When your business goals shift and new features need to be added, costs will go up. When there are no major changes on the horizon and your development team is only focused on bugs and updates, costs will go down. If you partner with an external development team, it’s helpful to communicate these long-term plans as they are discussed within your team. This will help your team plan and prioritize for your work.
Regardless of whether you have an internal development team or you’ve partnered with an external one, your developers will also need to spend time intermittently to perform updates on your Ruby on Rails app. New minor version updates for Ruby are released every few months. New minor versions of Rails are released every few months to every month.
Your options for keeping an application up to date are:
- Allow developers to spend a shorter amount of time more frequently to upgrade your application after each minor release.
- Allow developers to spend a much larger amount of time less frequently to update the application after major version releases.
Of course, you could also ignore version updates and run on old versions of Ruby/Rails. But we definitely don’t recommend that as it may leave your application vulnerable to security threats. And in the era of data leaks, that’s definitely not something you or your customers want to deal with.
Domain registration and hosting costs
Your application may live under a sub-domain on an existing website you already maintain, or it may live under its own domain. Either way, you’ll have annual domain registration and hosting costs that you’ll need to pay to keep your website accessible for the public.
Domain registration costs vary depending on how in-demand your domain name is. Something more unique will be less expensive. There are dozens and dozens of reputable domain name and hosting sites out there to use, and most offer an auto-renewal option to make sure your site stays up and running every year without missing a beat.
Domain registration could be as little as $10-15 annually, but could be more depending on the popularity of your domain name. Hosting costs vary widely based on security levels from the company you choose to partner with.
Code repository hosting costs
Every application has a code repository where the files that run the application are stored.
A large portion of code repositories are hosted on Github. They’re known to be secure and reasonably priced, with team plans starting at $9/user per month and business plans at $25/user per month. You can check out Github’s pricing options for more information.
Another popular option is Bitbucket, an Atlassian product that may integrate well for your company if you’re already using other Atlassian tools (like JIRA). Pricing for Bitbucket is comparable to Github, so your decision to use either tool comes down to feature comparison and personal preference. Here’s a helpful article for comparing the two.
If you partner with an outside development team, they may have recommendations at the beginning of the project as to where you should store your application’s source code. Based upon the size of the code base and other factors another code repository hosting option may be recommended besides Github or Bitbucket, but these are the most common.
If you’re building this application with an internal team or a freelancer, your company will need to pay for the code repository costs yourself. If you partner with an agency or larger team of developers, these monthly costs may be absorbed by your partner or built in to your agreement with them. Be sure and ask when interviewing a potential development partner.
Asset storage (such as AWS)
Any assets (photos, videos, etc.) used in your Ruby on Rails application and website will need to be stored somewhere. Most companies have transitioned to a cloud based storage solution instead of on-site servers for these assets. A popular cloud storage solution (that happens to be what we use, too) is Amazon Web Services S3.
Their pricing is tiered, but you only pay for what you use. As you increase to higher storage amounts, your per GB cost decreases. Pricing starts at $0.023 per GB.
Similar to code repository costs, this may be absorbed by an outside team you partner with, so be sure and ask about this as well.
Continuous integration services
Continuous integration allows your developers to more frequently test each code change made to an application through automated processes. It’s a key component of a healthy, maintainable application whether it’s Rails or any other framework.
Pricing for continuous integration services varies depending on the solution you decide to use. Many offer a free trial or a free membership for single developers or smaller applications. You can compare some of the most popular continuous integration services pricing and features using this chart from G2.
Some services like Octopus Deploy charge an annual fee (starting at $300/year), while others like Codeship charge monthly (starting at $49/month for the most basic plan).
Additional Potential Costs
Does your application need to process payments? Does it need to connect with an email marketing system or data tracking software? Any of these additional features may depend on a third-party plug-in for your app, which can be an additional monthly or annual cost. When planning an ongoing budget for your application, be sure to calculate in these costs.
Website performance monitoring services allow your developers to find out about site issues before your customers do. These tools send notifications through email, text, or Slack to the right people when a website goes down. Beyond notifying your developers when the site goes down, these services also give you performance updates about the speed of your site in different areas around the world.
When companies embark on the journey of creating a custom application from scratch, the upfront costs to develop the application are usually what get the most attention. But it’s also important to factor in the long-term costs of simply making sure your application is running smoothly. Knowing what to calculate in the long-term cost of your application can help direct the decisions you make when building a custom app in the first place.