S3 + CloudFront is my favorite way to host an informational web site, but there's one thing it can't do...
I've been operating a web hosting company since the nascent days of the Web. I've seen nearly all the problems with hosting that are possible to see. Drive failures, hackers, web site defacements, unmanageable traffic bursts. AWS is like the candy store of solutions to all of these problems.
After all this time, I've settled on using S3 + CloudFront for informational web sites because it solves so many problems at the same time. The cost starts at pennies per month and it scales up with your success, which means if nobody shows up, it costs you next to nothing, and if the whole world shows up, it's still affordable, but you're already in a position to pay for it. Back in the day, I knew someone whose company spent hundreds of thousands of dollars on racking servers only to have nobody show up to the party.
The CloudFront part means it loads fast everywhere in the world. This makes Google happy because loading time is one factor in their complex ranking algorithm.
S3 + CloudFront also has no backend. No server to hack or deface. And even if someone found a way to deface your web site, versioning (turn it on from day one) lets you roll back the changes quickly. Change your keys and you're back in business.
So, reasonable costs, no server to hack, loads fast everywhere, and it makes search engines happy. What's not to like?
Well, it's the lack of a backend that is the one thing that can get in the way of your plans. There's nothing to run your PHP, CGI, or TypeScript and get your customers' messages into your inbox. I've duct-taped API Gateways to Lambdas, written some precarious Perl scripts, and even some janky JavaScript. But it always felt unstable.
That's why I built FormFeed. FormFeed lets you set up a contact form, get the results in your inbox in seconds, block spammers, and even download your contacts as a CSV. It's the AWS of contact forms: nothing to maintain, and it scales with you.
Sign up for a two-week free trial (no card needed) at https://formfeed.io, and create your first form. From the Integrate tab, copy your HTML block (or just the URL for your existing form) and drop it into your web site. You set the origin domain so nobody else can use your form, and you're ready to go.
I'll follow up with how to set up S3 + CloudFront and hook FormFeed into it.