The simple answer to running Ruby on Rails applications on different hosting sets is that if you have access to the inner operating system, you will be able to run the apps.
The chief requirements (well, two chief requirements) that are basic for Rails applications, and missing from most “traditional” hosting sets include…
- Deployment mechanism (typically GIT)
- Viable application server that supports Rails (Puma or Passenger)
The first issue can generally be conquer with the help of FTP (not the most effective solution, but nevertheless works).
The second is much more problematic, and why most people end up using VPS solutions to deploy Rails apps (VPS servers give you unlimited access to the inner infrastructure).
VPS servers are basically what the “cloud” providers are giving people access to. Contrary to “traditional” hosts – who literally allocated space on a single server, the new “cloud” infrastructure setup basically splits the load across an complete datacenter of servers.
This not only brings the cost down but ensures that the buyer can truly *extent* their compute resource without having to physically pay for a new server. In any case, if you absolutely want to great number a “rails” based application on a “cloud” VPS. The only problem with this is that you are responsible for getting the server provisioned (which is another story in itself).
To this end, the most important thing to realize is that if you’re looking at this list – ANY VPS server will be able to run a Rails app. You just need to ensure you know how to install the various applications (which I’ll cover in another article). For now, let’s look at the most effective & cost-effective hosts:
The undisputed KING of low-cost “cloud” VPS providers. established in 2011, it was the first to provide a single-priced VPS infrastructure for developers. From $5/mo, you get access to a multitude of data-centers and many different server configurations.
The most important thing to realize about DO – as with most other “cloud” VPS hosts – is that spinning up a VPS server literally gives you access to a Linux box running in a data center. You are responsible for setting up everything else (unless – of course – you pay for the pre-compiled images etc). in spite of of this – this is by far the most effective “budget” VPS provider for Rails apps.
A lesser-known, but nevertheless highly effective, cloud VPS service – Vultr is basically a “mini-me” to DigitalOcean. It has data-centers in a number of different locations (ranging from the US to Japan and already Germany & the Netherlands) – allowing for broader coverage.
The most important thing to appreciate with Vultr is that it’s basically designed to be the equivalent of DigitalOcean – without any of the additional frills that the former may have. For example, it doesn’t have any inbuilt monitoring software (which DigitalOcean includes for free), and
The big claim-to-fame of Vultr came from its $2.50/mo VPS server (which is currently “sold out”). This was highly effective for developers who just wanted to push simple apps (either to test in a staging ecosystem or to keep costs low). You nevertheless have to provision servers as you do with DigitalOcean.
Touted as the “fastet” cloud VPS provider, the Finnish UpCloud essentially provide the same sets as the first two providers (DigitalOcean + Vultr) – except with a much deeper focus on sustain.
Providing an API along with a myriad of other sets, the system provides users with the ability to deploy VPS servers across a number of data-centers around the world.
Again, the main difference with this is the proported speed of the servers they function. This is seemingly down to their MaxIOPs technology, which basically allows them to keep up a lot of data in memory (hence speeding it up).
Prices start from $5/mo and – yes – you’ll nevertheless need to provision the servers yourself.
European “cloud” hosting – based in Switzerland, they specialize in the provision of euro-centric infrastructure. 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.
Whilst their pricing is very competitive, the most important thing to realize about this company is the efficiency they bestow. Being Swiss, they assistance from the ingrained culture of efficiency which pervades the majority of the Swiss community. This method you’ll not only get rapid email responses, but thorough and well-thought-out replies.
They tend to provide sets to many edges & financial institutions across Europe. Their niche-level targeting allows them to specialize in ensuring the speed, reliability and efficiency of their service is optimal for the clients they end up working with.
Hetzner are a German hosting company with two data-centers in the country. Whilst they were established as a “traditional” hosting, meaning they essentially allocated their data-center around who was paying for servers.
Since 2017, the company started to offer a “cloud” service – whereby you could provision VPS servers in exactly the same way as DigitalOcean, Vultr and the swathe of other providers.
With comparable pricing, the most important component to Hetzner’s business is that it’s almost exclusively focused on the German market.
This is not to say they don’t serve international clients – but in terms of their data-center availability and how they deal with sustain etc, it’s an thoroughly German operation.
clearly, with prices starting from ~$5/mo, they only provide the ability to deploy servers – the onus is upon you to get them provisioned.
Not in addition known as DigitalOcean or Vultr, but no less effective – Linode is a favourite 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/mo – it’s got a number of datacenters around the world and is pretty much on a par with the more popular “cloud” sets.
As ever – you don’t get any frills with the service. You nevertheless have to provision and continue the servers yourself.
The “daddy” of online hosting, RackSpace has been a major player in the hosting world since its inception in 1998. As you’d imagine, they were involved with the “cloud” game very early on, too.
The problem with Rackspace – like Microsoft – is that it’s expensive.
Designed predominantly for larger organizations, their “cloud” servers start from $50/mo – but are offset with the “fanatical” sustain the company will provide. This sustain is truly very good, and allows users to really rely on them to keep things running as effectively as possible.
I would not recommend Rackspace for any smaller projects. It’s just not worth the price, especially when you have the likes of DigitalOcean who do the same thing but for a fraction of the cost.
Microsoft’s “cloud” VPS offering is arguably the most effective out of the big 3 (Google, Amazon, Microsoft). Azure is packed with additional sets which help developers to set afloat applications across a huge number of Microsoft-owned data-centers.
Fully supporting Linux and Windows VPS systems, the company is one of the few to provide deeper insights into how the various servers are operating. They give access to a high dashboard, by which you’re able to track everything from resource usage to how many requests different servers have received.
Whilst this sounds nice, it’s expensive. And it’s really designed to help huge organizations adopt “the cloud” – which puts it out of the scope of most smaller developers. If you are interested in using it, you should certainly look up about it first.
AWS is good but expensive (especially if you need more compute resources). Hailed as the “original” cloud provider, every EC2 example you spin up is basically acts as an independent VPS.
The problem with AWS is that since it’s so general, it’s difficult to know what you truly need with it. Further, like Microsoft Azure and Google Cloud Platform – the sheer extent of the infrastructure at play is enormous.
To this end, it should be no surprise to learn that the majority of popular web based applications (especially those which rely on the likes of S3) rely on EC2 & AWS to function. Because of this, the service is typically seen as a supporting larger implementations, which require multiple server clusters, DB servers and CDN management (Amazon truly own “CloudFlare”).
Ultimately, if you’re looking to deploy a large & popular application, the AWS infrastructure certainly would help you. Pricing isn’t great, but it’s supported well and is backed by Amazon’s huge infrastructure (which it uses for its own operations).
Google Cloud Platform
Google’s entry into the “cloud” space, its “cloud platform” is used by the likes of Apple and Twitter. Much like Azure & AWS, it’s used by larger organizations to streamline their infrastructure requirements.
Because Google uses the platform for their own infrastructure, it’s clearly the case that you should be able to trust the system – and their community is truly very strong & active.
The big difference with Google’s platform is the pricing. They offer a very competitive set of prices, which allows a number of different developers to deploy software without incurring huge expenses in doing so.
The meaningful with all of these – as mentioned – is that you will typically have to provision the various servers. This method installing the web + application server software, libraries and any ancillary sets (SSL certificates etc).
If you’re prepared to use a service such as Nanobox, Hatchbox, RailsHosting or VPSDeploy – you should be able to avid the pain of having to set up a valid web great number… but in the end, it’s thoroughly up to you what you do.
To be clear – the beauty of “traditional” / “shared” hosting has not however been captured in the “cloud” arena. instead of providing a simple platform to deploy apps, you pretty-much are left to your own devices.