Live data from Hacker News

Wordpress on AWS: smooth and pain free

cloudonaut.io

61–70 of 124 posts

Re: Wordpress on AWS: smooth and pain free

#61
Unless you pay for a larger instance where the cost turns out to more like 50 bucks a month you get very limited bandwidth out of AWS, which is why I stopped using it. I suppose if you are running a corporate blog and cost isn't an issue then AWS probably works fine but for smaller sites and individual users there are vastly cheaper very good hosting options out there. I don't want to seem like a shill so I won't mention them by name. It was the super crappy bandwidth on AWS where basically my site would die regularly with just one or two visitors that made me abandon the platform.

Re: Wordpress on AWS: smooth and pain free

#63
post #9

Before you hop on board with this "pain free" solution, you should accept the fact that you may end up maintaining this: https://github.com/widdix/aws-cf-templates/blob/master/wordp... There should be easier way, e.g. in Azure you can start WordPress (includes MySQL, limited to one app service instance) with one click, not sure what are the costs of maintaining that, but at least starting one in that case is pain fre…

> Before you hop on board with this "pain free" solution, you should accept the fact that you may end up maintaining this [...]

True, although ongoing maintenance of a CloudFormation template isn't significant. It's essentially a specification of the state of the infrastructure, which AWS is then responsible for making come true. It's also their stuff from CloudFormation back, so they're on the hook for making sure nothing changes that would break it (relative to Terraform or other alternatives).

Also keep in mind that AWS services are usually encapsulated from each other, which is a good thing. The result, though, is that defining something like this involves a lot of parts. You need to define its private network, its subnet masks, its EC2 instance types, its database type and configuration, etc. The author also took it a step further to define CloudWatch alarms and scaling policies, which is great.

It is something that requires understanding if changes are necessary, but it's not something that you would expect to need tweaks over time.

> There should be easier way

There is--he could have started Wordpress by just launching an instance with userdata that installs it and sets it up. This isn't really comparable to that because it involves multiple servers behind a load balancer, a CDN, a hosted DNS zone, a separate relational database service instance, and autoscaling.

Re: Wordpress on AWS: smooth and pain free

#65
> I’m not a fan of Wordpress, as it is neither cloud-ready nor serverless.

Well that's a funny opener.

TL;DR: rather than configure your uploads to go to S3, one of AWS's most battle hardened and time tested offerings, use a service that was launched 10 months ago and can definitely scale perfectly and will never have any issues. Then you can even keep on managing your htaccess files using a WordPress plugin and skip that pesky version control!

Re: Wordpress on AWS: smooth and pain free

#66
post #40

Earlier quoted context omitted.

Static site generators are just fine for personal blogs. They don't fit the bill at all when you have a group of people all writing on one blog and you need things like access controls and media file management. Also, not sure why google rendering JavaScript would have any effect on static site generators.

That's why I said it depends on the needs. Read. Stop blindly defending garbage. You can use version control with a static site generator. Otherwise there are hundreds of crud interfaces to edit content with a group that a far superior to WordPress. JavaScript rendering is if your use case requires dynamically generated content. Again, read. It's based on your needs. Whereas you are defending WordPress because your(n…

Not really defending word press, just pointing out that it has its use cases and the solutions you responded with don't cover them. Have you used Wordpress? It's interface is far from garbage and it's plugin ecosystem is plentiful.

You seem pretty upset about someone choosing wordpress but you haven't done a very good job of articulating why it's bad and what other competitors are out there that are better (no, saying "any other crud editor" does not qualify and only seems to prove how much you don't understand about the use cases of word press)

Edit: for what it's worth, I don't have "clients" and my bank account isn't at all tied to using word press. No idea where you got that from.

Re: Wordpress on AWS: smooth and pain free

#67
Yes, you can do this. But, what about a staging environment? How do you keep data and code in sync between environments? My company runs a lot of wordpress instances, and we've wound up shipping most of them to Pantheon. (pantheon.io) Not only does it take care of environment issues, but it gives you redis and implements caching as a service. As the post says, wordpress fights AWS a bit. We leave it to the people who are experts at winning that fight.

(I know this reads like an ad. I'm not affiliated with pantheon except as a user. Pantheon comes close to making wordpress not suck.)

Re: Wordpress on AWS: smooth and pain free

#68

In my humble opinion, WordPress is something to be surpassed, that is why it fails on being cloud-friendly. If someone makes a system as customizable and flexible as WordPress it would be a huge success.

I've been waiting on this for awhile, currently I run most sites through jekyll and for clients that need CMS options I hook them up with http://cloudcannon.com/ I've gone the WP a number of times and it's been more headaches then it's worth. Everything seems like a hack on a hack. There are things like sage/roots that make it a "little" better.

>> Everything seems like a hack on a hack

My experience with WP has been the same. Seems like you get a basic theme installed, and then whatever functionality you need you just download, install and configure a dozen or so plugins. Can't find a plugin that you need? Oh, then you can just write a plugin that you download, install and configure on your own.

The bloat from that approach just drives me nuts.

Re: Wordpress on AWS: smooth and pain free

#69

It's always validating to see someone else write a blog post of the same decisions you made. This guide is good. For doing the uploads folder onto s3, I couldn't recommend S3-Uploads more it has served me well https://github.com/humanmade/S3-Uploads

I work at Human Made (owner of the above repo, and an enterprise WordPress agency), and we run all our sites on an all-AWS stack. We have a few other plugins for related AWS pieces, including email via SES [1] and a dynamic image thumbnail generator that runs on Lambda [2] that might also be relevant.

Using S3 for the uploads solves our problems without needing EFS, as we disable file system changes through other methods. Plugin installs or upgrades are great, but aren't tracked in the git repo, so we do those via local upgrades and deploy out to AWS instead.

The article also mentions installing WordPress as being a pain, but you can easily automate this using wp-cli [3] if you want to. Your RDS containing the WP data is going to be shared though, so there's no real need to install more than once.

[1]: https://github.com/humanmade/aws-ses-wp-mail [2]: https://github.com/humanmade/node-tachyon [3]: http://wp-cli.org/

Re: Wordpress on AWS: smooth and pain free

#70

This guide is spot on for WordPress on AWS. The persistent and shared EFS volume was the missing piece for running WordPress without frustrating patches. And CloudFormation is the AWS best practice. Convox has a few serious WordPress installs. The only difference is that it uses ECS so those EC2 instances can be utilized for more apps. Also you can hack on the WordPress site locally with Docker via 'convox start' htt…

IMO the better way to run is with _no_ shared file system at all. Use CodeDeploy to ship the deploy files to all ec2 servers, and then use S3 to store all uploaded files. WordPress doesn't need to do any file writing outside of the `uploads` directory.

This allows you to sidestep a large amount of pain points with shared filesystems, and every ec2 server has local disk performance.

Post reply on HN