16

When I think how big companies like Google, Amazon, Netflix manage all their services so well (all those load balancings, caching, etc. ), I feel so bad I don't know anything about it. I don't even know how people decide which technology to use. E.g., for a scalable Web app, one can use Node.js or maybe Django (but not definitely Flask, I suppose). Also, which DBMS to use, how to write flawless APIs. You see, I am just beginning my career. Any recommendations (books, videos, etc.) that teach these things? Please help.

Comments
  • 5
    I think you have to do some projects.
    First try to understand, what statefull vs stateless means for scalability. Create a playground with some VMs and docker swarm (easier to understand).
    Then create some Services which are stateless, scale them.
    Then try to scale MySQL...(very bad...)
    Create an nginx to load Balance manually & add Cache Headers to images or something.
    Then try squid to cache on edges.
    That should help you to understand the concepts and get some first experience.
  • 2
    I'm about to finish this book and I really enjoyed it! You're definitely going to learn something. I had the chance to attend a conference where the author was also one of the hosts.

    Works even better if your stack is revolving around Java, but it isn't an impediment if you aren't.
  • 3
    Once you know the difference in implementation and design for each technology you'll know what you ought to use.

    Also FYI, Flask is scalable and it is being used in many production ready franeworks
  • 1
    I learn by using, reading the documentation, etc. I always have some kind of goal in mind - like creating a boilerplate or something. Whenever I get stuck or feel that the code quality could be better and run more smoothly, I delete the entire project and start over. I know that eventually I will get the hang of it. Basically; rinse and repeat. Maybe this could be nice strategy for you as well. 🙂
Add Comment