Hacker News new | ask | show | jobs
by callumjones 4423 days ago
Here's the take-away from this post

* You treated the system's memory like it was some infinite resource. It's not, you need to make sure your application efficiently handles memory and takes measure to ensure it doesn't grow too large. Would you want it swapping on a regular host?

* You thought you could get away with a free database that is used for development.

You're using an application that isn't built well for shared environments, it expects dedicated hosting.

You'd be better off designing your blog around Azure Web Sites, knowing the advantages and disadvantages of the platform and taking advantage of them. Don't try to shoehorn it in.

2 comments

Take-aways that must came with yours:

* There is no way to calculate memory usage, it's completely opaque. The first thing the author told was how he was controlling memory usage, but that does not reflect on Azure's number. Also, swapping is a bit better than just having your site taken down with no warning.

* Nearly all hosting providers have "free" database providing included in their price. (And until I read that artile, I wouldn't even think on adding that "nearly" at the beggining.)

But yes, you shold know your environment, and not shoehorn it in.

I'm not sure I agree with nearly all hosting providers having free database services. Azure seems like it intends to be a competitor to AWS and Rackspace, both of which charge for their cloud databases.

AWS RDS Pricing - https://aws.amazon.com/rds/pricing/

Rackspace Cloud Database Pricing - http://www.rackspace.com/cloud/databases/pricing/

Paying for provisioned performance is a pretty good idea, but the general script kiddie audience wants stuff to "just work." Obviously there is a divide between SLA quality services and bulk shared services like PHP on Dreamhost.
It may intend that, and may be a competitor in other services, but at least Amazon do not provide any service equivalent to this one.
I think swapping is just as bad as having the quota cut you off, both will result in your site either accepting users or not (if you're swapping you're turning users away by being slow).

Not sure what reliable hosting providers through in database for free and expect it handle 3600+ connections.

Well, no, he told us how he was controlling WordPress' memory usage, but not the web server's or PHP's. And Azure includes free databases, both SQL Server and MySQL, there's just limits (20mb). Which, y'know, is how it works.
I tried to add php_value memory_limit 128M in .htaccess (it's mentioned in the post), but I wasn't aware that Azure pays no attention to .htaccess and I should've been modifying web.config instead.

But I'm a tech guy. As a customer, I would expect Azure to configure the server and PHP on its own and not bother me with the quotas at all :)

You're a tech guy, and you expected IIS to use Apache configuration files?

EDIT: And as a customer, you're expecting managed hosting from a service that clearly isn't a managed hosting provider? Yeesh. There really are managed hosting providers in the world, if that's what you want.

Next time somebody will post a post titled 'How Nginx Sucked in Production' and he'll complain about .htaccess files.
.htaccess is supported not only by Apache. And I wouldn't be surprised if WAWS supported "at least a subset" of .htaccess configuration keys on Azure, since Microsoft has been trying to make a move into the LAMP world during the latest few years. I would consider it a marketable feature.

If we're discussing terms, then we must have a different understanding of what a managed hosting is. A service that allows you to select an application template, deploys the resources for you, sets up source control software, handles OS patches and host software installation for you, is _clearly not_ a managed hosting? What is then?

EDIT: I do admit that editing .htaccess was my own mistake. Not even sure where it came from actually, since the default WAWS WP template doesn't even contain it.

Good points, but I must disagree on some details:

* We did not develop the application from scratch and therefore we cannot control its memory consumption, especially if it's a garbage-collected environment. We used WordPress as an existing application template provided by Azure. The development on our side was only about developing a custom WP theme, which is 90% frontend development. The developers barely touched the server side, and we tried to configure the environment to consume not more than X MB.

* Regarding not being built well for shared environments: WordPress powers about 60 million sites in the world, and I bet the vast majority of them runs on a shared hosting. Currently, this blog post is served from one of them :) During the typical days, our traffic is really too low for a dedicated environment, so it would really be an overkill.