story
I would really like to see more details about their architecture, especially about the MongoHQ integration.
Our MongoHQ integration is very straightforward - MongoHQ provides us with a replica set and we configure it as any other MongoDB database.
Feel free to ask any specific questions.
We showed it to people and we found that one could easily trick the system with things like "Worst American Art Ever". That generates results, but shows the limits of a general semantic search in a narrow context.
Happy to hear any suggestions about how to make something like this both useful and not too easy to make look really silly.
Why do you use both SendGrid and MailChimp for email?
Can you talk about the different use cases that require using the different email services?
SendGrid for one-off emails (ie. a user signs up for an account, their welcome email).
MailChimp for email marketing (we send newsletters via them).
MailChimp has since released Mandrill that caters to the one-off emails, but we were already with SendGrid by then.
Our average API response is 380ms. It's about 20x too long as far as I am concerned. It's not Heroku's fault to be fair, there's a mix of Ruby code, database queries and some not so easy to optimize math in some cases. It's definitely work in progress.
That certainly seems excessive for a non-logged-in user on your main landing page.
I suspect with a new AWS data center in Australia Cloudfront delivery will become better there soon, and we're looking at Akamai medium term.
don't be discouraged, after the initial load it performs better than most sites that look this nice.
Just curious, thanks!
We prepared for the worst, though, and had built a failsafe way to progressively shut off more demanding features on the site (for instance: our related search results on artwork pages) in case we were getting overwhelmed. Much better to have a reduced feature set during launch than a broken site. Fortunately we didn't have to flip that switch!
Then there're traffic spikes. Pretty hard to deploy to bare metal or EC2 instantly without building your own Heroku-like system.
Using something like Hudson/Jenkins can make deployments simple borderline trivial and EC2 supports ElasticBeanstalk which makes deployments a breeze.
Exactly.
Which is that much more I know about shipping working products which make my clients money.
Once you move past that, because your app is well structured you can easily deploy on your own hardware.
AWS is the electric company. Heroku tends to be the circuitry, outlets and light switches for your house. You may take it for granted because it looks so simple, but it's the simplicity that makes it great.
As PaaS providers begin to mature and turn attention to more worthy challenges (like geo-agnostic deployments, easier scaling, for example), then their value is only going to increase.