we heave a standard website
Here are the main components of my system
the user hits the api gateway to search for moviews and then to get the video content. the server logic tries to find it on the CDN, if we get cache misss we look for it on s3. The search reuqests and users actions during the session has to go through some application logic to give the good recomendation of the bmovie based on previous users behaviours and overall trends. As netflix is a massive 200 milion user company it's very regional. The analytical part of the system is handled via kafka data stream that provides the message events to the downstream data cosnumer such as machine learnig recmendation system and apache iceberg tables. I decided to handle it via apache flink to maximize the spead of data processing.
So we can devide it into the control plane that processes the users actions, data plane that provides the data to users, and analitical plane that handles analytics and does the reverse etl to the backend servers of netflix.
I have chosen to store video content and website content on s3 as it is scalable and object storage are perfect for massive files send over the wire.
For session storage we need NOSQL hight write wthyryh put databaases. for transactions we need relational dtabase. for data processing wee need kafkadata stream plus paache flink. for analyticsal storage apache iceberg. for ml system amazon sagem aker or bedrock