Technology

Rails Hosting: 10 VPS Providers That FULLY Support Ruby on Rails

The simple answer to running Ruby on Rails applications on different hosting services is that if you have access to the underlying operating system, you will be able to run the applications.

The main requirements (well, two main requirements) that are essential for Rails applications and are missing from most “traditional” hosting services include…

  • Deployment mechanism (typically GIT)
  • Viable application server that supports Rails (Puma or Passenger)

The first problem can usually be overcome with the help of FTP (not the most effective solution, but it still works).

The second is much more problematic and explains why most people end up using VPS solutions to deploy Rails applications (VPS servers give you unrestricted access to the underlying infrastructure).

VPS servers are basically what the “cloud” providers are giving people access to. Unlike “traditional” hosts, which literally allocate space on a single server, the new “cloud” infrastructure setup basically spreads the load across an entire data center of servers.

Not only does this reduce cost, but it ensures that the buyer can actually *scale* their compute resource without having to physically pay for a new server. In any case, if you absolutely want to host a “rails” based application on a “cloud” VPS. The only problem with this is that you are responsible for provisioning the server (which is another story in itself).

Rails Compatible Hosts

To this end, the most important thing to note is that if you’re looking at this list, ANY VPS server will be able to run a Rails application. You just need to make sure you know how to install the various apps (which I’ll cover in another article). For now, let’s look at the most effective and profitable hosts:

  1. digital ocean
    the undisputed KING of low-cost “cloud” VPS providers. Founded in 2011, it was the first to provide a one-price VPS infrastructure for developers. Starting at $5/month, you get access to a multitude of data centers and many different server configurations. The most important thing to note about DO, as with most other “cloud” VPS hosts, is that getting a VPS server up and running literally gives you access to a Linux box running on a data center. You are responsible for setting up everything else (unless of course you pay for pre-built images etc.). Regardless of this, this is by far the most effective “budget” VPS provider for Rails applications.
  2. vultr
    A lesser known, but still very effective cloud VPS service, Vultr is basically a “mini-me” for DigitalOcean. It has data centers in several different locations (from the US to Japan and even Germany and the Netherlands), allowing for broader coverage. The most important thing to appreciate with Vultr is that it is basically designed to be the equivalent of DigitalOcean, without any of the extra frills that the former may have. For example, it doesn’t have any built-in monitoring software (which DigitalOcean includes for free), and Vultr’s big claim to fame came from its $2.50/mo VPS server (which is currently “sold out”). This was very effective for developers who just wanted to push simple apps (either to test in a sandbox or to keep costs down). You still have to provision servers like you do with DigitalOcean.
  3. UpCloud
    Touted as the “fastest” cloud VPS provider, Finland’s UpCloud essentially provides the same services as the first two providers (DigitalOcean + Vultr), except with a much deeper focus on support. By providing an API along with a myriad of other services, the system gives users the ability to deploy VPS servers in various data centers around the world. Again, the main difference to this is the proportional speed of the servers they operate on. This is apparently due to their MaxIOPs technology, which basically allows them to store a large amount of data in memory (thus speeding it up). Prices start from $5/month and yes, you will still need to provision the servers yourself.
  4. exoscale
    European “cloud” hosting: Based in Switzerland, they specialize in the provision of infrastructure focused on the euro. With 4 data centers (2 in Switzerland, 1 in Austria, and 1 in Germany), the company has chosen to be extremely specific in its approach to providing infrastructure for various application developers. Although their price is very competitive, the most important thing to consider about this company is the efficiency they provide. Being Swiss, they benefit from the deep-rooted culture of efficiency that permeates most of the Swiss community. This means you’ll not only get quick email responses, but deep, thoughtful responses. They tend to provide services to many banks and financial institutions throughout Europe. Their niche-level orientation allows them to specialize in ensuring that the speed, reliability and efficiency of their service is optimal for the clients they end up working with.
  5. Hetzner (cloud)
    Hetzner is a German hosting company with two data centers in the country. While they were founded as “traditional” hosting, meaning they essentially assigned their data center to whoever paid for the servers. Since 2017, the company began offering a “cloud” service, through which you can provision VPS servers in exactly the same way as DigitalOcean, Vultr and the fringe of other providers. With comparable prices, the most important element of Hetzner’s business is that it focuses almost exclusively on the German market. This is not to say that they don’t cater to international customers, but in terms of availability of their data center and how they handle support etc, it is a completely German operation. Obviously, with prices starting at ~$5/mo, they only provide the ability to deploy servers – you are responsible for provisioning them.
  6. linode
    Not as well known as DigitalOcean or Vultr, but no less effective: Linode is a favorite of many smaller developers, as it was one of the first to offer low-cost “cloud” VPS servers. Linode is effective, with prices starting from $5/month – it has multiple data centers around the world and is pretty much on a par with the most popular “cloud” services. As always, you don’t get any frills with the service. You still have to provision and maintain the servers yourself.
  7. rack space
    RackSpace, the “dad” of online hosting, has been a major player in the hosting world since its inception in 1998. As you can imagine, they were also involved in the “cloud” game from the very beginning. The problem with Rackspace, like Microsoft, is that it’s expensive. Designed exclusively for larger organizations, their “cloud” servers start from $50/month, but are offset by the “fanatic” support the company will provide. This support is really very good and allows users to really trust them to keep things running as effectively as possible. I wouldn’t recommend Rackspace for smaller projects. It’s just not worth the price, especially when you have people like DigitalOcean doing the same thing but for a fraction of the cost.
  8. microsoft blue
    Microsoft’s “cloud” VPS offering is arguably the most effective of the Big 3 (Google, Amazon, Microsoft). Azure is packed with additional services that help developers launch applications in a large number of Microsoft-owned data centers. Fully compatible with both Linux and Windows VPS systems, the company is one of the few that provides more detailed information on how the various servers work. They provide access to a rich dashboard, through which you can track everything from resource usage to how many requests different servers have received. While this sounds good, it is expensive. Forks Really designed to help large organizations adopt “the cloud,” putting it out of reach for most smaller developers. If you are interested in using it, you should definitely look it up first.
  9. AWS (EC2)
    AWS is good but expensive (especially if you need more computing resources). Hailed as the “original” cloud provider, each EC2 instance you activate essentially acts as a stand-alone VPS. The problem with AWS is that because it’s so broad, it’s hard to know what you really need. Also, like Microsoft Azure and Google Cloud Platform, the scale of the infrastructure at stake is enormous. To this end, it should come as no surprise to learn that most popular web-based applications (especially those that rely on S3) rely on EC2 and AWS to operate. Because of this, the service is generally thought of as supporting larger deployments, which require multiple server clusters, database servers, and CDN management (Amazon actually owns “CloudFlare”). Ultimately, if you’re looking to deploy a large and popular application, the AWS infrastructure will certainly help. The price isn’t great, but it’s well supported and backed by Amazon’s massive infrastructure (which it uses for its own operations).
  10. Google cloud platform
    Google’s entry into the “cloud” space, its “cloud platform” is used by companies like Apple and Twitter. Like Azure and AWS, it is used by larger organizations to optimize their infrastructure requirements. Because Google uses the platform for its own infrastructure, you should obviously be able to trust the system, and its community is actually very strong and active. The big difference with the Google platform is the price. They offer a very competitive pricing set, allowing a number of different developers to deploy software without incurring a huge expense doing so.

The key with all of this, as mentioned, is that you will typically have to provision the various servers. This means installing the web + application server software, libraries, and any ancillary services (SSL certificates, etc.).

If you’re up for using a service like Nanobox, Hatchbox, RailsHosting, or VPSDeploy, you should be able to avoid the pain of setting up a valid web server… but in the end, it’s entirely up to you what you do.

To be clear, the beauty of “traditional” / “shared” hosting has yet to be captured in the “cloud” arena. Instead of providing a simple platform for deploying apps, you’re pretty much left to your own devices.

Leave a Reply

Your email address will not be published. Required fields are marked *