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)
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.
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.
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.
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!
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.
ANY stack? How about .Net? :)
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.
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/
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.
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.
Though I do wish that they would beef up their support staff so that the issues are resolved faster than they are now.
If you need more than 4 services, you can simply purchase more - no need to upgrade to enterprise.
https://www.dotcloud.com/pricing/pricing-faq/
EDIT: Also, +1 for a password reset feature to fire up that beta account again.
- 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.
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.
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
There are already solutions for nginx/websockets on github.