Should You Prefer DigitalOcean Over Amazon AWS For A Ruby On Rails App?
By: Amit Ashwini
Tags: Ruby on Rails, Software Development, AWS, Digitalocean, Web Development

How you choose to deploy your application will be determined by what you need from a hosting provider. With the rising popularity of Ruby on Rails, new options are being made available for Web app development. In today’s market, Amazon AWS and DigitalOcean are good options to go with if you’re looking for hosting providers which are cloud platforms. AWS and DigitalOcean address the needs of different audiences, and understanding what each does well will help you choose between them. Let’s take a closer look at what Amazon AWS and DigitalOcean have to offer.

DigitalOcean

DigitalOcean is comparatively a new cloud hosting provider. Launched in 2011, DigitalOcean focus is centered on the developer’s’ needs, unlike Amazon’s AWS which attempts to cater to a far wider audience with an everything-to-all-people approach. DigitalOcean zeroes in on three main selling points to stand out from the competition: high-performance virtual machines, pricing, and simplicity.

DigitalOcean’s pricing is reputedly one of the best among all cloud providers. Their prices are extremely affordable, even if you are operating from a small developer setup. Additionally, they don’t take you off guard with hidden charges for add-ons like fixed IP addresses and more traffic. DigitalOcean takes prides on offering only high-performance machines. Lastly, DigitalOcean provides an uncomplicated, simple setup. It is a bare-bones IaaS provider for Linux developers.

Although DigitalOcean is perfect for Linux developers, some have found provisioning a server with DigitalOcean challenging and tedious. There have been cases where experienced developers found themselves spending too much babysitting a Rails application deployed to their live VPS or virtual private server. They complained about having to grapple with email issues and SSL certificates. Both DigitalOcean and AWS from a cost standpoint, are very scalable. With DigitalOcean, scaling can prove to be a tad complicated and requires you to figure out how you need to scale and run some shell scripts. You need to know whether you need to scale horizontally or vertically and do it all yourself. Advanced developers should check out DigitalOcean, which claims you can be up and running in less than 55 seconds.

Amazon AWS

Amazon is a lot different from DigitalOcean. It is the giant of cloud computing and a market leader. Amazon’s computing capacity is reputed to be extremely powerful, and it owns the largest data centers in the world. Amazon’s AWS is an umbrella offering which consists of a sometimes confusing array of various branded PaaS and IaaS solutions. The best-known and largest of these is the EC2 IaaS solution.

AWS is recommended for the intermediate to the advanced developer and has a user-friendly graphical interface. AWS offers great Ruby support. AWS Elastic Beanstalk happens to be an easy-to-use service for deploying Ruby on Rails apps on familiar servers like Nginx and Apache. Elastic Beanstalk manages the application stack for you and provisions and operates the infrastructure, meaning you don’t have to spend time or develop expertise, rather, you can focus on writing code. Additionally, auto scaling reduces the need to manually provision Amazon EC2 capacity in advance, by allowing you to follow the demand curve of your application closely. AWS also offers a treasure trove of developer resources, including tutorials and articles for making the best use of its services. With AWS, you can also have things up and running in as little as 20 minutes.

Conclusion:

In a nutshell, AWS comes with more services than DigitalOcean. With DigitalOcean, you’re basically on your own. It is a leaner structure for economizing your hosting needs. Even so, what you save in charges, you lose in time. Meaning, the time you could be spending writing code, you end up devoting to development and operation tasks.

DigitalOcean is not exactly competing with Amazon. It’s targeting small developers who need to start up a small high-performance instance quickly. Nevertheless, DigitalOcean does give the user a clean, easy-to-use interface with few features and one-click deployments. Amazon, on the other hand, offers a PaaS/IaaS cloud supermarket where you can choose just about any cloud service you could want, and some you didn’t even know existed, such as cloud workflows and mobile analytics.