I'm a tech leader at Amazon where I currently lead ML-focused engineering teams to increase customer trust. More about me.
May 9, 2012
dotCloud is one of my favourite companies. They're a platform-as-a-service (PaaS) start-up supporting variety of stacks such as Java, Ruby, PHP, Python, Perl and node.js.
As much as I enjoy working with unix systems and setting up web servers, they shift my main focus: developing web applications. As a one man show, my time is very scarce. While I was working with PHP, hosting apps used to be extremely simple. I could easily get a dirt cheap shared hosting for a few bucks and FTP the code. Even for bigger applications, setting up a LAMP stack was and still is very simple. However, PHP days are over and Python/Django is what I use for most of the web development.
I've used two ways to host Django applications. For small apps I've used Webfaction which is also a great company and highly recommended for shared hosting. Sharing servers with others have always been painful for me so the next solution was a virtual server. Linode is my preferred VPS provider and they've been amazing. This is probably the best bang for your buck.
For a recent project I needed this stack:
To setup all these manually in your VPS, you'll need multiple servers, good technical knowledge, lots of time and patience. Setting up these might take a day or two, but securing, maintaining and scaling them would take a lot longer.
This is where dotCloud shines. I can easily deploy multiple stacks which are secure, have redundancy, and can scale with a few commands. Deploying staging/development servers would also take a few seconds (try this with your VPS). With their new pricing model, you can have unlimited development apps which is great for people like me who start many projects and complete a few ! :)
What I don't like about dotCloud: