In this lab we are presented with a site that is struggling under load because the backing DynamoDB Table has had its Read and Write provisioning drastically reduced, to avoid incurring significant cost. To correct this we will provision an ElastiCache cluster and modify the Lambda functions in the site architecture, to implement a simple caching scheme that returns the site to a functional state.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Launch an ElastiCache Cluster
- Navigate to the ElastiCache web console.
- Click Get Started Now
- Set the Cluster Engine to Memcached
- Provide a name for the cluster (like tatourneycache)
- Set the Cluster Node to t2.small
- Modify getTaStats Lambda Function
- Navigate to the Lambda Web Console.
- Select the function with GetTaStats in the name.
- Modify the function in
editme.py
to implement read through data caching (using what’s in the GitHub repo).
- Modify the taStreamProcessor Lambda Function
- Navigate to the Lambda Web Console.
- Select the function with taStreamProcessor in the name.
- Modify the function in
editme.py
to implement cache invalidation when records in the TaTourneyStats table are updated. Use the code in the GitHub repo to do this.