May 2024 update: This post is more than 10 years old. dotCloud was a groundbreaking PaaS company that developed a container engine which later became the widely popular Docker platform. Docker has since revolutionized the way we develop, deploy, and manage applications, making it an essential tool for many developers and organizations today.
dotCloud is one of my favorite 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:
Django
PostgreSQL
MongoDB
Solr
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:
No servers in Europe.
According to their new beta pricing, databases are billed by their RAM usage. I think this should be based on storage.
No naked domains. You have to use www before your domain name, which is a big limitation.
Support. With 10M investment, you would think they could hire a few people to work in the weekends. But no, my app was down for 12 hrs in one weekend, and the reply I got was "On week-ends, our on-call team get paged only by Enterprise Plan customers." I wasn't in the position to complain as a non-paying beta user, but it still was disappointing.
I want to thank dotCloud for making my life much easier and less stressful. Ep.io and Djangy are two Django specific PaaS's who couldn't stay around. I'm hopeful that dotCloud will make it.