Hacker News new | ask | show | jobs
by seanwilson 3498 days ago
I use GitHub pages with Cloudflare (free CDN + HTTPS) for simpler sites but I'm a fan of netlify.com right now. Setup is simple, atomic deploys are simple, rollbacks are simple, caching + cache invalidation + HTTPS is done for you and there's paid plans if you need passwords, form submissions and custom response headers. There's probably cheaper options compared to the paid plan at $9 a month but you have to ask yourself how much your time is worth in comparison if you're burning just 1 hour a month on configuring your hosting.

Deploying over S3 sounds like a bunch of hassle to me. Can you deploy atomically? Can you rollback?

3 comments

I use a static site generated called 'middleman' for my blog. I tested S3 deployment in the past and I must that it's not all that complicated.

The PITA is that you need Cloudfront to handle SSL and if you're not using Route53 automating the upgrade process is more complex than it should be.

> Can you deploy atomically?

Hm, I'm not sure what atomically means in this context, S3 supports 'sync' so you basically can write a bash/ruby/python script to handle deployment (I use a rake task).

> Can you rollback?

Yes, I use git (gitlab) to keep track of changes, so rolling back is not a problem.

> I use a static site generated called 'middleman' for my blog. I tested S3 deployment in the past and I must that it's not all that complicated.

I'm not saying it's super complicated but if extra features are costing you even a couple of hours of time it's probably worth paying to make the problem go away.

> Hm, I'm not sure what atomically means in this context, S3 supports 'sync' so you basically can write a bash/ruby/python script to handle deployment (I use a rake task).

Atomically means you either update all of the files or none of the files. If you're updating one file at a time there's a chance e.g. a visitor will see a new page but with the old CSS file. What happens with S3 here? Also, how do you deal with cache invalidation?

> Yes, I use git (gitlab) to keep track of changes, so rolling back is not a problem.

I personally prefer if you can rollback to a previously working deploy with a dedicated CLI/web rollback option than having to deploy again if that's what you mean. There's a chance your local setup or deploy script is messed up and it's quicker.

> (I use a rake task).

I've found this little tool to be a huge timesaver for Middleman deployments to S3. Just remember to gitignore your environment variables ;)

https://github.com/fredjean/middleman-s3_sync

This is what I run a few of my sites off of right now, super simple. For other things I use Namecheap (shared) but have been looking into Digital Ocean or Linode.
I use Linode. Better network performance than DO, and cheaper.

This is what I got from a test I ran.

Download: 1880.39 Mbit/s

Upload: 443.29 Mbit/s

I've set up CircleCI to auto deploy to S3 and invalidate Cloudfront cache whenever there's a push to master on a Github repo. Once setup, it just works.