dojo.md 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/courses/GENERATION_LOG.md +45 -0
  2. package/courses/aws-lambda-debugging/course.yaml +11 -0
  3. package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
  4. package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
  5. package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
  6. package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
  7. package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
  8. package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
  9. package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
  10. package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
  11. package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
  12. package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
  13. package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
  14. package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
  15. package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
  16. package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
  17. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
  18. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
  19. package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
  20. package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
  21. package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
  22. package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
  23. package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
  24. package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
  25. package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
  26. package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
  27. package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
  28. package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
  29. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
  30. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
  31. package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
  32. package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
  33. package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
  34. package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
  35. package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
  36. package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
  37. package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
  38. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
  39. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
  40. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
  41. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
  42. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
  43. package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
  44. package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
  45. package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
  46. package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
  47. package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
  48. package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
  49. package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
  50. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
  51. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
  52. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
  53. package/courses/docker-container-debugging/course.yaml +11 -0
  54. package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
  55. package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
  56. package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
  57. package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
  58. package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
  59. package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
  60. package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
  61. package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
  62. package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
  63. package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
  64. package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
  65. package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
  66. package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
  67. package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
  68. package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
  69. package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
  70. package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
  71. package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
  72. package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
  73. package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
  74. package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
  75. package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
  76. package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
  77. package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
  78. package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
  79. package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
  80. package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
  81. package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
  82. package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
  83. package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
  84. package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
  85. package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
  86. package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
  87. package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
  88. package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
  89. package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
  90. package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
  91. package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
  92. package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
  93. package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
  94. package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
  95. package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
  96. package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
  97. package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
  98. package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
  99. package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
  100. package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
  101. package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
  102. package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
  103. package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
  104. package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
  105. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
  106. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
  107. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
  108. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
  109. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
  110. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
  111. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
  112. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
  113. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
  114. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
  115. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
  116. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
  117. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
  118. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
  119. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
  120. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
  121. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
  122. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
  123. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
  124. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
  125. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
  126. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
  127. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
  128. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
  129. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
  130. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
  131. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
  132. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
  133. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
  134. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
  135. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
  136. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
  137. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
  138. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
  139. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
  140. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
  141. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
  142. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
  143. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
  144. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
  145. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
  146. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
  147. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
  148. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
  149. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
  150. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
  151. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
  152. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
  153. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
  154. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
  155. package/courses/mysql-query-optimization/course.yaml +11 -0
  156. package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
  157. package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
  158. package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
  159. package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
  160. package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
  161. package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
  162. package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
  163. package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
  164. package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
  165. package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
  166. package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
  167. package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
  168. package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
  169. package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
  170. package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
  171. package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
  172. package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
  173. package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
  174. package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
  175. package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
  176. package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  177. package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
  178. package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
  179. package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
  180. package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
  181. package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
  182. package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
  183. package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
  184. package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
  185. package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
  186. package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
  187. package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
  188. package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
  189. package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
  190. package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
  191. package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
  192. package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
  193. package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
  194. package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
  195. package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
  196. package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
  197. package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
  198. package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
  199. package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
  200. package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
  201. package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
  202. package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
  203. package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
  204. package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
  205. package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
  206. package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
  207. package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
  208. package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
  209. package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
  210. package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
  211. package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
  212. package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
  213. package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
  214. package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
  215. package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
  216. package/courses/terraform-infrastructure-setup/course.yaml +11 -0
  217. package/courses/terraform-infrastructure-setup/scenarios/level-1/hcl-syntax-errors.yaml +65 -0
  218. package/courses/terraform-infrastructure-setup/scenarios/level-1/provider-configuration.yaml +62 -0
  219. package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
  220. package/courses/terraform-infrastructure-setup/scenarios/level-1/variable-and-output-errors.yaml +78 -0
  221. package/dist/mcp/session-manager.d.ts +7 -4
  222. package/dist/mcp/session-manager.d.ts.map +1 -1
  223. package/dist/mcp/session-manager.js +23 -8
  224. package/dist/mcp/session-manager.js.map +1 -1
  225. package/package.json +3 -2
@@ -0,0 +1,71 @@
1
+ meta:
2
+ id: observability-platform-design
3
+ level: 4
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design serverless observability platform — implement comprehensive monitoring, alerting, and debugging infrastructure for Lambda applications at enterprise scale"
7
+ tags: [AWS, Lambda, observability, monitoring, alerting, platform, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your organization runs 200+ Lambda functions across 5 AWS accounts.
13
+ Current monitoring is fragmented:
14
+
15
+ - Each team uses different tools (some CloudWatch, some Datadog,
16
+ some New Relic, some nothing)
17
+ - No standard for structured logging or metrics
18
+ - Debugging cross-function issues requires checking logs in
19
+ multiple accounts and regions manually
20
+ - Last month's incident took 2 hours to diagnose because nobody
21
+ could trace the request across 6 Lambda functions
22
+
23
+ Management asks: "Build a unified observability platform that
24
+ lets any engineer debug any issue in under 15 minutes."
25
+
26
+ Architecture proposal:
27
+
28
+ Logging Layer:
29
+ All functions → Powertools Logger (structured JSON) →
30
+ CloudWatch Logs → Subscription Filter → Kinesis Firehose →
31
+ OpenSearch (centralized) + S3 (archive)
32
+
33
+ Metrics Layer:
34
+ Lambda system metrics + Custom EMF metrics →
35
+ CloudWatch Metrics (cross-account aggregation) →
36
+ Grafana dashboards (unified view)
37
+
38
+ Tracing Layer:
39
+ All functions → X-Ray Active Tracing →
40
+ X-Ray Groups (per-service views) →
41
+ Cross-account trace access
42
+
43
+ Alerting Layer:
44
+ CloudWatch Alarms → SNS → PagerDuty/Slack
45
+ Business metric alarms alongside technical alarms
46
+
47
+ Cost considerations:
48
+ - CloudWatch Logs: $0.50/GB ingested (at 200+ functions, this adds up)
49
+ - OpenSearch cluster: $500-2000/month
50
+ - Datadog alternative: $5 per host/month but Lambda is per-invocation
51
+ - X-Ray: $5/million traces
52
+
53
+ Task: Design the observability platform. Write: standardized
54
+ logging (format, correlation), centralized log aggregation,
55
+ custom metrics and dashboards, distributed tracing across accounts,
56
+ alert strategy (technical + business), and cost management for
57
+ observability at scale.
58
+
59
+ assertions:
60
+ - type: llm_judge
61
+ criteria: "Standardized logging is explained — mandatory standard: all functions use Powertools Logger with JSON format. Required fields: service name, function name, request ID, trace ID, log level, timestamp. Business context: order ID, customer ID, etc. Log levels: ERROR and WARN in all environments, INFO in staging/production, DEBUG only in development. Structured logging enables: CloudWatch Logs Insights queries across all functions, automated parsing in OpenSearch, correlation via trace ID and business IDs"
62
+ weight: 0.35
63
+ description: "Standardized logging"
64
+ - type: llm_judge
65
+ criteria: "Centralized aggregation and tracing are covered — log aggregation: CloudWatch Subscription Filters → Kinesis Firehose → OpenSearch for searchable logs. Cross-account: CloudWatch Logs destination in a central observability account. X-Ray cross-account: centralized trace viewing via X-Ray groups and sampling rules. Alternative: Grafana Loki for logs (cheaper than OpenSearch), Grafana Tempo for traces. Service map: X-Ray service map shows all service dependencies and latency. Correlation: trace ID links logs and traces for any request across all services"
66
+ weight: 0.35
67
+ description: "Aggregation and tracing"
68
+ - type: llm_judge
69
+ criteria: "Alerting and cost management are practical — alert tiers: P1 (customer-impacting, page immediately), P2 (degraded performance, page during business hours), P3 (warning, ticket). Technical alerts: error rate, duration p99, throttles, OOM, cold start rate. Business alerts: order completion rate, payment success rate, user signup rate. Cost management: log sampling for high-volume functions, log retention policy (7 days hot, 30 days warm, 1 year cold S3), X-Ray sampling rules (reduce trace volume), eliminate unused metrics. Budget: observability should be 5-10% of total infrastructure cost. Track: MTTD (time to detect) and MTTR as key observability success metrics"
70
+ weight: 0.30
71
+ description: "Alerting and cost"
@@ -0,0 +1,64 @@
1
+ meta:
2
+ id: serverless-architecture-design
3
+ level: 4
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design serverless architecture — evaluate event-driven patterns, service boundaries, and Lambda-based system design for enterprise applications"
7
+ tags: [AWS, Lambda, architecture, serverless, event-driven, design, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company is building a new order management system. The CTO
13
+ wants "serverless-first" but the team has concerns about Lambda
14
+ for complex business logic. You need to design the architecture.
15
+
16
+ Requirements:
17
+ - Process 1,000 orders/minute at peak
18
+ - Sub-second API response time
19
+ - Complex order workflow: validate → inventory check → payment →
20
+ fulfillment → notification (5-15 minute total processing)
21
+ - ACID transactions for payment processing
22
+ - Real-time dashboard showing order status
23
+ - 99.95% availability SLA
24
+
25
+ Architecture options debated:
26
+
27
+ Option A — Pure Lambda:
28
+ API Gateway → Lambda for every operation. Each step is a Lambda
29
+ function. State managed in DynamoDB.
30
+ Concern: complex state management, cold start latency, debugging
31
+ distributed transactions.
32
+
33
+ Option B — Lambda + Step Functions:
34
+ API Gateway → Lambda (sync response) → Step Functions (async workflow).
35
+ Step Functions orchestrates the multi-step process with built-in
36
+ error handling, retries, and state tracking.
37
+ Concern: Step Functions cost at volume ($25/million state transitions),
38
+ 15-minute standard execution history limit for Express workflows.
39
+
40
+ Option C — Hybrid (Lambda + ECS):
41
+ Lambda for API endpoints and event processing.
42
+ ECS Fargate for the payment processing service (needs persistent
43
+ database connections, complex business logic).
44
+ Concern: operational complexity of managing two compute platforms.
45
+
46
+ Task: Design the serverless architecture. Write: when Lambda is
47
+ the right choice vs containers/EC2, event-driven design patterns
48
+ (choreography vs orchestration), state management strategies
49
+ (DynamoDB, Step Functions), handling distributed transactions
50
+ (saga pattern), and the architecture decision record with trade-offs.
51
+
52
+ assertions:
53
+ - type: llm_judge
54
+ criteria: "Architecture decision is justified — Lambda best for: event-driven processing, API endpoints, data transformation, scheduled tasks, glue logic. Not ideal for: long-running processes (> 15 min), persistent connections, heavy computation, real-time bidirectional communication. Recommended: hybrid — Lambda for APIs + event handlers, Step Functions for workflow orchestration, DynamoDB for state. Payment service: Lambda with idempotency (not ECS) unless complex persistent connection requirements. Step Functions Express for high-volume (cheaper, synchronous), Standard for long-running workflows"
55
+ weight: 0.35
56
+ description: "Architecture decision"
57
+ - type: llm_judge
58
+ criteria: "Event-driven patterns are covered — choreography: services emit events, other services react independently (EventBridge). Pros: loosely coupled, scalable. Cons: hard to trace, no central workflow view. Orchestration: central coordinator (Step Functions) manages the workflow. Pros: visible state, built-in retry/error handling. Cons: central point of control. Recommendation: orchestration for critical business workflows (orders), choreography for cross-domain events (analytics, notifications). Saga pattern for distributed transactions: each step has a compensating action for rollback"
59
+ weight: 0.35
60
+ description: "Event-driven patterns"
61
+ - type: llm_judge
62
+ criteria: "Scalability and reliability are practical — 1,000 orders/minute: Lambda handles easily (configure concurrency appropriately). Sub-second API: provisioned concurrency for user-facing endpoints. DynamoDB: on-demand capacity for variable load, or provisioned with auto-scaling. 99.95% SLA: multi-region active-passive with Route53 failover. Real-time dashboard: DynamoDB Streams → Lambda → WebSocket API (API Gateway). Cost estimate at 1,000 orders/min: Lambda (~$50/month), Step Functions (~$75/month), DynamoDB (~$200/month). Total significantly less than ECS/EC2 equivalent"
63
+ weight: 0.30
64
+ description: "Scalability and reliability"
@@ -0,0 +1,66 @@
1
+ meta:
2
+ id: serverless-data-architecture
3
+ level: 4
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design serverless data architecture — implement data storage, processing, and analytics patterns using Lambda with DynamoDB, S3, and streaming services"
7
+ tags: [AWS, Lambda, data-architecture, DynamoDB, analytics, ETL, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your serverless application needs a data architecture that handles:
13
+ - Transactional data (orders, users, payments)
14
+ - Analytical queries (daily reports, trend analysis)
15
+ - Real-time processing (event streams, notifications)
16
+ - Data lake integration (historical data for ML)
17
+
18
+ Current mess:
19
+ - Everything in DynamoDB (including analytical queries)
20
+ - Full table scans costing $2K/month in read capacity
21
+ - No data lake — analytics team exports CSV files manually
22
+ - Lambda functions with embedded SQL-like logic for reporting
23
+
24
+ Proposed architecture:
25
+
26
+ Transactional layer:
27
+ DynamoDB for OLTP (key-value, high throughput, low latency).
28
+ Design: single-table design with GSIs for access patterns.
29
+ Lambda reads/writes with DynamoDB SDK.
30
+
31
+ Change data capture:
32
+ DynamoDB Streams → Lambda → Kinesis Firehose → S3 (data lake).
33
+ All changes replicated to S3 in near-real-time for analytics.
34
+
35
+ Analytics layer:
36
+ S3 (Parquet format) → Athena for SQL queries.
37
+ QuickSight for dashboards. No separate analytics database needed.
38
+ Lambda for ETL transformations between formats.
39
+
40
+ Real-time:
41
+ Kinesis Data Streams → Lambda → processed events →
42
+ EventBridge → downstream consumers.
43
+
44
+ ML pipeline:
45
+ S3 data lake → SageMaker for model training →
46
+ Lambda for inference (or Bedrock for LLM).
47
+
48
+ Task: Design the serverless data architecture. Write: DynamoDB
49
+ design patterns for Lambda (single-table, access patterns),
50
+ change data capture pipeline, analytics with Athena/S3, ETL
51
+ with Lambda (and its limitations for large datasets), real-time
52
+ processing patterns, and cost optimization for data workloads.
53
+
54
+ assertions:
55
+ - type: llm_judge
56
+ criteria: "DynamoDB design for Lambda is explained — single-table design: model multiple entity types in one table, access patterns drive GSI design. Lambda + DynamoDB: use DocumentClient, batch operations for efficiency, handle ProvisionedThroughputExceededException with exponential backoff. On-demand capacity for unpredictable workloads, provisioned with auto-scaling for steady patterns. Connection reuse: keep SDK client outside handler. TTL for automatic data expiration. Transactions for multi-item atomicity. Avoid: full table scans (use query with partition key), storing large items (max 400KB)"
57
+ weight: 0.35
58
+ description: "DynamoDB design"
59
+ - type: llm_judge
60
+ criteria: "Data pipeline and analytics are covered — CDC: DynamoDB Streams → Lambda → transform → Kinesis Firehose → S3 (Parquet). Firehose handles batching and compression automatically. S3 data lake: partition by date for efficient Athena queries (year=2024/month=12/day=01/). Athena: serverless SQL on S3, pay per query ($5/TB scanned). Reduce cost: use Parquet (columnar, compressed), partition pruning. Lambda for ETL limitations: 15-minute timeout, 10GB memory max. For large ETL: use AWS Glue or Step Functions with distributed map"
61
+ weight: 0.35
62
+ description: "Pipeline and analytics"
63
+ - type: llm_judge
64
+ criteria: "Cost optimization is practical — DynamoDB: right-size read/write capacity, use on-demand for variable workloads (avoid over-provisioning). S3: use lifecycle policies (Standard → IA → Glacier). Athena: partition data and use columnar formats to reduce scan cost. Lambda ETL: cost-effective for small transformations but expensive for large datasets (use Glue instead). Data architecture principle: OLTP in DynamoDB, OLAP in Athena/S3, don't mix (DynamoDB scans are expensive). Monitor: DynamoDB consumed capacity, Athena query costs, S3 storage growth. Set budgets per data pipeline"
65
+ weight: 0.30
66
+ description: "Cost optimization"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: serverless-migration-strategy
3
+ level: 4
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design serverless migration strategy — plan migration from monolithic/container applications to Lambda with risk mitigation and team enablement"
7
+ tags: [AWS, Lambda, migration, monolith, strangler-fig, modernization, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company runs a monolithic Node.js API on EC2 Auto Scaling
13
+ Groups. The infrastructure costs $25K/month with 3 ops engineers
14
+ managing servers, patching, and scaling. The CTO wants to migrate
15
+ to serverless to reduce costs and operational burden.
16
+
17
+ Current state:
18
+ - Monolith: 150K lines of code, Express.js, PostgreSQL
19
+ - 45 API endpoints, 12 background jobs
20
+ - 2M requests/day, peak at 500 req/s
21
+ - Average response time: 200ms
22
+ - EC2: 8 c5.xlarge instances + RDS Multi-AZ
23
+ - Team: 15 developers, 3 ops engineers
24
+
25
+ Migration approaches:
26
+
27
+ Option A — Lift and shift (Lambda Web Adapter):
28
+ Wrap the existing Express.js app in Lambda using Lambda Web Adapter.
29
+ Minimal code changes. But: cold starts with 150K LOC = 10+ seconds,
30
+ 15-minute timeout limit for background jobs, connection pooling
31
+ issues with RDS.
32
+
33
+ Option B — Strangler Fig pattern:
34
+ Migrate one endpoint at a time. New Lambda function per endpoint,
35
+ API Gateway routes traffic. Old and new run simultaneously.
36
+ Timeline: 6-12 months for full migration.
37
+
38
+ Option C — Rewrite:
39
+ Rebuild from scratch as serverless-native. Best architecture
40
+ but highest risk and longest timeline (12-18 months).
41
+
42
+ Recommended: Option B with selective rewrites. Start with:
43
+ 1. Background jobs → Lambda + EventBridge (quick win, no user impact)
44
+ 2. Read-heavy endpoints → Lambda + DynamoDB (low risk)
45
+ 3. Write-heavy endpoints → Lambda + RDS Proxy (medium risk)
46
+ 4. Complex business logic → last (highest risk)
47
+
48
+ Task: Design the serverless migration strategy. Write: assessment
49
+ criteria (what migrates well vs poorly), strangler fig approach,
50
+ database strategy (RDS to DynamoDB vs RDS Proxy), team enablement,
51
+ risk mitigation, and success metrics.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Migration assessment is structured — good Lambda candidates: stateless API endpoints, event-driven processing, scheduled tasks, data transformation, webhooks. Poor candidates: long-running processes (> 15 min), WebSocket connections (use API Gateway WebSocket), heavy computation (consider Fargate), tight database coupling (needs refactoring). Assessment matrix: score each component on statelessness, execution time, dependencies, business criticality, and team readiness. Start with low-risk, high-value candidates"
56
+ weight: 0.35
57
+ description: "Migration assessment"
58
+ - type: llm_judge
59
+ criteria: "Strangler fig and database strategy are covered — strangler fig: API Gateway routes specific paths to new Lambda functions, everything else to existing monolith via HTTP proxy. Gradually migrate endpoints until monolith is empty. Database: keep RDS initially (Lambda + RDS Proxy for connection pooling), migrate to DynamoDB only for tables that benefit from it (high read, key-value access patterns). Don't force DynamoDB for relational data. Keep PostgreSQL for complex queries. Dual-write period during migration for validation"
60
+ weight: 0.35
61
+ description: "Strangler fig"
62
+ - type: llm_judge
63
+ criteria: "Team and risk management are practical — team enablement: training program (Lambda basics → event-driven design → testing → operations). Pair experienced serverless developers with migration teams. Start with a pilot team of 3-4 developers. Risk mitigation: keep monolith running until migration is validated (6+ months), implement feature flags for switching between old and new, comprehensive testing at each migration step. Success metrics: infrastructure cost reduction (target: 40-60%), deployment frequency (target: 10x), MTTR (target: 50% reduction), developer velocity (features shipped per sprint)"
64
+ weight: 0.30
65
+ description: "Team and risk"
@@ -0,0 +1,60 @@
1
+ meta:
2
+ id: serverless-security-design
3
+ level: 4
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design serverless security architecture — implement defense-in-depth for Lambda applications including IAM, API authentication, data protection, and compliance"
7
+ tags: [AWS, Lambda, security, IAM, authentication, compliance, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ A penetration test on your serverless application found several
13
+ vulnerabilities:
14
+
15
+ Finding 1 — Overly permissive IAM:
16
+ Lambda execution role has AdministratorAccess. The tester could
17
+ use the function to access ANY resource in the account.
18
+ "From inside the Lambda, I called sts:AssumeRole to escalate to
19
+ any role in the account."
20
+
21
+ Finding 2 — Injection through event data:
22
+ The function constructs a DynamoDB query using unsanitized input:
23
+ const result = await dynamo.query({
24
+ KeyConditionExpression: `userId = ${event.userId}`
25
+ });
26
+ NoSQL injection: userId = "1 OR 1=1" returns all records.
27
+
28
+ Finding 3 — Sensitive data in logs:
29
+ console.log(JSON.stringify(event));
30
+ Logs contain: credit card numbers, SSN, passwords from the
31
+ API request body. CloudWatch Logs retained for 30 days.
32
+
33
+ Finding 4 — No API authentication:
34
+ API Gateway endpoints have no authorizer. Anyone can invoke
35
+ any endpoint with any data.
36
+
37
+ Finding 5 — Dependencies with known CVEs:
38
+ 24 npm packages with known vulnerabilities, including a CRITICAL
39
+ RCE in a JSON parsing library.
40
+
41
+ Task: Design serverless security architecture. Write: IAM least
42
+ privilege for Lambda (per-function roles), API authentication
43
+ (Cognito, custom authorizers), input validation and injection
44
+ prevention, sensitive data handling (no logging PII, encryption),
45
+ dependency security scanning, and compliance frameworks for
46
+ serverless (SOC2, HIPAA).
47
+
48
+ assertions:
49
+ - type: llm_judge
50
+ criteria: "IAM and authentication are explained — per-function IAM roles: each Lambda gets its own role with only the permissions it needs. Never use AdministratorAccess or AmazonDynamoDBFullAccess. Specify exact resources (not Resource: *). API authentication: Cognito user pools (managed auth), Lambda authorizers (custom logic), IAM authorization (for service-to-service). API keys for rate limiting (not security). Use AWS WAF on API Gateway for common attack protection (SQL injection, XSS)"
51
+ weight: 0.35
52
+ description: "IAM and authentication"
53
+ - type: llm_judge
54
+ criteria: "Data protection and input validation are covered — input validation: validate all event data at the function entry point. Use schema validation (Zod, Joi, JSON Schema). Never construct queries with string concatenation — use parameterized queries. Sensitive data: never log PII (use Powertools Logger with data masking). Encrypt sensitive data at rest (KMS). Use Secrets Manager for credentials (not environment variables). CloudWatch Logs: set retention policy, encrypt with KMS. Use AWS Macie to detect PII in logs/S3"
55
+ weight: 0.35
56
+ description: "Data protection"
57
+ - type: llm_judge
58
+ criteria: "Dependency security and compliance are practical — dependency scanning: npm audit, Snyk, or GitHub Dependabot in CI/CD. Block deployments with CRITICAL CVEs. Keep dependencies updated (automated PRs for patches). Compliance: SOC2 requires audit logging (CloudTrail), access control (IAM), encryption (KMS). HIPAA: BAA with AWS, encrypt PHI, restrict access, audit all data access. PCI-DSS: network segmentation (VPC), encryption, logging, vulnerability management. Serverless advantage: no server patching, no OS hardening. Serverless risk: larger attack surface through event sources, more IAM complexity"
59
+ weight: 0.30
60
+ description: "Dependencies and compliance"
@@ -0,0 +1,62 @@
1
+ meta:
2
+ id: serverless-testing-strategy
3
+ level: 4
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design serverless testing strategy — implement unit, integration, and end-to-end testing for Lambda applications with mock services and contract testing"
7
+ tags: [AWS, Lambda, testing, unit-test, integration, mocking, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your serverless application has 50 Lambda functions but only 15%
13
+ test coverage. Bugs frequently reach production because:
14
+
15
+ 1. Developers don't know how to test Lambda functions locally
16
+ 2. Integration tests require deploying to AWS (slow, expensive)
17
+ 3. No testing strategy for event-driven flows (events are "fire
18
+ and forget" — how do you verify the chain worked?)
19
+ 4. Mocking AWS services is complex (DynamoDB, SQS, S3)
20
+
21
+ Last week, a DynamoDB schema change broke 3 downstream functions.
22
+ No tests caught it because each function was tested in isolation.
23
+
24
+ Testing pyramid for serverless:
25
+
26
+ Layer 1 — Unit Tests (70% of tests):
27
+ Test business logic in isolation. Mock AWS SDK calls.
28
+ $ npm test # runs in milliseconds, no AWS needed
29
+
30
+ Layer 2 — Integration Tests (20% of tests):
31
+ Test Lambda handler with real AWS services (or local emulation).
32
+ $ sam local invoke -e event.json # local Lambda + local DynamoDB
33
+ Or: deploy to a test account and run against real services.
34
+
35
+ Layer 3 — End-to-End Tests (10% of tests):
36
+ Deploy full stack to a test environment, send real HTTP requests,
37
+ verify the complete flow works including async processing.
38
+ $ sam deploy --stack-name test-stack && npm run e2e
39
+
40
+ Contract testing: when Function A writes to DynamoDB and Function B
41
+ reads from it, test that A's output matches B's expected input
42
+ schema (using shared TypeScript types or JSON Schema).
43
+
44
+ Task: Design the serverless testing strategy. Write: the testing
45
+ pyramid for serverless, unit testing Lambda (mocking AWS SDK),
46
+ integration testing (SAM local, LocalStack, real AWS), end-to-end
47
+ testing for event-driven flows, contract testing between services,
48
+ and CI/CD test automation.
49
+
50
+ assertions:
51
+ - type: llm_judge
52
+ criteria: "Testing pyramid is adapted for serverless — unit tests: test pure business logic functions (no Lambda handler), mock AWS SDK calls (aws-sdk-client-mock for v3), test input validation, error handling. Integration tests: test Lambda handler with event payloads, use SAM local or deploy to test account. E2E tests: deploy full stack, trigger real events, verify end-to-end flow including async processing (poll for results). Ratio: 70% unit, 20% integration, 10% E2E. Key difference from traditional: more integration tests needed because serverless glue code interacts heavily with AWS services"
53
+ weight: 0.35
54
+ description: "Testing pyramid"
55
+ - type: llm_judge
56
+ criteria: "Mocking and integration testing are covered — unit test mocking: aws-sdk-client-mock (TypeScript/JavaScript), moto (Python), use dependency injection for testability. Integration: SAM local invoke for Lambda, DynamoDB Local for database, LocalStack for full AWS emulation. Real AWS testing: deploy to dedicated test account with ephemeral stacks (create stack → test → delete). Event testing: generate sample events (sam local generate-event), test with real SQS/EventBridge events. Contract testing: share TypeScript types between producer and consumer, validate schemas in CI"
57
+ weight: 0.35
58
+ description: "Mocking and integration"
59
+ - type: llm_judge
60
+ criteria: "CI/CD automation is practical — CI pipeline stages: (1) unit tests (fast, every commit), (2) sam build + deploy to test account, (3) integration tests against deployed stack, (4) e2e tests, (5) deploy to staging, (6) smoke tests, (7) deploy to production with canary. Testing async flows: after triggering event, poll DynamoDB/S3 for expected result with timeout. Contract testing in CI: validate shared schemas haven't changed incompatibly. Cost: unit tests are free, integration tests cost a few cents per run. Clean up: delete test stacks after tests to avoid cost. Flaky test mitigation: retry async assertions, use eventually-consistent assertions with polling"
61
+ weight: 0.30
62
+ description: "CI/CD automation"
@@ -0,0 +1,63 @@
1
+ meta:
2
+ id: board-serverless-strategy
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Board-level serverless strategy — present Lambda technology investment to the board with business outcomes, competitive advantage, and risk analysis"
7
+ tags: [AWS, Lambda, board, strategy, business-outcomes, executive, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ The board of directors wants to understand the company's serverless
13
+ investment. You (VP Engineering) present at the quarterly board
14
+ meeting. Board members include: a former Fortune 100 CEO, a
15
+ venture capitalist, an industry domain expert, and the company
16
+ founder.
17
+
18
+ Business outcomes since serverless adoption (18 months):
19
+
20
+ Engineering velocity:
21
+ - Deployment frequency: 2/week → 15/day (7.5x increase)
22
+ - Lead time for changes: 3 weeks → 2 days (10x faster)
23
+ - Mean time to recovery: 4 hours → 25 minutes (10x faster)
24
+ - Change failure rate: 15% → 3%
25
+
26
+ Financial impact:
27
+ - Infrastructure cost: $300K/year → $180K/year (40% reduction)
28
+ - Operations team: 8 people → 3 (5 redeployed to product dev)
29
+ - Time to launch new product features: 8 weeks → 2 weeks
30
+ - Estimated revenue from faster feature delivery: +$2M/year
31
+
32
+ Competitive advantage:
33
+ - Launched a real-time pricing feature in 2 weeks that competitors
34
+ took 3 months to match
35
+ - Auto-scaling during Black Friday handled 10x normal traffic
36
+ with zero manual intervention (competitors had outages)
37
+ - Developer satisfaction survey: 8.2/10 (was 5.5/10)
38
+
39
+ Board questions expected:
40
+ 1. "What's the risk of being dependent on AWS?"
41
+ 2. "What if AWS raises Lambda prices significantly?"
42
+ 3. "How does this compare to what our competitors are doing?"
43
+ 4. "What's the next big investment needed?"
44
+
45
+ Task: Prepare the board presentation. Write: the executive
46
+ narrative (business outcomes, not technology), DORA metrics
47
+ translation for the board, risk analysis (vendor lock-in,
48
+ pricing), competitive positioning, and the investment roadmap
49
+ for the next 2 years.
50
+
51
+ assertions:
52
+ - type: llm_judge
53
+ criteria: "Executive narrative is non-technical — frame serverless as 'on-demand computing that automatically scales and only charges for actual usage.' Focus on business outcomes: faster feature delivery → revenue growth, lower infrastructure costs → margin improvement, automatic scaling → reliability during peak events, smaller ops team → more engineers building product. Avoid: Lambda, API Gateway, DynamoDB, CloudWatch. Instead: 'automated infrastructure,' 'usage-based pricing,' 'self-healing systems.' Use analogies: 'like electricity — pay for what you use, don't maintain a generator'"
54
+ weight: 0.35
55
+ description: "Executive narrative"
56
+ - type: llm_judge
57
+ criteria: "Risk analysis and competitive positioning are balanced — vendor lock-in: mitigate with clean architecture (business logic is portable, only infrastructure integration code is AWS-specific, ~15% of codebase). AWS pricing risk: historical trend is price reductions, Compute Savings Plans provide price stability. Multi-cloud: not recommended (complexity outweighs benefit) but maintain the ability to migrate if needed. Competitive: serverless is mainstream (60% of AWS customers use Lambda). Competitors on older infrastructure are slower to market. First-mover advantage in serverless competency is a hiring advantage for top talent"
58
+ weight: 0.35
59
+ description: "Risk and competitive"
60
+ - type: llm_judge
61
+ criteria: "Investment roadmap is forward-looking — next 2 years: (1) AI/ML integration: Lambda for inference endpoints, SageMaker for model training. (2) Edge computing: Lambda@Edge for latency-sensitive features. (3) Real-time processing: Kinesis + Lambda for streaming analytics. (4) Global expansion: multi-region active-active for international markets. Investment ask: maintain current platform team (3 engineers, $540K/year), add $100K/year for tooling, $50K for training. Expected return: additional $3M revenue from faster feature delivery, $50K infrastructure savings from continued optimization. Present as competitive moat, not just cost savings"
62
+ weight: 0.30
63
+ description: "Investment roadmap"
@@ -0,0 +1,57 @@
1
+ meta:
2
+ id: consulting-serverless-adoption
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Consulting engagement — design a serverless adoption strategy for an enterprise transitioning from traditional infrastructure to event-driven Lambda architecture"
7
+ tags: [AWS, Lambda, consulting, adoption, enterprise, strategy, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ A Fortune 500 insurance company wants to modernize their claims
13
+ processing system. Currently running on on-premise WebSphere
14
+ application servers with Oracle databases. They've chosen AWS
15
+ and want to evaluate serverless.
16
+
17
+ Current state:
18
+ - 2,000 claims processed daily (peak: 10,000 during natural disasters)
19
+ - Average claim processing: 15 steps over 5-7 business days
20
+ - 200 business rules for claim validation
21
+ - 50+ integrations with external systems (hospitals, repair shops)
22
+ - Regulated: state insurance regulations, NAIC guidelines
23
+ - Team: 80 Java developers, 20 infrastructure ops, 0 cloud experience
24
+
25
+ Stakeholder concerns:
26
+ - CTO: "Can Lambda handle our volume and complexity?"
27
+ - VP Claims: "We can't have ANY downtime during claims season."
28
+ - CISO: "Our data can never leave these 3 regions."
29
+ - CFO: "What's the business case? WebSphere works fine."
30
+ - Dev team lead: "We're Java developers. How do we learn serverless?"
31
+
32
+ Key questions to address:
33
+ 1. Is serverless appropriate for complex, long-running workflows?
34
+ 2. How do regulated industries use Lambda safely?
35
+ 3. What's the migration path from WebSphere + Oracle?
36
+ 4. How do we upskill 80 Java developers?
37
+ 5. What's the ROI vs maintaining current infrastructure?
38
+
39
+ Task: Design the consulting engagement deliverable. Write: the
40
+ serverless readiness assessment, architecture recommendation
41
+ (what goes to Lambda vs Fargate vs EC2), migration roadmap,
42
+ regulatory compliance approach, team transformation plan, ROI
43
+ model, and risk analysis.
44
+
45
+ assertions:
46
+ - type: llm_judge
47
+ criteria: "Readiness assessment is thorough — evaluate each component: claims intake (Lambda — event-driven, good fit), claims processing workflow (Step Functions — multi-step, long-running), business rules engine (Lambda — stateless logic), document processing (Lambda with S3 triggers), external integrations (Lambda with SQS for buffering), reporting/analytics (Lambda + Athena or Fargate for heavy queries), database (Aurora Serverless or DynamoDB depending on access patterns). Not everything should be Lambda: batch reporting → Fargate, real-time dashboards → EC2/ECS"
48
+ weight: 0.35
49
+ description: "Readiness assessment"
50
+ - type: llm_judge
51
+ criteria: "Migration and compliance are covered — migration: strangler fig pattern, 18-24 month timeline. Phase 1 (6 months): new features as serverless, integrate with existing WebSphere. Phase 2 (6 months): migrate high-value workflows. Phase 3 (6-12 months): migrate remaining, decommission WebSphere. Database: Oracle to Aurora PostgreSQL (compatible, managed), or DynamoDB for appropriate workloads. Compliance: data residency via region selection, encryption (KMS), audit logging (CloudTrail), access control (IAM + Cognito). SOC2/HIPAA: Lambda is compliant, but your implementation must be configured correctly"
52
+ weight: 0.35
53
+ description: "Migration and compliance"
54
+ - type: llm_judge
55
+ criteria: "Team transformation and ROI are practical — Java developers: Lambda supports Java (SnapStart for cold starts), Quarkus/Micronaut for Lambda-optimized frameworks. Training: 3-month program (AWS fundamentals → Lambda → event-driven design → operations). Pilot team of 10 developers leads, then train-the-trainer. ROI: infrastructure savings (40-60%), operational savings (reduce 20 ops staff to 5 platform engineers), developer productivity (faster deployments). Total 3-year ROI: $3-5M net savings. Risk: timeline slippage (mitigate with phased approach), skill gaps (mitigate with training + hiring 3-5 cloud architects), vendor lock-in (mitigate with clean architecture patterns)"
56
+ weight: 0.30
57
+ description: "Team and ROI"
@@ -0,0 +1,62 @@
1
+ meta:
2
+ id: industry-serverless-patterns
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Analyze industry serverless patterns — evaluate serverless adoption across fintech, healthcare, e-commerce, and IoT with maturity models and benchmarks"
7
+ tags: [AWS, Lambda, industry, patterns, maturity, benchmarks, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're writing a whitepaper: "Serverless in Production: Patterns
13
+ Across Industries." Research from 200+ serverless deployments reveals:
14
+
15
+ Industry-specific patterns:
16
+
17
+ Fintech:
18
+ - Lambda for transaction processing (payment events, fraud detection)
19
+ - Step Functions for compliance workflows (KYC, AML checks)
20
+ - Challenge: strict latency requirements (p99 < 100ms for payment APIs)
21
+ - Solution: provisioned concurrency for payment endpoints
22
+ - Regulatory: audit trail via CloudTrail, data encryption mandatory
23
+
24
+ Healthcare:
25
+ - Lambda for HL7/FHIR message processing
26
+ - S3 → Lambda for medical image analysis (with Bedrock/SageMaker)
27
+ - Challenge: HIPAA compliance (BAA, encryption, access control)
28
+ - Solution: VPC Lambda with private endpoints, no PII in logs
29
+ - Data residency: region-locked deployments
30
+
31
+ E-commerce:
32
+ - Lambda for product catalog APIs, recommendation engines
33
+ - EventBridge for order events across microservices
34
+ - Challenge: 10-100x traffic spikes during sales (Black Friday)
35
+ - Solution: pre-scaled provisioned concurrency, DynamoDB on-demand
36
+ - Cost: Lambda is cheaper than EC2 for spiky traffic patterns
37
+
38
+ IoT:
39
+ - Lambda for device event processing (millions of events/day)
40
+ - Kinesis → Lambda for real-time telemetry
41
+ - Challenge: high volume at low cost per event
42
+ - Solution: batch processing (Kinesis batch window), ARM architecture
43
+ - Edge: Greengrass Lambda for on-device processing
44
+
45
+ Task: Analyze industry serverless patterns. Write: industry-specific
46
+ use cases and constraints, maturity model for serverless adoption,
47
+ common pitfalls by industry, performance benchmarks, and strategic
48
+ guidance for each vertical.
49
+
50
+ assertions:
51
+ - type: llm_judge
52
+ criteria: "Industry patterns are specific — fintech: Lambda ideal for event-driven payment processing, Step Functions for multi-step compliance. Key requirement: sub-100ms latency for synchronous APIs, complete audit trail. Healthcare: HIPAA compliance drives architecture (encryption, access logging, data residency). Lambda for processing, not for storing PHI. E-commerce: spiky traffic patterns make Lambda cost-effective (scales to zero between events). IoT: massive volume at low cost — optimize for efficiency (batch, ARM, minimal memory). Each industry has unique regulatory and performance constraints that shape the Lambda architecture"
53
+ weight: 0.35
54
+ description: "Industry patterns"
55
+ - type: llm_judge
56
+ criteria: "Maturity model is actionable — Stage 1 (Experiment): single Lambda function, manual deployment, basic logging. Stage 2 (Foundation): IaC, CI/CD, structured logging, event-driven design. Stage 3 (Scale): multi-function architectures, Step Functions, cross-account, observability platform. Stage 4 (Optimize): cost optimization, security hardening, multi-region, automated remediation. Stage 5 (Transform): serverless-first organization, platform team, self-service, industry-leading practices. Most organizations are at Stage 2-3. Advancing requires investment in people and process, not just technology"
57
+ weight: 0.35
58
+ description: "Maturity model"
59
+ - type: llm_judge
60
+ criteria: "Benchmarks and guidance are data-driven — performance benchmarks: median cold start across industries (Node.js: 200ms, Python: 300ms, Java: 3s, Java+SnapStart: 200ms). Cost benchmarks: $0.001-0.01 per transaction is typical for well-optimized Lambda. Availability: 99.95% with single-region, 99.99% with multi-region. Common pitfalls by industry: fintech (ignoring cold starts for payment APIs), healthcare (PII in CloudWatch Logs), e-commerce (not pre-scaling for known events), IoT (not batching events). Strategic guidance: start with event-driven use cases, expand to APIs, consider containers for steady-state compute"
61
+ weight: 0.30
62
+ description: "Benchmarks and guidance"