This week, I mainly performed research in order to work on the design presentation. Although I have a good idea of the general layout of the project, needing to quantify it with metrics and diagrams really solidified my understanding of the requirements our project is supposed to meet as well as how different parts of the project interact with each other.
One of the important things I researched was the basic benchmarks we want our web application to meet with the server architecture we are implementing. This includes bit rate, lag ratio, buffer fill, user latency, load balancer latency, and CPU usage. I looked into some industry standards for video streaming applications to determine our baseline bit rate, lag ratio, and buffer fill. Additionally, I also found common load balancer performance benchmarks that determine our ideal load balancer latency and CPU usage. Of course, the performance of the load balancer would vary with different algorithms, but we would like each algorithm to meet these loose benchmarks at the very least before comparing between them.
Another aspect of the design that I worked on was improving the specificity of our server architecture. We had a rough draft of the diagram of the architecture before and where our load balancer would fit in it but it required more refinement. Fleshing out this diagram in the design presentation helped us gain a better understanding of where to send requests to and receive responses from for each node in the architecture as well as determine where to obtain parameters necessary for the decision making of the load balancer.
Finally, I also had to find a way to obtain suitable videos for our web application without violating any copyright laws. I found that there’s a category of videos on Youtube with the Creative Commons license that allows for republishing the videos without the risk of copyright claims. We will be using these videos from Youtube, particularly ones that are 1080p and at 60 fps to produce a significant load for our server.
Once we obtain our AWS credit next week, I will be working on implementing the basic server architecture on AWS with the load balancer they provide just to check if the connections all work.