Skip to content

Conversation

eddie-rowe
Copy link
Contributor

Description

This PR features updates to the Kubernetes manifests for Storedog, focusing on enhanced Redis and Postgres configuration, as well as tuning resource allocations for various services. The main themes are: advanced Redis caching support, optimized Postgres settings, and right-sizing of resource requests/limits across deployments and statefulsets.

The overall intention is to improve performance and startup time of the application itself so chaos can be introduced to a healthy microservices app after it is up.

This gives learners the experience of seeing the slowness in Datadog without having to feel the slowness of the app itself, which creates friction for the learning experience.

The changes that were made to accomplish this

Caching and Redis Enhancements

  • Added a dedicated redis-config.yaml ConfigMap with advanced Redis settings for optimized caching, memory management, persistence, and performance tuning. This includes support for multiple databases, aggressive eviction policies, and performance monitoring.
  • Updated the shared-config.yaml ConfigMap to introduce comprehensive Redis caching environment variables for Rails, including separate Redis databases for cache, session, and query caching, along with detailed expiration and optimization parameters.
  • Modified the Redis StatefulSet to mount the new config and set resource requests/limits for more predictable performance. Now launches Redis with the custom configuration.

Postgres and Database Improvements:

  • Enhanced the Postgres configuration in postgres-config.yaml with advanced settings for memory, connection pooling, WAL, query planner, and monitoring, targeting higher concurrency and SSD optimization.
  • Updated Postgres StatefulSet resource requests/limits and standardized Datadog service tags. [1] [2] [3]

Resource Allocation Tuning:

  • Adjusted CPU and memory requests/limits for all major deployments (ads, backend, frontend, discounts, nginx, worker) to better match expected workloads and optimize cluster utilization. [1] [2] [3] [4] [5] [6]

These changes collectively provide a more robust, scalable, and cache-optimized environment for the application, with improved observability and resource efficiency.## Description

How to test

Perform the steps listed in the deployment section of the k8s manifest folder README.md

Summary

These updates collectively enhance the scalability, reliability, and performance of the Storedog application in Kubernetes environments.

@eddie-rowe eddie-rowe requested review from a team as code owners August 5, 2025 20:08
@eddie-rowe eddie-rowe requested a review from spottsdd August 6, 2025 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant