B.Comp. Dissertation: Preparing the Backend of a Large-scale Cloud Application for a Million Users

B.Comp. Dissertation: Preparing the Backend of a Large-scale Cloud Application for a Million Users

TEAMMATES is a large-scale cloud application for instructors to manage peer feedback
among students. It is being developed by a project based in School of Computing (SoC),
National University of Singapore (NUS). Since its public release in 2011, it has been used by
over 350,000 users from all over the world. This project explored ways to prepare
TEAMMATES backend to be able to handle its increasing user base, specifically with regard
to performance, scalability and maintainability. Based on the findings, three major components
were enhanced in significant ways. The improvements in scalability and performance were
proven both theoretically and empirically. While most of the tasks in this project were
development-based, there were also some research components involved.

Subject Descriptors:

  • General and reference~Performance
  • Information systems~Query optimization
  • Information systems~RESTful web services
  • Information systems~Database design and models
  • Computer systems organization~Maintainability and maintenance

Main Achievements

The full report is as attached: H1221130 - B.Comp. Dissertation - Xiao Pu.pdf

The presentation slide is also attached: FYP Slides.pdf

Conclusion

This FYP project successfully improves TEAMMATES in terms of performance, scalability, and maintainability, bringing TEAMMATES closer to the next stage of a million users. Several performance issues are identified and solved in the three enhancements. Any scalability concerns are eliminated in the script package. Lastly, the maintainability is enhanced with several iterations of refactoring and redesigning. The project also sees the learning progress of CS3282 students as new committers during code reviews and project management, preparing them well to be the next batch of core team members.

There are many lessons learned in this FYP project while the most important one is related to the quote by Kent Beck — “Make It Work, Make It Right, Make It Fast”. It is this quote that explains why TEAMMATES does not follow the best design and consider performance tuning at the beginning. At the earlier stage of TEAMMATES, features and functionalities needed to be released as soon as possible to improve the user experience. However, after the project is
stabilized, it is time to put efforts into making things right and fast. Indeed, that is development philosophy followed in this FYP project where the gap between making things work and making thing right and fast are addressed. In a word, Beck’s words are worth following when developing large-scale projects such as TEAMMATES.

B.Comp. Dissertation: Preparing the Backend of a Large-scale Cloud Application for a Million Users

http://puxiao.me/FYP/B-Comp-Dissertation-Preparing-the-Backend-of-a-Large-scale-Cloud-Application-for-a-Million-Users/

Author

Xiao Pu

Posted on

2019-05-22

Updated on

2020-11-21

Licensed under

Comments