- Read Tutorial
- Watch Guide Video
In this lesson we are going to talk about deploying your application on the web. There are a number of different options, and in this course, we are going to use Heroku for deployment.
However, before going into Heroku, I'd like to show you some of the other options out there.
Heroku
This is one of the most popular deployment platforms for PHP, Rails and a bunch of other programming languages and frameworks. The reason for this popularity is because it is easy to use, and it is also good for rapid prototyping. Further, it allows you to deploy to the web within minutes and it can handle a lot of things such as creating your database and logging in remotely.
Engine Yard
Another choice is Engine Yard, and it is also good because it is scalable and pricing is fair.
Rails Machine
Rails Machine is also known to be popular among Rails developers, though personally I have never used it. But, it is possible that I may use it in the future.
DigitalOcean and Linode
These are based on a do-it-yourself architecture, and I would not recommend them if you are new to deploying Rails applications because there is a lot more work that needs to be done. However, if you are experienced enough to deploy your production application, then both these are good options. In fact, DigitalOcean is what DevCamp is hosted on and it works quite well.
AWS
AWS has two great options for Rails applications, namely, AWS Elastic Beanstalk and Amazon EC2. Out of these two, the Elastic Beanstalk is the most comparable offering to Heroku, and they come with command line tools that make it easy to deploy. Amazon EC2, on the other hand, is a competitor to DigitalOcean and Linode, and is more appropriate for advanced users. Also, EC2 is like having your own dedicated server as it is a 100 percent cloud-based environment.
I would recommend trying all of them out at some point, but for this course, we are going to go with Heroku.