---
title: EdTech on AWS (2026): LMS, Exam-Day Buffering, and AI Tutor Reference Architecture
description: For a multi-district LMS (~52k concurrent exam submissions in 30 min), SQS decouple + Aurora Serverless v2 held p95 submit at 410 ms, and off-peak monthly compute dropped 71% vs always-on EC2.
url: https://www.joinhorizon.co/blog/aws-edtech-lms-assessment-reference-architecture-2026/
datePublished: 2026-07-07T00:00:00.000Z
dateModified: 2026-10-28T00:00:00.000Z
author: palaniappan-p
category: Cloud Architecture
tags: aws, edtech, lms, education, serverless, amazon-bedrock, ferpa, architecture
---

# EdTech on AWS (2026): LMS, Exam-Day Buffering, and AI Tutor Reference Architecture

> For a multi-district LMS (~52k concurrent exam submissions in 30 min), SQS decouple + Aurora Serverless v2 held p95 submit at 410 ms, and off-peak monthly compute dropped 71% vs always-on EC2.

**AWS Glue 5.1** reached **all commercial and GovCloud regions** in **April 2026** ([What's New](https://aws.amazon.com/about-aws/whats-new/2026/04/aws-glue-5-1-all-govcloud-commercial-regions/)). This is relevant when LMS analytics exports feed a district lake. **Bedrock Guardrails** filter PII, denied topics, and hallucinations across FMs ([Bedrock FAQs](https://aws.amazon.com/bedrock/faqs/)).

This post is the **EdTech reference architecture**, covering the LMS catalog, exam buffering, video, and AI tutor lanes. For [generic serverless EdTech scaling](https://www.joinhorizon.co/blog/scaling-edtech-platforms-on-aws-serverless-architecture/), [HIPAA Bedrock](https://www.joinhorizon.co/blog/hipaa-compliant-ai-aws-bedrock/) (clinical records), and the [education industry FAQ](https://www.joinhorizon.co/industries/aws-education/), see those pages; none of them wire the implementation lanes.

Artifacts: [exam-day capacity worksheet](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/exam-day-capacity-worksheet.csv), [assessment buffer checklist](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/assessment-buffer-checklist.md), [FERPA boundary matrix](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/ferpa-boundary-matrix.md).

> **Benchmark pattern (not a cited client):** **Multi-district LMS**, **52k** concurrent exam submissions in **30 min**, summer baseline **800** sessions. **SQS accept/grade decouple** + **Aurora Serverless v2** (**submit p95 410 ms** during window). **Off-peak compute −71%** vs prior always-on EC2 (worksheet). **Bedrock Guardrails** on tutor path only after FERPA matrix sign-off.

## Four lanes from enrollment to exam to tutor

| Lane                  | Question              | Default AWS path                                        |
| --------------------- | --------------------- | ------------------------------------------------------- |
| **Catalog / session** | Course + auth?        | **CloudFront** + **ALB** + Fargate/Lambda + **Cognito** |
| **Assessment**        | Exam spike?           | **SQS** buffer → async grading Lambda                   |
| **Video**             | Lecture delivery?     | S3 → **CloudFront** (separate origin from API)          |
| **AI tutor**          | Safe generative help? | **Bedrock** + **Guardrails** + human review queue       |

**Opinionated take:** **Decouple submit from grade before buying bigger Aurora.** Teams that scale EC2 for synchronous grading pay 12 months for a 30-minute window.

## Reference architecture

```
Students ──► CloudFront ──► ALB ──► LMS API (Fargate/Lambda)
                    │
                    ├──► Cognito (district SSO)
                    │
Exam submit ──► API GW ──► Validator Lambda ──► SQS ──► Grading Lambda ──► DynamoDB results
                    │                              │
                    └──► Aurora Serverless v2 (catalog, rosters)
Video ──► S3 ──► CloudFront (WebP/HLS)
Tutor ──► API ──► Bedrock Converse + Guardrails ──► SQS (flagged sessions) ──► human review
```

### Lane 1: Catalog and session

- **ElastiCache** for course catalog hot keys during registration week
- **Aurora Serverless v2** min ACU near zero in July; raise max ACU **24h before** exam window
- Separate **CloudFront** behavior for `/api/*` vs `/video/*`

### Lane 2: Assessment buffer

Complete [assessment-buffer-checklist.md](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/assessment-buffer-checklist.md):

- Validator returns **202 Accepted** with `submission_id`
- Grading concurrency cap prevents Aurora write storm
- Load test at **2×** [worksheet](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/exam-day-capacity-worksheet.csv) peak

### Lane 3: Video economics

- Transcode to HLS + WebP poster frames on ingest (once)
- Monitor **CloudFront cache hit ratio** during exam week, since a new module drops hit ratio
- Pre-warm top **N** modules per district 48h before window

### Lane 4: AI tutor and FERPA

Walk [ferpa-boundary-matrix.md](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/ferpa-boundary-matrix.md):

- Denied topics for exam answers / academic dishonesty
- PII filter on prompts and responses
- Per-district spend cap on Bedrock

> **What broke:** Fall midterm, minute 14. **503 on submit**: synchronous grading held Lambda until API GW timeout. **Detection:** `IntegrationLatency` spike + Aurora `DatabaseConnections` max. **Fix:** SQS buffer shipped in 48h; **submit p95 410 ms** on retest.

## When NOT to escalate

| Situation                 | Stay lighter                                     |
| ------------------------- | ------------------------------------------------ |
| &lt; 500 concurrent exams | Sync Lambda may suffice                          |
| Video &lt; 500 GB/month   | Single S3 + CloudFront without MediaConvert farm |
| Higher-ed only, no K-12   | COPPA flows optional, FERPA still applies       |

## What to Do This Week

1. Fill [exam-day-capacity-worksheet.csv](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/exam-day-capacity-worksheet.csv) with last semester's peak + 20% headroom.
2. Complete [assessment-buffer-checklist.md](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/assessment-buffer-checklist.md).
3. Sign off [ferpa-boundary-matrix.md](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/ferpa-boundary-matrix.md) with district legal.
4. Load test **2×** peak with the SQS path and alarm on DLQ depth.
5. Enable Guardrails on tutor staging and run 100 adversarial prompts before pilot.

> **Reproduce this:** Download [exam-day-capacity-worksheet.csv](https://www.joinhorizon.co/examples/architecture-blog-2026/edtech-lms/exam-day-capacity-worksheet.csv). Set `exam_window_30min` from CloudWatch `ConcurrentExecutions` max last term. Compare `estimated_exam_window_cost_usd` to always-on EC2 row.

## What This Post Doesn't Cover

- **SCORM/xAPI full LRS:** partner or dedicated learning-record product
- **Proctoring video ML:** separate privacy review
- **On-prem SIS bidirectional sync:** integration project, not architecture lanes
- **Campus Wi-Fi QoS:** client-side constraint

We have not benchmarked **Bedrock tutor** above **3k invocations/min** per region. Cap with token bucket before district-wide rollout.

**Related:** [Education industry hub](https://www.joinhorizon.co/industries/aws-education/) · [Serverless services](https://www.joinhorizon.co/services/aws-serverless/) · [Bedrock services](https://www.joinhorizon.co/services/aws-bedrock/)

## FAQ

### When should we decouple exam submission from grading with SQS?
When peak submissions exceed ~2,000/min or grading takes >500 ms. The accept path returns 202 + submission_id and grading runs async. Skip SQS for low-stakes formative quizzes under ~500 concurrent users.

### When should we NOT enable Bedrock AI tutor for K-12?
Without FERPA addendum scope, parental consent API for COPPA, and Guardrails PII filters, block tutor launch. A human review queue is required for flagged sessions in procurement RFPs.

### Aurora Serverless v2 vs RDS for LMS?
Serverless v2 when traffic swings 100× between exam windows and summer break. Provisioned RDS when baseline is flat enterprise contract with predictable ACU.

### How does this differ from the serverless EdTech scaling post?
That post explains why serverless fits education economics. This post wires four lanes (catalog, assessment buffer, video, AI tutor) with exam-day numbers and FERPA boundaries.

### What breaks if grading runs synchronously on submit?
API Gateway 29s timeout, Lambda concurrency stampede, Aurora connection exhaustion. Students see 503 during minute 12 of a 30-minute exam window.

### Can we run tutor on raw gradebook exports?
No. Education records stay out of Bedrock prompts. Use de-identified context or directory-info-only prompts per ferpa-boundary-matrix.md.

---

*Source: https://www.joinhorizon.co/blog/aws-edtech-lms-assessment-reference-architecture-2026/*
