Improve the performance and scalability of TEAMMATES.

  1. Migrate Storage component to Objectify API
    • Rewrite entire Storage layer to use Objectify instead of JDO
    • Deploy change and divert small amount of live traffic to new version for testing
    • Turn on Objectify global cache (uses memcached); do similar isolated testing
    • Fix issues surfaced during live testing (if any), then fully deploy new version
  2. Write performance profiling tests for Storage and Logic components
    • All methods in Storage and Logic API to be profiled for cost and performance
    • Use remote API client for client-driven testing
    • Use task queues for app-driven testing
    • Results to be used as a benchmark when making changes to the architecture
  3. Redesign schema
    • Determine entity groups based on GAE transaction limits and our usage
    • Use conceptual relationships as much as possible while keeping within limits
    • Plan for extensibility: should be able to support new features like LTI compliance without too much effort


John Yong


  • samsontmr
  • Damith Rajapakse
  • Kang Hong Jin