Re:What every software engineer should know about Apache Kafka
by gigatexal on Saturday May 16, 2020 @05:55PM
(#23207545)
IMO lock-in fears are overblown. Build stuff out quickly and prove your idea and then refactor when you have customers and revenue.
[ Parent
| on HN ]
Re:What every software engineer should know about Apache Kafka
by SpicyLemonZest on Saturday May 16, 2020 @06:04PM
(#23207590)
Refactoring a growing system while maintaining bug-for-bug compatibility is extraordinarily hard. Most people I know who've gone through such a migration never want to do it again.
Re:What every software engineer should know about Apache Kafka
by halbritt on Saturday May 16, 2020 @08:09PM
(#23208271)
Most people are simply bad at migrations.
Re:What every software engineer should know about Apache Kafka
by gigatexal on Sunday May 17, 2020 @03:21AM
(#23210284)
Wasn’t Facebook built on MySQL with the friend graph written in relational SQL and PHP? The idea was but out and then perfected later. In my head this is the same as doing it on AWS or GCP fully on their proprietary stack and then once making some coin you start a refactor or a migration in parallel to your own hardware and stack as costs warrant it.
Dropbox is famous for doing this when they did their move from S3 to pocket — an in house storage layer they built.
Re:What every software engineer should know about Apache Kafka
by rcxdude on Sunday May 17, 2020 @07:54AM
(#23211349)
It's not likely your product will have enough financial success to afford the huge amount of engineering effort facebook has put into improving their platform. If your system falls apart before you are making enough off of it to fix it you're going to just run out of runway.
Re:What every software engineer should know about Apache Kafka
by halbritt on Monday May 18, 2020 @10:20PM
(#23230681)
Or to add to that, there are often very good reasons to optimize well before facebook did. The sheer friction of making the transition to The Right Thing can often be too difficult to overcome.
Re:What every software engineer should know about Apache Kafka
by SpicyLemonZest on Saturday May 16, 2020 @10:50PM
(#23209101)
Ultimately, building a maintainable system requires that you allow for people being bad. If 10 smart engineers contribute to your system, and they each assume future developers will be good in their own distinct way, the resulting system will be so complicated that none of them are good enough to maintain it.
Re:What every software engineer should know about Apache Kafka
by halbritt on Monday May 18, 2020 @10:20PM
(#23230683)
Preferably, everything that can be is loosely coupled and extensible.