School Nutrition Platform: 6 Microservices with Grafana Loki Observability and Auto-Scaling for Peak Lunch Hours
Decomposed MealManage monolith into 6 ECS Fargate microservices with Grafana Loki logging, 6 CI/CD pipelines, and auto-scaling configured for school lunch rush traffic patterns.
Key Results
Independent microservices on ECS Fargate
Automated CI/CD per service
Reduction in deployment time
Centralized logging coverage
What We Were Solving
MealManage provides school meal ordering, parent notifications, and caterer management for school districts across the country. Their monolithic application had grown organically, and as they expanded to more districts, deployment bottlenecks were slowing down feature delivery.
Operational challenges:
- Monolithic deployment meant any update required full system deployment during school hours, risking lunch ordering disruptions
- No visibility into application logs across different components — debugging took hours of SSH sessions
- Manual deployments slowing down feature releases — teams waited weeks for deployment windows
- Peak lunch hours (11am-1pm) required manual scaling intervention to handle order surges
- Caterer partners needed dedicated APIs but shared codebase made changes risky
How We Solved It
We decomposed the monolith into purpose-built microservices with centralized observability and independent deployment pipelines.
Microservices Architecture
Decomposed the monolith into 6 containerized services on ECS Fargate, each with clear domain boundaries:
- Web Service — Parent-facing ordering portal
- API Service — Core business logic and data access
- Email Service — Notification delivery and templating
- Partner API — Caterer inventory and fulfillment integration
- Parent API — Mobile app backend
- Caterer Web — Kitchen management dashboard
Centralized Observability
- Built centralized logging with Grafana + Loki using Fluent Bit sidecars via AWS FireLens
- Created dashboards for order funnel metrics, service latencies, and error rates
Auto-Scaling & CI/CD
- Configured auto-scaling at 75% CPU with fast cooldowns for lunch rush handling
- Created 6 independent CI/CD pipelines with AWS CodePipeline for autonomous deployments
- Implemented host-based routing on ALB for service isolation
Technologies Used
“Before this platform, deploying during lunch hours was risky. Now each team can deploy their service independently, and the Grafana dashboards give us instant visibility when something goes wrong. We've gone from monthly releases to weekly updates.”
Ready to achieve similar results?
Let's discuss how we can help transform your business with the right technology solutions.