Learning Web Development/Rails Without Spending Any Money Part 2: Hosting, etc.

See also: Part 1: Learning Rails

Learning Rails is great and all, but once you’ve got the hang of it, you still need a place to put your app, monitoring tools for it, a CDN, etc. These all generally cost money, but there are low and no-cost options for smaller apps for all of them.

Let’s start with…

Git Repos

For private repos, BitBucket offers free private repos. For open source projects, GitHub is the dominant option, and is difficult to live without for contributing to open-source. Hosting

The easiest one for this is Heroku, and Heroku is the hosting service I think pretty much everyone should start with. It’s easy, there’s a free tier, and it’s such a ubiquitous service that almost all the common problems for small apps have already been solved, if not in their own docs, on Stack Overflow. Heroku currently offers a free tier for hosting 24-hours a day, however this will be reduced to 16-hours a day in (I believe) November. Still great for testing out an app on production, and their new “Hobby” tier in November will start at $7/month, which isn’t bad at all for hosting.

Digital Ocean is another hosting service that, while they don’t offer a free tier, does offer a $5/month tier. Also, if you’re just hosting small apps, it’s possible to keep hosting cheap by deploying multiple rails apps to a single Digital Ocean “droplet” via Intercity’s deployment process (it’s also possible without Intercity, but they’ve very effectively streamlined the process).

Analytics/App Monitoring

Google Analytics is free (though Google will know your stats as well) for measuring visits, clicks, etc. The Heroku New Relic add-on can be used for free to monitor app performance, and profile.io is a relative newcomer to the field but looks promising and has free options.

There are also some excellent RailsCasts on testing your app’s performance in various ways. I started using the rack-mini-profiler gem after watching this episode, for example.

Code Quality and Site Performance Suggestions

The Rubocop gem for code quality. Google Pagespeed Tools or webpagetest.org for suggestions on how to make your site faster.

E-mail for Your App

Heroic offers a number of add-ons for adding e-mail functionality to your app, and there are a number of free e-mail services available in general. MailGun is the one I use most often for simple things like contact forms. My impression is that MailChimp may be better optimized for e-mail newsletters and the like.

In Conclusion

Most basic services for a Rails application can be found for free or cheap if you do some googling. These are some of the ones I found when I wanted to fiddle around with some app building without spending too much money doing it. Let me know if you’d like suggestions for any other types of services or you feel I left out any important options.