Hacker News new | ask | show | jobs
by icod1 1459 days ago
My 2020 looks like this:

no docker no k8s

1 server

  git repo
  /var/www/domain_name
  git clone git_url /var/www/domain_name/backend/
  cd /var/www/domain_name/backend/
  go build
  
Updates

  git pull
  go build
  systemctl restart domain_name.backend.service
I pay 46€/month and I'm looking forward to halve those costs. Server load is mostly <0.5 I call this the incubation server. If a project takes off I rent a more expensive, but dedicated, server. It's very unlikely that I ever need more than 1 single server per project.

I will never write microservices, I can scale fine with a monolith. Lately I even moved away from JS frontends to render everything with Go on the server. Yeah it requires more resources but I'll gladly offer those resources for lower response times and a consistent experience.

Sadly companies that are hiring don't see it that way. That's ok. I'll just stay unemployed and try building my own stuff until something succeeds again.

I had a 7 year long project that brought in 5-7k€/m. The server costed 60€/m. I can do that again. I know it's not your kind of scale or income level, but it allowed me to have a good life living it my way.

2 comments

I think it's somewhat disingenuous to compare DevOps requirements of 5-7k/m projects with systems run and operated by companies in the mid market.

That said, something I often wonder about is if you could minus out 100% of the cruft systems run by realistic sized companies, exactly how cheaply could you run them and with what DX? Half of the problem is things built by 100 people with competing and shifting priorities will never result in a clean, tidy, sensible system and it's mighty difficult to minus out the effects that the organization scale has on the end result.

I'm currently working through building a hobby project on that as far as I know will only ever have one user, but I'm enjoying the total freedom to take my sweet time building it exactly as nice as I wish the systems I wrangle in my day job would be and I'm 100% looking to run it for free or as close to free but with as much performance as I can get because why the hell not? It's a totally different ballgame.

I didn't understand half the things you wrote. What's a company in the mid market? (nm I looked it up) What cruft? Not a native English speaker, you way of expressing yourself is hard to understand for me. DX?

Are there really things built by 100 people, if so, why do you need 100 people? Why can't you do with 1 lead 1-2 database guys 1-2 code monkeys? Why can't this be done in a monorepo and a monolith? Why does it have to run -in-the-cloud- on other people's computers?

I had a project that was ranked in the top 1000, according to Alexa, on a single server. But it didn't bring in enough revenue and took up most of my time so I shut it down. I re-launched it 15 years later but it's dead. No one knows or remembers the domain anymore save for bots who keep hitting those "fkk-sex-nude-porn" etc spam links.

Back then you could make a site popular with 1€/day on Adwords, nowadays ... lol, this won't even lead to your ads being displayed, anywhere.

Go can handle 500 million visitors per month on 10 year old hardware (= 1 server). Which "mid market" company has 500 million visitors per month?

Writing websites/apps isn't complicated. For me anyway. You figure out the data models, write the use cases and you're half way. The other half is writing the display layer to make use of that data.

You make it all sound like the requirements or the product is different. It's not. It's all the same. You can have observability without k8s. You can scale without k8s. You don't need a managed database. Man this stuff is simple. It's people how are trying to sell you cloud and microservices and whatnot that make it all sound so hard. A good software developer if spending his knowledge and lifetime to build something for you that is built to last, because you can't apparently do it yourself or don't want to. It will last even when he isn't part of your company anymore. He could've built the same for himself and monetize it, instead of bowed down to you (not your personally) and opted for steady income.

I understand how, let's be honest, when we talk DevOps we mean k8s, so I understand how sweet a siren's song k8s sings. But it's ultimately a waste of resources. It's a solution asking for a problem. Until you reach proportions that require k8s you'll be completely satisfied with a 3 server setup, that is Go and pick a database. I promise, I guarantee.

That 5-7k/m project had 30 people concurrent at most. It had 30TB/m outgoing traffic at most. How much does 30TB egress cost in GCP,AWS etc? It used to be about 3k, I believe it's 1/3 of it now.

Why would the principles that are valid for a "small" project not apply to a "mid market company"? More features? So what? The principle remains the same. Boring, same old. Data models, wrappers, display layer. It's the same for all, your beloved FAANG, mid market, small business, single owner.

Whatever.

No one ever said a VPS with a shell script is terrible. You think of scale the wrong way. Scaling is not only about increasing from 10 requests / second to 1000 requests / second. Scaling is about organizational scale too, i.e. how do you ensure going from 2 to 20 developers increases productivity by at least 20x and not 1.5x?

Tools like Docker, Kubernetes and whatever absolutely help in that regard.