5 ms·
Notably: - No Rust/Go rewrite - GC not disabled - Didn't apply the latest research on k/v storage Jokes aside, this is the fun parts of hosted software and
by parhamn 6y ago
Notably:
- No Rust/Go rewrite
- GC not disabled
- Didn't apply the latest research on k/v storage
Jokes aside, this is the fun parts of hosted software and glad to hear the "things don't have to be so hard" side of things. Hope it continues working out!
- pier25 6y agoAnyone knows which stack they are actually using?
- guessmyname 6y agoKhan Academy uses Python [1], Google App Engine [2], React.js [3] and recently Go [4] among other languages [5]. They have used Backbone.js [6] and experimented with other programming languages like Kotlin [7]. Read their engineering blog [8] and you will know more and maybe learn a few things. [1] http://engineering.khanacademy.org/posts/python-refactor-1.htm http://engineering.khanacademy.org/posts/python-refactor-1.h... [2] http://engineering.khanacademy.org/posts/transaction-safety.htm http://engineering.khanacademy.org/posts/transaction-safety.... [3] http://engineering.khanacademy.org/posts/upgrade-buttons-links.htm http://engineering.khanacademy.org/posts/upgrade-buttons-lin... [4] http://engineering.khanacademy.org/posts/goliath.htm http://engineering.khanacademy.org/posts/goliath.htm [5] https://github.com/khan/ https://github.com/khan/ [6] http://engineering.khanacademy.org/posts/upgrade-buttons-links.htm http://engineering.khanacademy.org/posts/upgrade-buttons-lin... [7] http://engineering.khanacademy.org/posts/kotlin-adoption.htm http://engineering.khanacademy.org/posts/kotlin-adoption.htm [8] http://engineering.khanacademy.org/ http://engineering.khanacademy.org/
- snazz 6y agoThe Go rewrite is in progress: http://engineering.khanacademy.org/posts/goliath.htm http://engineering.khanacademy.org/posts/goliath.htm
- sjwright 6y ago:facepalm: And their reason is because their code is currently Python 2. To avoid some manual code refactoring to support Python 3, they shall rewrite in an entirely different language. So they'll train their entire programming staff in Go and task these new inexperienced Go programmers to do a straight port of their code base from one highly opinionated language to a different highly opinionated language. They've certainly done an excellent job enumerating all of the very lucrative benefits of a Go rewrite, while ignoring or hand-waving away any of the challenges. It all screams version 2 syndrome. Who knows, maybe this is a great move for them. I’m only going on their blog post about it. But at minimum they've done a poor job communicating how they've looked at this challenge objectively and without rose-tinted glasses.
- spyspy 6y agoIf you're already using GCP, my general advice for new projects is almost always some form of "just throw it on AppEngine". No, you don't need multi-region deployments. No, you don't need 32TB of memory per instance. No, you do not need kubernetes. No, istio is not going to solve this. No, you're not hosting your own kafka cluster. I've found devs are always trying to over-engineer complex solutions to dead simple problems. Just let Google do it and get some sleep.
- gamegod 6y ago"Just put all your eggs in one basket!" K
- sg47 6y agoNope, just one or two eggs. When those eggs hatch and you have a massive chicken farm, you can start putting your eggs in multiple baskets.
- yesenadam 6y agoPeople who count their chickens before they are hatched act very wisely because chickens run about so absurdly that it's impossible to count them accurately... – Oscar Wilde, letter to R. Ross, 31 May 1898
- freehunter 6y agoStarting simple isn't putting all your eggs in one basket. In fact it's such a common recommendation (and so commonly forgotten about) that there are several phrases designed just to teach this one lesson: KISS - Keep it simple, silly YAGNI - You ain't gonna need it MVP - Minimum viable product Overengineering Real artists ship I'm sure there's a ton more examples but that's just off the top of my head. Point is, until you know that you need high availability and multi-zone disaster recovery and etc etc, just engineer it for the problems you actually have.
- squnch 6y ago
- VWWHFSfQ 6y agoBut notably missing from the blog post is how much this stack costs to run at that scale. $100k/month? $200k/month?
- minhazm 6y agoI know you're joking, but they actually are doing a Go rewrite. https://engineering.khanacademy.org/posts/goliath.htm https://engineering.khanacademy.org/posts/goliath.htm