We’re extremely happy about our partnership with Cloud66 and we look forward to being the cloud platform of choice for their customers. However, we wanted to go into a deep dive about what does Cloud66 do and how it can significantly help anyone from developer to system administrator in managing his or her Ruby application.
Ruby is a programming language that was created originally in 1995. It took quite some time until it was adopted as one of the de-facto standard languages to build applications in. This can largely be attributed to the Rails project, which is a framework to build web applications quickly and easily in Ruby. It resulted in a huge attraction of the web development community towards it.
Since then, there have been numerous new Ruby web application frameworks as well. However, the reason why it never Ruby applications never quite got as popular as PHP was that PHP was much easier to get running on the majority of web hosting providers. The only way to host your Ruby application is to use a specialty Ruby hosting company or host your own server.
The reason behind this is that in a multi-tenant hosting environment, PHP scripts are compiled and ran when the request happens. PHP is fairly quick in doing this as it’s designed to often run once and disappear after. However, these large Ruby frameworks can take up to 4-5 seconds to load, which would result in unacceptable page load times.
The issue here isn’t that Ruby is slow, but the way that Ruby applications are designed, they are designed to run on their own. They are designed run as an individual server on their own. Once the initial 4-5 second application load is done, further requests can be done at extremely high speeds with no significant latency.
The only optimal way to host a Ruby application is to have the Ruby application process running all the time, which is not ideal in a multi-tenant hosting environment as it would occupy the resources of the server during the entire period, which means that servers cannot handle much accounts, resulting in less than ideal pricing for customers.
The best solution was to run and operate your own server if you wanted to host your Ruby application. However, this is not a very easy task. Once you have the server up, you need to install all the prerequisites such as a database server, Ruby, your framework, a static server (such as Nginx), install and deploy your application and then link all the different elements together.
This is a very time consuming process, which can go wrong in a lot of different places. If you are a developer deploying your application, it makes it really hard to select Ruby for your next project, even if you enjoy it, because deploying it is a big pain and it has a lot of parts that can go wrong. If you were a system administrator, you would likely also find the process very long.
However, things were just starting to get complicated. Now, as your application grows, you need to scale your application horizontally (scale-out). This means that you need to redo the entire process of setting up your Ruby server on multiple servers as you grow. Not to mention that you have to use a load balancer to distribute load between them evenly.
This can start becoming more of a pain if you are using on-demand cloud compute service and you are terminating servers when you don’t need them. Also, just when you thought you got the process down, your database server starts struggling and needs to be configured as a cluster with master-slave replication to sustain the amount of traffic you get.
At this point, you might ask yourself why would you ever write a Ruby application. Ruby is an extremely simple language but its simplicity hides a huge amount of raw capability. It’s very dynamic in nature and it’s extremely easy to use. The amount of time you save by developing your applications in Ruby is huge and it is worth the deployment difficulties.
We’ve identified Cloud66 as one of the leading Ruby platform-as-a-service companies. For any developer or system administrator, they will help making your life extremely easy for a little reasonable amount. Cloud66 has a system that takes your application and automatically deploys it to the cloud by creating new servers, setting them up and so forth.
Not only does it do that, it also helps you to scale your application easily. With the click of a button, you can have a load balancer. With the click of another button, you can increase or decrease your backend Ruby application servers. With another few clicks, you can scale your database with master-slave replication without making any configuration changes.
The amount of time that you save by Cloud66 is hours and all it costs you is $9 per server per month and your cloud server charges (which you were going to pay for anyways). If you’re looking to learn how to use it and develop, Cloud66 has a free plan so that you can deploy your Ruby application in the development environment for free. All you need to pay for is your cloud computing expenses.
As our cloud computing platform continues to grow, we will continue to add partnerships to companies which make using our cloud computing platform even easier. Now, anyone can host their application on the cloud by leveraging our cloud computing platform which gives the best value per dollar in the industry and Cloud66′s easy-to-use method of deploying Ruby applications on the cloud.
We hope that this in-depth review helps explain the choice of working with Cloud66 to add them as a platform partner and it can demonstrate just how powerful our cloud is by combining it with other services. Now, if you have a Ruby application you’ve always wanted to try, you can check out Cloud66 and sign up for a 14 day free trial!