Hacker News new | past | comments | ask | show | jobs | submit login
I moved my sites from Google Kubernetes Engine to Netlify and saved $1000 / year (iamhamy.xyz)
57 points by SIRHAMY 58 days ago | hide | past | web | favorite | 25 comments

This post was amusing to me for so many reasons. The author did this for his personal project, cheers to him for his passion to try out new technology.

This is roughly similar to what happens in technology teams all across the business units.

Manager 1: We are streamlining all our product offerings to a Kubernetes container cluster. Why you ask? We want to modernize our stack and we want to attract best talent.

Manager 1 and the team collects the rewards

...... few months later

Manager 2: We reduced the cost of operations by x% by simplifying operations. Aka rolling back to something other than Kubernates.

Manager 2 Collects the rewards

Every time, there is a detailed intelligent write up about what we are going to do and what we did and how awesome it was.

Believe it or not, internet has a way of influencing the really smart people with branding and advertising driving them to a form of resume driven development.

Kubernetes to developers is like what Axe body spray is to teenagers.

Just use Axe Deodorant and women will be all over you.

The frustrating is that these virulent things often define the standard, instead of a well-thought-through solution. E.g. JavaScript.

Thanks for the holiday chuckle :)

The title of this article is frustrating, it comes across like an ad for Netlify. The author moved to Google Cloud and Kubernetes because he wanted to attain hands-on experience on those platforms, not because he seriously thought it was the right technical choice for his 25 visitors a day static blogs.

So he spent $1k to learn GCP and K8s. That seems like money well spent.

He spent a few credits for the learning, and then spent $1000 (cash and credits) to leave it up in production for a year.

I guess he could have spend the money in training and would be better off.

There is no replacement for hands-on experience.

I agree, the title of this article is absurd. I feel like he could have moved his sites to Cloud Run or Functions, also on GCP, and paid pennies.

$1,000/yr is definitely excessive. You can have managed Kubernetes for ~ $100/yr from Google or (recently) Digital Ocean using smaller instance types.

The point about maintenance is a good one if you're running purely static sites. K8s has a steep learning curve, though FWIW I think its probably easier than systemd and standard unix administration + puppet/chef/ansible/etc.

For sure. $1000/yr is excessive. For a third the cost, you can have a three node, small cluster on DO that you can experiment with. I did it prior and will probably do it again in the future when I have something worth hosting out on the web.

I agree with your second point, too. If you don't view K8s as something you need to know _everything_ about, it's a powerful tool that simplifies things that you'd need multiple tools for. I never really learned provisioning tools like Puppet/Chef/Ansible and Systemd, so k8s was a fresh experience for me. I like it, though, because I really like containers over VMs as the unit that's running my code.

GKE is cheaper than DO if you don't have huge cpu needs, I just checked it recently. DO minimum is $15/mo for kubernetes, on Google you can get to around $7 with a "micro" VM.

That is, if you really want managed kubernetes. Otherwise you can get a $5 VM on DO.

I'd say it's debatable if it's really easier than puppet/chef/systemd

For something really simple, sure. For something that goes beyond a simple web server, you might be touching on similar competencies to those needed to run your services "the old way"

It might be easier to manage, sure, but to get started, and have an efficient deployment, not necessarily

Examples: your system needs a special service or library that is not available in the distro, you need to deploy a cronjob or similar periodic service, you need multiple services running at the same time (either in the same pod or separately), etc

I'm saving 2000 USD per year myself here is how I did it: I bought a truck loaded with 1000 KG of stuff I never use to drive to work and the gas was very expensive, but now I have switched to a smaller car without any load and save 2000 USD on gas every year.

It would be interesting to see a comparison to App Engine, which seems like a better fit than Kubernetes for low-traffic sites.

Yeah, App Engine would have cost $0 since that traffic would fit in the free tier.

Cloud Run would be the slightly more general and newer way to do this too, and the free tire there is 2 million req/month. I _think_ he could have migrated containers directly from GKE.

Oh wow, I'd never heard of Cloud Run before. Just popped some numbers in that I think are correct and it did come within the free tier range.

See GCP calculator: https://cloud.google.com/products/calculator/#id=36a5f437-98...

Based on the write up it seems that the author could benefit from the fully managed version of Cloud Run on GCP (https://cloud.run). No cluster to manage would help with maintenance pains and per request billing model could potentially lower the overall costs given the scale to 0 capability.

I was going to mention this as well. Any time a user has an underutilized K8S cluster if only 3 nodes I immediately wonder if the auto-scaling (to zero) docker-running features of Cloud Run are what they’re really looking for.

github actions to deploy a hugo static site on github pages = free

Anyone have any recommendations for a managed Compute/Postgres stack that’s less than 100/month? I was trying Heroku but frustrated by the single port per container and lack of static ips.

Try DigitalOcean Kubernetes with their hosted Postgres service. If I recall correctly you only pay for the worker nodes and don’t pay anything for the k8s master nodes

What do you need a static IP for? (Also, fwiw, we have add on providers that do give you static IPs)

I wanted to point my root domain (hosted by Google) to the Heroku app DNS target. I was able to solve this by using Cloudflare instead, with flattening.

(Thanks got your reply!) Also other drawbacks: lack of http/2, couldn’t configure mtls from cloudflare to avoid someone going around the waf

You could probably save as much or more going to an AWS Serverless stack (S3 and Cloudfront CDN for the front end, lambda on the backend. Shoot me an email if you like.)

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact