As someone who doesn't know a lot about Distributed Systems - what are some basics that I should keep in mind while I'm developing? Are there things I can do to make things easier or harder to scale later? (or: when should I start worrying about that?) Thanks!
My biggest learning while dealing with Distributed Systems has been that everything fails (especially the network). Most of the products that I build now are not focused to prevent failure but instead to work inspite of failure. Some keywords to read up are Chaos Engineering and Crash First Development.
My second biggest learning ( & potentially unpopular opinion) is that if you can avoid a distributed system, avoid it. A monolith is hundred times easier to reason with and test against. :D
Great points, thanks; Yeah - I think "everything fails" is one of the reasons I've really tried to avoid it so far :)
That, and nothing that I've built has enough traffic that can't just be solved by "increase the number of web processes" on a monolith app. Maybe if I build something popular enough, then I'll have to worry 🤣
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
As someone who doesn't know a lot about Distributed Systems - what are some basics that I should keep in mind while I'm developing? Are there things I can do to make things easier or harder to scale later? (or: when should I start worrying about that?) Thanks!
My biggest learning while dealing with Distributed Systems has been that everything fails (especially the network). Most of the products that I build now are not focused to prevent failure but instead to work inspite of failure. Some keywords to read up are Chaos Engineering and Crash First Development.
My second biggest learning ( & potentially unpopular opinion) is that if you can avoid a distributed system, avoid it. A monolith is hundred times easier to reason with and test against. :D
Great points, thanks; Yeah - I think "everything fails" is one of the reasons I've really tried to avoid it so far :)
That, and nothing that I've built has enough traffic that can't just be solved by "increase the number of web processes" on a monolith app. Maybe if I build something popular enough, then I'll have to worry 🤣