Ruby on Rails 8 has officially entered the beta stage, bringing significant improvements to web application deployment. This latest version of the popular framework eliminates the need for a platform-as-a-service (PaaS) setup, making it easier for developers to deploy their applications without relying on third-party cloud providers. By streamlining deployment processes, Rails 8 aims to give developers greater flexibility and control over their hosting environments.
A major highlight of Rails 8 is the integration of Kamal 2, a web app deployment system that simplifies deploying Rails applications in Docker containers on any Linux server. Whether deploying to a cloud virtual machine or on-premises hardware, Kamal 2 allows developers to transform a Linux machine into an application or accessory server using a simple setup command. According to Rails creator David Heinemeier Hansson, all Kamal needs is a list of server IP addresses with an SSH key, and developers can be in production within minutes.
Rails 8 enhances this process further by including an upgraded Dockerfile, which introduces Thruster, a built-in proxy sitting in front of the Puma web server. Thruster provides X-Sendfile acceleration, asset compression, and caching, removing the need for an additional Nginx or other web server. Additionally, Kamal 2 now features Kamal Proxy, replacing Traefik as the default proxy at launch. This new proxy supports zero-downtime deployments, automated SSL certificates, and multi-app hosting with minimal configuration.
Beyond deployment, Rails 8 also enhances database-backed features, reducing dependency on external services like Redis. Solid Cable replaces Redis as a pubsub server for handling WebSocket messages, while Solid Cache serves as an alternative to Redis or Memcached for caching. Additionally, Solid Queue acts as a built-in job queueing system, eliminating the need for third-party tools like Sidekiq or Delayed Job for most use cases. With these improvements, Rails 8 further simplifies the development and deployment experience, making it an attractive upgrade for developers.