DotCloud Pricing Announced
dotcloud.com
dotcloud.com
I'll try to explain:
I'm a reasonably skilled ops guy, so for big stuff I'm still going to want the control that running my own stack gets me. I suspect most larger customers will be the same: the advantage of a hosted platform over one I design and build isn't proven yet.
But I also have a bunch of tiny one-offs that need homes, so a PaaS offering is super-attractive. I can pretty easily deploy a couple-three of those things on a EC2 or Rackspace instance, so once you factor in my time I'm probably looking at $5-10/mo per app being an attractive price point. So it's damned hard to argument with free!
But — and here's the big thing that'll keep me off Dotcloud — if those small apps get a bit bigger, then what? Well, on my hand-rolled VPS my cost'll double or maybe triple, so I'm looking at say $30/mo. On Dotcloud? I'd jump right to $100/mo.
I suspect this "jump" — and the unknown and likely huge jump that follows when I go from "pro" to "enterprise" — will keep most casual, smallish hobbyest or lifestyle businesses away.
So if large projects stay away, and small projects stay away... what's left?
My guess is over time we'll discover that utility-based billing is going to be the model that makes the most sense for PaaS and that artificial tiers will go the way of the dodo.
[Edit: the following "PS" was a bit hasty; I misread the pricing detail page. Leaving it here because otherwise the discussion below doesn't make sense, but I'M WRONG and THE FOLLOWING DOESN'T APPLY TO DOTCLOUD.]
PS: Oh yeah, one other thing:
Given all we know about web security, having SSL as a value-add makes you look irresponsible at best, and manipulative, opportunistic, unethical, and idiotic at worst. SSL isn't optional, people, and I won't give my patronage to anyone who doesn't get that.
1) Every URL on the platform gets piggyback ssl by default - no add-on necessary. That includes the free tier.
2) A pro account gets you unlimited SSL on your domain, regardless of how many apps you run. Nobody else does that.
We'll make that clearer in the pricing page.
Thanks for clarifying; the pricing page made it seem like you'd need to upgrade to get SSL, hence my rant. I'll edit the parent a bit to make it less hostile. Sorry about the misunderstanding!
By "piggyback" I mean SSL on your application's default URLs which are of the form FOOBAR.dotcloud.com.
Unlimited means that, no matter how many domains you host on dotCloud, the price remains the same. This is especially generous since, behind the scenes, each new SSL-enabled domain requires a dedicated IP, which costs us an extra $20-$30/month on EC2.
1) all private beta users are getting a VIP paid account *for free*. Details soon.
2) Hackers and startups will also get free stuff. *lots* of it.
If you like DotCloud but think you can't afford it - get in touch.We'd rather build high-quality stuff, priced fairly, and give some of it away, than race to the bottom along with everybody else.
Password reset form? Created an account but it won't let me log in. Maybe a messed up the password cut and paste from my password database.
Second, no ssl for the login form? Is this coming soon?
Third, I occasionally would get redirected to a subdomain http://c959ac0b.dotcloud.com which doesn't seem to have the same session cookie as the www domain.
[1] it affects caching and stuff, iirc, but I also think that cache hits are pretty low as it stands (citation missing, but needed, obviously)
That said, I'm extremely surprised at the number of services allotted for each tier of payment. For just a single site I'm currently using one for my Python app, one for the database, one for static files, and one for Solr search. If I absolutely had to, _maybe_ I could stretch a single service into doing all of these things (by using SQLite, serving static files from the application, and using a butchered search system), but it sure as hell wouldn't be pretty and would probably break under any kind of non-trivial load. One main site and a few novelty/hackday sites later, and I have to start shelling out for an Enterprise account (I assure you, the stuff I'm dealing with wouldn't warrant an account this big).
On the flip side of the coin, there's nothing stopping me (that I know of) from re-using services. My PostgreSQL one can just have separate databases for each site. I could re-use the static one if I abandoned the automatic push command and manually rsync'ed stuff (so other sites' files aren't overwritten). As for everything else: nope. And you can't double-up with products on a service. If I know my search box will be used very limitedly, I can't go ahead and use more resources on it by through Redis on there as well. They have to stay separate services. There's no way for me to quickly spin-up a novelty/hackday site that I know won't get a lot of traffic without having to upgrade all the way to Enterprise. I really want to continue using DotCloud as my experience with it has been phenomenal thus far, but I just can't justify the cost:benefit ratio at this point beyond using you for a single site total.
TL;DR: If you only intend on ever using a single site on DotCloud, this seems more than reasonable. You're only going to be using a few services, and they scale auto-magically for you by adding additional paid-for resources as long as you don't design like an idiot. But add one more site to that mix (like a personal blog), and all of a sudden you have to upgrade to their largest possible tier.
What do you mean by that? According to the pricing FAQ [1] not only there's no auto-scaling, but adding concurrent processes costs $40 a month each:
The unit of scale for a runtime service is a service process, which represents a single concurrent connection to the service. By default, a new service has one service process associated with it; additional service processes can be added to any stack. Specific pricing of additional service processes depends on the edition of DotCloud you are using - in the Free plan, additional service processes are not available, while for Pro, additional service processes are priced at $40 / month.
... Which now that I think about it, makes extra sites even more expensive. Beyond the 4 I'm already using for a single site, if I wanted to add a single new service for a site to hack on, I'd have to upgrade all the way to Enterprise (with all the cost it would entail). Ugh.
No, you won't have to upgrade to enterprise. You can purchase extra capacity, and allocate it to deploy as many services as you need. Those 4 services are simply what we bundle into the $99 price point.
A service represents a given application or database, such as PHP, Ruby or MySQL. For example, if your plan includes 2 services, you can run an instance of Python and an instance of MySQL. If you wanted to use an additional runtime, such as PHP, you would need an additional service.
Okay, so I pay $99 for 4 of these "services". Does a service equate to one UNIX process of my application running in a sandbox on one of your servers? How are resources allocated on the (presumably) shared host? How much RAM does my service get?
And then there's this, which I hope is a typo:
Database services scale differently [...] With the Pro plan, database services have 10 GB of disk, and 300 MB of RAM. [...] Additional database capacity can be added to the Pro or Enterprise plans, at $1 / MB of RAM / month, and $1 / GB of disk / month.
One second. 300MB Ram for a database? And upgrading to a still microscopic 1GB of Ram will cost me $700/mo?
And 1TB of disk will cost me $1000/mo?
Seriously?
When you push your application to dotCloud, it's broken down into services. For example python frontend, nodejs worker, mysql: that's 3 services.
Each service starts with a certain amount of capacity. Those are soft limits: you get a guaranteed minimum, but you'll probably get more, most of the time. It's most definitely not like shared hosting in that regard.
Each service can then be scaled individually, by allocating more concurrent processes, ram or disk. Specific costs are listed in the FAQ.
Hope that helps.
My site was down for 5 hours on Dotcloud yesterday because of a wildcard alias issue (effectively my cname stopped working).
I e-mailed support and heard nothing until I tweeted referencing their twitter handle, then got a response asking that I file an email ticket.
In the meantime, the site came back. This is just a fun toy site, so not a real business, but still.
Dotcloud has been easy to use and deployments are nice and easy, but I can't justify spending money on a company who really really needs to invest on a support infrastructure.
1) This was completely unacceptable on our part. I lose my temper maybe once a year, and yesterday I did precisely because of your ordeal.
2) Ironically, this happened precisely because we are investing heavily in our support infrastructure. As we transition from one overloaded senior engineer to a full-time support team + every engineer in the company in rotations, these kinds of quirks are bound to happen until we iron out the new process.
In short: - we're incredibly sorry. - we care enormously about support. - and what happened to you is very rare.
No one wants to lose money, then have the culprit say "oops, its growing pains again".
However, there are "free services for open source hackers, students, startups and non-profits" if you contact them. See the Pricing FAQ page: https://www.dotcloud.com/pricing/pricing-faq/
- first time I went to the site I got a nginx 404 message.
- In the browser (Chrome for example) the https in the address bar is shown as "insecure" because it has non-https components, looks like changing the http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js call to https will fix this.
- The "See the Full List >" link on the front page doesn't take me to a list of supported components but the "Platform Overview" page in the documentation.
I think you need to put a smaller tier 25, 50, 100 and then ramp up from there if you want to get some of the early startup market.
Maybe it's a behaviour specific for this audience (early adopters in this market are more likely to be individual or startup programmers rather than typical hosting clients, and the technology is relatively new which makes the value proposition to be hard to grasp without a hands-on experience).
They rarely do.
If I really want to not deal with the headaches of managing an infrastructure, I'd really prefer to go with a provider who picks a language and becomes a major player in that field (e.g. EngineYard, Heroku); companies that really push the envelope and give back and are a _part_ of the community. It just feels like you're going to be decent at a lot of stacks, and master of none.
If on the other hand I really have a need for 30 different types of services, and I don't want to work with 30 different service providers (Heroku + RedisToGo + etc.), I would probably be a big enough company/app to be comfortable just running things myself on AWS.
About the only way I think you could compete in this space (at least from my personal prospective) is to be cheaper than Heroku, EngineYard, RedisToGo, etc. for those particular stacks -- the idea being that you're not going to get the "major player" in Ruby to host your site, but you're not quite just using bare-metal AWS, either.
I really don't know why I'd pay the same or more than specialized service providers for a "jack of all trades".
EDIT: That being said, I do notice that you have stacks available for PHP, Perl, and other languages/tools that maybe don't have such an established PaaS provider as the Ruby ecosystem does. So maybe it's not too later to capture that market. I just don't see myself jumping on board the generic PaaS train for solutions where there are great, established providers out there (Ruby, Redis, CloudDB, others).
I am by no means suggesting that everything should be available for free, I am more than willing to pay my fair share.
Though I do wish that they would beef up their support staff so that the issues are resolved faster than they are now.
ANY stack? How about .Net? :)
We're currently running on Azure. I'm very interested to see how you'll compare to them and AppHarbor.
With the free account we could test the platform and develop, with the "startup account" we can launch our product, with a little success we take an upgrade to pro for cache, etc.
Make sure you remove the last dot "." on the api-key. as copy/paste yield to "error: Authorization rejected" and one shall go and manually edit ~/.dotcloud/dotcloud.conf in order to get back in business
If you need more than 4 services, you can simply purchase more - no need to upgrade to enterprise.
There are already solutions for nginx/websockets on github.
https://www.dotcloud.com/pricing/pricing-faq/
EDIT: Also, +1 for a password reset feature to fire up that beta account again.
Our real price is $1/10MB. Sorry about that.
Also WTF is "high availability" if it is NOT available to free/$99 customers?
Rather, what is NOT HA to those users.
Personally - I think you need a custom domain addon to the free that is affordable to individuals.
EDIT: Maybe calling it HA for the enterprise customers is poor wording. I think if you state "SLA" to enterprise - that is language they understand and it doesnt make it look like you're implying that other users have no HA options.
It makes it sound like your advertising a single-point-of-failure architecture directly.
Its about the wording, it should be less WTF-inducing.
Strongly recommend not adding a cheap-o option for people to get just custom domains. Don't kid yourself. Either people are going to find the service valuable enough to pay for, or your business isn't going to be sustainable. You don't make it more sustainable by taking pennies from (likely) pathological customers.
And if you really can't afford it, get in touch about your project, we'll probably give it to you for free anyway.
Use this to your advantage. If you can stay on-message about your pricing and value-prop on HN, you'll have no trouble doing it with people who actually pay money for computery things. Make a game out of it.
When you say "if you ask we'll probably just give you this for free", what you may accidentally be communicating is, "I'm not secure in how much this product is worth". You make one potentially pathological low-value customer marginally happier, but subtly degrade your valuation with the entire rest of the community.
Believe me I feel your pain. I don't care that much about PaaS products, but I'm in the process of launching a new product and going out to customers about pricing. It's hard to put price tags on things! Wow is it hard! I have a total admiration for people who can hustle this stuff.
This is so true! For EffectCheck [1], when I see three segments of people:
1. People who refuse to believe that the technology works, because every person is a unique flower that overcomes 40 years of psychological research. Even linking these people to studies [2,3] that are happening all the time simply will not convince them that it may work.
2. Developers who want to use it for free. They post things like "it's too bad this isn't publicly available, I'd love to check my emails with EffectCheck." I have been through the motions with these people, and it usually ends with them being willing to pay somewhere in the < $10/mo range for unlimited access.
3. People who appreciate the technology and contact us to see if we can help address their business needs.
The gap between people in the first two groups and those in the third group is huge. People who are comfortable with B2B sales simply do not blink an eye at our prices, because they know they're more than fair. On top of that, we're a full service agency, and when we tell them our hourly rate for customization they find that reasonable as well.
Engineers and scientists are not necessarily naturally adept business people. Those that are may become some of the best (Larry and Sergei). Those that are not will waste their time complaining about pricing rather than assessing the true value.
When Conan O'Brian got screwed by NBC and Jay Leno on the Tonight Show, he made an appeal [4] to his viewers: "Please do not be cynical... It doesn't lead anywhere. Nobody in life gets exactly what they thought they would get. But if you work really hard and you're kind, amazing things will happen."
[2] Paper on media priming: http://www.elearning.jku.at/drupal/files/images/page_white_a...
[3] Blog post with link to a UC Berkeley study: http://blog.effectcheck.com/2011/06/22/climate-change-messag...
It's not about the person as a person, it's about what they see themselves using it for.
All things considered, $99/mo is nothing for a business that wants to make money out of its infrastructure. The way HN approaches DotCloud is "man, I could use this for my side-projects if it weren't so business-oriented". Most people here just aren't its target market.
You might be right about what the pricing communicates. As a bootstrapper, I do object to the notion that $1200/yr is an untenable expense. I expect that number is less than what Patrick "5 hours a week" McKenzie spent on hosting while still a Japanese salaryman.
But: you're probably right that this pricing says, "if you can't afford to cough up $1k for your hosting, we're not a good fit for you". And I think that's probably a very very smart move. This is a low margin, support-intensive sector. A startup entering it should probably not make things harder for themselves than they need to.
See, Heroku is the elephant in the room. Initially, I saw DotCloud as the Heroku for Django (and other platforms), but the pricing, and how you describe it, says otherwise. There unfortunately appears to be some market confusion, as they seem to be targeting a different market segment than many people thought. The challenge is for DotCloud to educate the market that they aren't necessarily a Heroku-type service, but something else that justifies a $99/month price.
But sure, maybe $99 is too high for real hosting. My only argument is that there shouldn't be a super-cheap option for running the "Free" account with a custom domain.
Total agreement regarding segmentation, by the way. This is why it costs nothing to have me write an email and five figures to copy that email into a PowerPoint. I do not do this because PPT is hard; I do it because if you need a PPT from me you're a Serious Business and I charge to match.
Just noted because it's interesting to me.
Here's what we mean by HA: everything you deploy is natively spread out across multiple datacenters. That includes your frontend, workers and database. This is non-trivial stuff.
Not to be confused with the usual bells and whistles of every PaaS under the sun, which we also offer - in all plans. Yes, we have a "mesh" which performs health checks on all your deployments, routes around network failures, re-deploys automatically on hardware failure, etc.
For example, does it automatically load balance? Is there redundancy within the data center?
For example, is a PHP+MySQL free plan equivalent to one $20 linode, or is it replicated databases and load balanced web servers across five systems?