Ask HN: Stanford CS 153 help
A progression of projects that comes to mind:
1) CI and IAC that deploy a web app running in a container
2) Add horizontal scaling and load balancer
3) Add long running tasks / scheduled task support
4) Deploys will likely break long running tasks. Implement blue/green or rolling deploys or some other sort of advanced deployment scheme
5) Implement rollbacks
2/
Build a multi-cloud architecture. And by this, I mean connect two cloud's networks without traversing the public internet to connect two applications running in each respective cloud. And then, put that into IaC. It sounds like not much, but the issues you uncover are pretty illuminating and it is a fantastic interview question to give to senior-ish infra guys to see how they approach it and the challenges they expect.
And you're right, we're all weird.
At multiple points in my career I stumbled upon stuff from Bredan Greg. He is highly skilled in large-scale distributed computing but also down to the nitty gritty details (bits).
kyle kingsbury/aphyr of jepsen seems like an exemplar of #1
I don't have recommendations like others here. But as a junior engineer still coming upto speed with real engineering, I'd really appreciate it if this was course was made open (interms of lectures, assignments etc) to help folks like me audit & learn
1) in addition to the excellent recommendations already mentioned:
Brendan Gregg has a lot of good stuff about monitoring and performance analysis https://brendangregg.com/ https://github.com/brendangregg
Also Jess Frazelle (lots of good stuff, esp around containerization): https://blog.jessfraz.com/ https://github.com/jessfraz
Hey can someone who is not enrolled in degree attend the course on campus if they live in bay area? Also would they provide materials online? This looks like awesome course btw.
Murat dermibas comes to mind.
Marc Brooker @mjb https://news.ycombinator.com/user?id=mjb
1) you should reach out to the Convex.dev folks. They have built a solid infra platform, and their backend is open sourced(ish). They are ex-Dropbox as well. And finally they love to share!
2) I think multiplayer games could be interesting! Lots of meat while still having a lot of space to calibrate the scope.
Maybe reach out to Netflix's live streaming dept. since we all learn so much more from our own failures.
Cheers!
Not unsung, but Jay Kreps has made original contributions to the practice of building large scale systems. He also built a big business around it, so that perspective might also be interesting to students.
Charity Majors (https://charity.wtf) is a great writer and speaker, and her work on observability is directly relevant to infra at scale.
Quite a strong cast of presenters back in Jan 2024 https://cs153.stanford.edu/syllabus.html
About deployment to cloud: https://news.ycombinator.com/item?id=38988238
couldn't find the syllabus
deploy something like cassandra and make a system that can update the kernel on the servers running the databases without downtime or losing data
or come up with some distrubuted blob store thing/cdn for world wide users
my whole career has been automating updates for software or operating systems lol
Are there any downloadable materials and lecture videos?
i didn't know you could do that! how does one volunteer to teach a course?
Infrastructure for gov cloud is another beast and might make a fun case study
Rachel by the Bay (https://rachelbythebay.com/) has long impressed me as someone who clearly is deep in the actual work of systems, day in and day out, and can write well about it.
Julia Evans has a wonderful approach as well, and has amazing talent for teaching: https://jvns.ca/
Kellan Elliott-McCrea (https://laughingmeme.org/) has given the world some of the better advice on the hardest parts of software scaling, which is of course scaling the human organizations. New grads are virtually always underestimating that part of the work; eventually you realize the hard problems are usually social and not technical.