Live data from Hacker News

Simple Systems Have Less Downtime

gkogan.co

201–210 of 271 posts

Re: Simple Systems Have Less Downtime

#201
post #143

I gave a talk on this subject at CU last year and have, one way or another, spent my entire professional life thinking about this topic. I agree wholeheartedly that simple systems have less downtime. I would like to add a line from the talk that I give: Simple systems fail in boring ways. Complex systems fail in fascinating, unexpected ways. rsync.net storage arrays typically have multi-hundred day uptimes. But acros…

sorry for offtopic.

there a broken link that I was interested to read on. its on https://www.rsync.net/resources/howto/rsync.html ctrl+f "rsync snapshots are detailed here"

I think given the topic, someone is expected to figure it out on their own (remember linux cake?), but I feel a bit lazy after a work day.. sorry

Re: Simple Systems Have Less Downtime

#202
See Gall's Law:

> A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.[9]

* https://en.wikipedia.org/wiki/John_Gall_(author)#Gall's_law

Re: Simple Systems Have Less Downtime

#203
I guess the main question to be asked is should be:

is the complexity appropriate for the goal (i.e. Everything should be made as simple as possible, but no simpler. )

Hence, often a required step to fix complexity is to change the goal, in such a way that it can be implemented with less complexity.

Re: Simple Systems Have Less Downtime

#204
post #196
post #54

Instagram was what, 12 employees when they got sold for a gazillion dollars? They all could fit into a van. Because they kept their system simple. It was (and still is) a monolith. Now imagine that they decided to go the microservices way. Multiply that team size by 10 at least. Don't solve problems you don't have.

In my experience you do end up having external dependencies and more than one service. You do end up breaking out some code into special instance types, (high ram for video processing or what have you). These are problems you do have and do have to solve so you might as well come up with a plan. Deploying microservices really isn't that hard once you make it routine, imo. But what do I know? I would not have expected…

microservice vs monolithic is a shade of grey. what if all the code is in one codebase, but distributed to varying instance types that use some config flag to say the role it plays in that context. is that monolithic or microservice? I'd say the code is monolithic and the architecture is microservices. So it's some hybrid version.

what you're talking about (isolation of responsibilities) can be done and still be considered monolithic. you can also use the exact same instance type for everything and still be considered microservice.

I think what we're really talking about is containers vs machine images. And personally I think containers right now are suffering from the same abuse/hype that datastores suffered like redis/mongo/couch etc. Sure they have an application and solve problems, but they're being over used to the point of causing technical debt.

Re: Simple Systems Have Less Downtime

#205
post #64

Earlier quoted context omitted.

Read all about it: https://instagram-engineering.com/static-analysis-at-scale-a...

typically deploying to production around a hundred times per day That is insane! We make a release once a week at work and things still go wrong sometimes. I am in awe how they are able to pull this off, especially at their scale.

The more frequently you release, the less, or less serious, bugs there typically are, and the earlier you catch them.

The faster development cycle also helps people invest in testing infrastructure more effectively.

Re: Simple Systems Have Less Downtime

#206
post #197

This is a very important idea. I like the shipping container metaphor. I have often used the idea of a 2x4 (as in lumber) in building houses. The humble 2x4 is such a simple product, but when put together with nails and screws becomes the cornerstone of a complex structure. It is simple and it just works for its intended purpose. I am working hard to apply this to the design of Webase [1] which is a #nocode platform…

You're overdoing these links. That's no doubt why you're getting downvoted and flagged. It's fine on HN to post your own work (1) in places where it's relevant, as long as (2) you only do it occasionally and (3) are also participating in the community in the intended ways, submitting interesting articles and having curious conversation. But when users break these rules of thumb (and you've been breaking all three of…

Thanks for the feedback. So far I have been getting positive feedback which is why I have continued to do this.

I have been trying to add to the overall value of HN with insight in general and only including a link to my site if it is relevant.

But I hear you and will adjust accordingly.

I do sincerely appreciate the feedback as I have been steadily gaining karma and then out of no-where it when backwards today.

Re: Simple Systems Have Less Downtime

#207

Earlier quoted context omitted.

Bullshit. You're talking about an operating system where the common advice for someone who wants to install up to date software is to fucking compile it from source because the whole community never got their collective shit together enough to allow developers to directly distribute binaries without a gigantic fucking headache. Christ, it's such a fucking mess that one of the most compatible ways to distribute softwa…

Hardly. I've maybe had to do that 5 times in the last...10 years? And I split my time between Arch, CentOS & OpenBSD. The vast majority of things these days are packaged in a useful way. There's also flatpak and similar now.

> I've maybe had to do that 5 times in the last...10 years?

Good for you. Some of us have to install up to date software more often than every 5 or 10 years.

Re: Simple Systems Have Less Downtime

#208
> Simple systems may have less downtime

* Yeah, but often they do less / are less effective during uptime.

* "simple" is an inspecific concept. Is the implementation simple? The API? The hardware? The requirements?

* "simple" is a vague concept. Is a 1000-line C program more complex than a one-liner script in a fancy higher-level scripting language? Yes, if you ignore the 1,000,000 line abstract virtual machine, JIT compiler, interpreter, large standard library and what-not. Otherwise - maybe so, maybe no.

> Modifications before additions

I actually agree, but:

* Managers don't like it.

* Sometime this downtime happens before there's ever been any uptime...

* Tomorrow you need something else, and the changes for that require re-engineering the parts you already re-engineered to best accommodate the previous addition.

Re: Simple Systems Have Less Downtime

#209

Earlier quoted context omitted.

Hardly. I've maybe had to do that 5 times in the last...10 years? And I split my time between Arch, CentOS & OpenBSD. The vast majority of things these days are packaged in a useful way. There's also flatpak and similar now.

> I've maybe had to do that 5 times in the last...10 years? Good for you. Some of us have to install up to date software more often than every 5 or 10 years.

I'm running Arch on my office workstation. I install up to date software literally every day.

Re: Simple Systems Have Less Downtime

#210

See Gall's Law: > A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.[9] * https://en.wikipedia.org/wiki/John_Gall_(author)#Gall's_law

I find it mildly annoying when people state such nuggets of knowledge as “laws”. Sure, it’s generally true that you can’t go for the most sophisticated and powerful system at the first go, but sometimes the minimal working system is complex no? Anyway, it’s certainly not a “law” of the universe.
Post reply on HN