#Materials for starting or managing Lichess-size projects?

2 messages · Page 1 of 1 (latest)

odd oyster
#

Hi everyone,

I watched this video yesterday and thought that it’s really an engineering feat that one person with a lot of volunteers can do this.

In the video, multiple languages and libraries are mentioned. The architecture diagram is also mentioned. I have contributed to some open source projects in the past, such as SageMath. But if I’m interested in developing and maintaining projects that could evolve into such size, what resources and materials would you recommend? I’m learning Ruby on Rails recently and I also bought a mini PC for development and experimenting purpose.

Many thanks! 😉

foggy arrow
#

It's a huge topic. You'll have to read about several subjects. These ones come up to my mind:

Horizontal scalability.
Async operations whenever it's possible.
Stateless server. Microservices. Elasticity.
Caching.
Middleware: queue/pub-sub systems with persistence
Database sharding.
Fault tolerance.

And also monitoring, load testing, stress testing, continuous integration & deployment and many other.

You can start reading articles talking about how LinkedIn, Twitter, Netflix... upscaled their system years ago, when they reached their limits.

You have some tips here: https://roadmap.sh/best-practices/backend-performance (click on each one to see a description)

roadmap.sh

Detailed list of best practices to improve the backend performance of your website. Each best practice carries further details and how to implement that best practice.