2 min read

Tools for Rails Deployments for Mere Mortals

The main subjects of Rails Deployments for Mere Mortals are Google Cloud Platform and Kamal.
Tools for Rails Deployments for Mere Mortals

The main subjects of Rails Deployments for Mere Mortals are Google Cloud Platform and Kamal.

Kamal is a deployment tool that ships with Rails 8. It offers developers the ability to deploy code to a server by configuring a yaml file.

Most Kamal guides that I've come across use Digital Ocean or Hetzner as servers. These are probably more sane hosting solutions than Google Cloud Platform (GCP) because, like Amazon Web Services (AWS), GCP is geared more to enterprise customers.

Hetzner and Digital Ocean might also be cheaper by a few dollars per month at the hobby level than GCP, depending on your specific situation. Though, GCP has the advantage of usage based billing, so lightly used apps will cost very little indeed. For reference, I conservatively estimate that if I maintained my usage rate during the writing of this guide for an entire month, I'd be billed $4.30.

I'm choosing to focus this guide on GCP because there are not a ton of useful guides out on Kamal and GCP. I like Google products, even though they can be cancelled at anytime. Unlike AWS, GCP has a much easier user interface and better documentation.

Compared to platform-as-a-service providers like Heroku, GCP typically provides better cost efficiency and more direct control over your infrastructure.

Tools covered in detail

Tools covered with some detail

  • Cloudflare - For domain name management
  • 1Password - For secrets management
  • Docker - Kamal depends on Docker, so you must have it installed on your machine.

This guide is intended for developers using Rails 8.0.1. While we will cover creating a new Rails app, the purpose is not to learn Rails.

Prerequisite tools and assumed knowledge for this guide

Conclusion

In this post we outlined the tools and prerequisite knowledge needed to complete the Rails Deployment for Mere Mortals. In our next post, Baby's first Google compute instance, we will spin up a virtual machine to host our Rails application.

Next post

Baby's First Google Compute Instance

Previous post

Rails Deployment for Mere Mortals