I still love my boring Ruby on Rails app
Interested about building and API using Ruby on Rails?
Take a look on my brand new Book: API on Rails 6. You can grab a free PDF version on Github. If you like my work, you can buy a paid version on Leanpub.
🇫🇷 Bonjour
I started iSignif, almost 8 years ago. Initially, it was a cool SAAS project powered by one of the most trendy stack: Ruby on Rails.
Almost 8 years later, I think my stack joined the boring technology club, and I’m still happy to maintain this project!
The framework
When I initialized the project, I went with the latest version of Ruby on Rails 5.2 / Ruby 2.4.2.
Rails amazes me about how easy it is to upgrade to major versions. I upgraded from v5.x
to v6.x
, then 7.x
and finally v8.0
with ease.
My own expersient was just by bumping the Rails version in the Gemfile
, run rails app:update
, and run my test suite. app:update
takes care of setting new default configuration parameters that I take care of review. All deprecated feature are often announced in the previous version
Compared to my experience with other frontend stack in “Frontend world”, it’s a breeze:
- I remember give up on upgrading Gatsby for my personal website
- I had a hard time with Nest.js and their new
app
directory on my side project https://the-killer.online/
Definitely, Ruby on Rails is not a popular choice nowadays. I don’t see many posts about Rails applications on Hacker news, and this Google trend of Rails vs other popular choices confirm the situation…
I won’t lie, it’s difficult to resist the hype, and I thought many times about doing a big rewrite of the APP using a new technology like Nuxt. I’m still not happy to manage plain HTML/ERB templating, espicially touching Vue.js application professionally, but it does the job.
But I think that, when a project requires stability, a boring framework is a better choice..
The server
Back in the day, you just needed a Linux server to host your application (the classic LAMP stack). It’s almost how I started the iSignif startup.
But then, the trend became to use a PAAS service like Heroku, that handles everything for you. Later, it became Docker / Kubernetes and a cloud provider like Google Cloud to make it scalable. And tomorrow, it’ll be something else for sure.
For my project, I stayed on the same VPS server I ordered 8 years ago.
Powered by Ubuntu 18.04, it’s really a simple Linux server with Apache server with Phusion Passenger. Again, it does the job. Of course, I had to put some effort in it:
- I upgraded my Server to Ubuntu 20 and then 22.
- ordered an additional hard drive and move assets on it
- did some Bash scripts for the backup running with cron
- automate some startup scripts with Systemd
But it was really rewarding to do everything myself, I learned a lot from that. But most importantly, it helped us to keep the hosting cost low. Actually, the server cost me around 10€/month. So it permitted us to host the service even when we had few revenues.
My feeling
From my (small) experience, I found that launching a SAAS is a long run journey. Especially when you’re doing it part-time. So you need to chose your fight and focus on what matter.
Doing it helped me to forge my own opinion on the developer role. I now think that the main thing to keep in mind is to think about the startup goal, not the technology.
Will I restart a Ruby on Rails project today? Most likely not; there are countless mature and more exciting technologies nowadays. But I’m really proud of the journey I had with Ruby. I think I made the right choice 8 years ago.
See other related posts
Quick analysis of writing and publishing a technical e-book on Leanpub