dojo.md 0.1.0 → 0.2.1
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.
- package/courses/GENERATION_LOG.md +72 -0
- package/courses/api-error-handling/course.yaml +16 -0
- package/courses/api-error-handling/scenarios/level-1/error-response-format.yaml +131 -0
- package/courses/api-error-handling/scenarios/level-1/http-status-codes-basics.yaml +90 -0
- package/courses/api-error-handling/scenarios/level-1/rate-limiting-basics.yaml +135 -0
- package/courses/api-error-handling/scenarios/level-1/request-validation-errors.yaml +208 -0
- package/courses/api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +189 -0
- package/courses/api-error-handling/scenarios/level-2/idempotency-retry-logic.yaml +159 -0
- package/courses/api-error-handling/scenarios/level-2/rfc-7807-problem-details.yaml +178 -0
- package/courses/api-error-handling/scenarios/level-2/webhook-error-handling.yaml +211 -0
- package/courses/api-error-handling/scenarios/level-3/distributed-tracing-errors.yaml +275 -0
- package/courses/aws-lambda-debugging/course.yaml +11 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
- package/courses/docker-container-debugging/course.yaml +11 -0
- package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
- package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
- package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
- package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
- package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
- package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
- package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
- package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
- package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
- package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
- package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
- package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
- package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
- package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
- package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
- package/courses/github-actions-cicd/course.yaml +10 -0
- package/courses/github-actions-cicd/scenarios/level-1/actions-and-runners.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-1/basic-workflow-syntax.yaml +52 -0
- package/courses/github-actions-cicd/scenarios/level-1/branch-protection-checks.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-1/environment-variables-secrets.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-1/first-cicd-shift.yaml +62 -0
- package/courses/github-actions-cicd/scenarios/level-1/job-dependencies-outputs.yaml +62 -0
- package/courses/github-actions-cicd/scenarios/level-1/simple-ci-pipeline.yaml +57 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-debugging.yaml +90 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-status-notifications.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-triggers.yaml +56 -0
- package/courses/github-actions-cicd/scenarios/level-2/concurrency-control.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-2/conditional-execution.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-2/custom-actions-development.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-2/dependency-caching.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-2/deployment-workflows.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-2/github-packages-publishing.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-2/intermediate-cicd-shift.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-2/matrix-builds.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-2/reusable-workflows.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-2/workflow-cost-optimization.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-3/advanced-cicd-shift.yaml +64 -0
- package/courses/github-actions-cicd/scenarios/level-3/compliance-automation.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-3/docker-action-development.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-3/github-environments.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-3/monorepo-ci.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-3/oidc-cloud-deployments.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-3/release-automation.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-3/security-hardening.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-3/self-hosted-runners.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-3/workflow-optimization.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-data-architecture.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-economics-roi.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-executive-communication.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-incident-response.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-org-design.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-platform-architecture.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-training-program.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-vendor-evaluation.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/enterprise-cicd-governance.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-4/expert-cicd-shift.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-ai-future.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-behavioral-science.yaml +70 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-board-strategy.yaml +56 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-consulting-engagement.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-industry-benchmarks.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-ma-integration.yaml +73 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-product-development.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-regulatory-landscape.yaml +72 -0
- package/courses/github-actions-cicd/scenarios/level-5/comprehensive-cicd-system.yaml +66 -0
- package/courses/github-actions-cicd/scenarios/level-5/master-cicd-shift.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-2/api-change-review.yaml +82 -0
- package/courses/github-pr-review/scenarios/level-2/automated-review-tooling.yaml +53 -0
- package/courses/github-pr-review/scenarios/level-2/cross-team-review.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-2/intermediate-review-shift.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-2/performance-review-patterns.yaml +99 -0
- package/courses/github-pr-review/scenarios/level-2/review-disagreement-resolution.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-2/review-metrics-analysis.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-2/review-turnaround-sla.yaml +54 -0
- package/courses/github-pr-review/scenarios/level-2/stacked-pr-review.yaml +65 -0
- package/courses/github-pr-review/scenarios/level-3/advanced-review-shift.yaml +65 -0
- package/courses/github-pr-review/scenarios/level-3/ai-powered-review.yaml +58 -0
- package/courses/github-pr-review/scenarios/level-3/compliance-review-process.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-3/cross-functional-review.yaml +60 -0
- package/courses/github-pr-review/scenarios/level-3/incident-driven-review.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-3/large-scale-review-operations.yaml +55 -0
- package/courses/github-pr-review/scenarios/level-3/monorepo-review-process.yaml +68 -0
- package/courses/github-pr-review/scenarios/level-3/review-automation-platform.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-3/review-culture-design.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-3/review-data-pipeline.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/enterprise-review-operations.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-4/expert-review-shift.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/review-data-architecture.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-4/review-economics-roi.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-4/review-executive-communication.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-4/review-incident-postmortem.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-4/review-org-design.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/review-platform-architecture.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-4/review-training-program.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-4/review-vendor-evaluation.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-5/comprehensive-review-system.yaml +68 -0
- package/courses/github-pr-review/scenarios/level-5/master-review-shift.yaml +73 -0
- package/courses/github-pr-review/scenarios/level-5/review-ai-future.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-5/review-behavioral-science.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-5/review-board-strategy.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-5/review-consulting-engagement.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-5/review-devtools-product.yaml +71 -0
- package/courses/github-pr-review/scenarios/level-5/review-industry-benchmarks.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-5/review-ma-integration.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-5/review-regulatory-landscape.yaml +78 -0
- package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
- package/courses/mysql-query-optimization/course.yaml +11 -0
- package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
- package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
- package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
- package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
- package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
- package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
- package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
- package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
- package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
- package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
- package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
- package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
- package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
- package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
- package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
- package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
- package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
- package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
- package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
- package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
- package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
- package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
- package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
- package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
- package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
- package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
- package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
- package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
- package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
- package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
- package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
- package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
- package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
- package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
- package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
- package/courses/postgresql-query-optimization/course.yaml +11 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/explain-analyze-basics.yaml +80 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +77 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/index-fundamentals.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/join-basics.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/select-star-problems.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/vacuum-and-statistics.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/autovacuum-tuning.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/composite-index-design.yaml +81 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/covering-indexes.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/cte-optimization.yaml +83 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +66 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/join-optimization.yaml +72 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/partial-and-expression-indexes.yaml +75 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/query-planner-settings.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/subquery-optimization.yaml +67 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/window-function-optimization.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/connection-pooling.yaml +60 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/full-text-search-optimization.yaml +66 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/jsonb-optimization.yaml +88 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +80 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/materialized-view-optimization.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/parallel-query-execution.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/specialized-index-types.yaml +67 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/write-optimization.yaml +65 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/data-architecture-analytics.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/database-executive-communication.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/database-migration-planning.yaml +57 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/enterprise-database-governance.yaml +52 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/optimizer-internals.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/performance-sla-design.yaml +58 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/read-replica-optimization.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/vendor-evaluation.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
- package/courses/rest-api-error-handling/course.yaml +11 -0
- package/courses/rest-api-error-handling/scenarios/level-1/authentication-errors.yaml +71 -0
- package/courses/rest-api-error-handling/scenarios/level-1/content-negotiation-errors.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-1/error-logging-basics.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-1/error-response-format.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-1/first-error-handling-shift.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-1/http-status-codes.yaml +46 -0
- package/courses/rest-api-error-handling/scenarios/level-1/not-found-errors.yaml +52 -0
- package/courses/rest-api-error-handling/scenarios/level-1/rate-limiting-errors.yaml +56 -0
- package/courses/rest-api-error-handling/scenarios/level-1/request-validation-errors.yaml +59 -0
- package/courses/rest-api-error-handling/scenarios/level-1/server-error-handling.yaml +55 -0
- package/courses/rest-api-error-handling/scenarios/level-2/api-versioning-errors.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-2/batch-request-errors.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +52 -0
- package/courses/rest-api-error-handling/scenarios/level-2/error-code-taxonomy.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-2/error-monitoring-alerting.yaml +53 -0
- package/courses/rest-api-error-handling/scenarios/level-2/intermediate-error-shift.yaml +69 -0
- package/courses/rest-api-error-handling/scenarios/level-2/pagination-errors.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-2/retry-and-idempotency.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-2/rfc7807-problem-details.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-2/webhook-error-handling.yaml +55 -0
- package/courses/rest-api-error-handling/scenarios/level-3/advanced-error-shift.yaml +72 -0
- package/courses/rest-api-error-handling/scenarios/level-3/api-gateway-errors.yaml +71 -0
- package/courses/rest-api-error-handling/scenarios/level-3/async-api-errors.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-3/caching-error-scenarios.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-3/chaos-engineering-apis.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-3/database-error-handling.yaml +79 -0
- package/courses/rest-api-error-handling/scenarios/level-3/distributed-error-propagation.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-3/error-budgets-sre.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-3/error-correlation.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-3/graphql-vs-rest-errors.yaml +73 -0
- package/courses/rest-api-error-handling/scenarios/level-4/compliance-error-handling.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/enterprise-error-governance.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-analytics-platform.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-cost-optimization.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-executive-communication.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-handling-architecture.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-org-design.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-sla-design.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-training-program.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-4/expert-error-shift.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-5/comprehensive-error-system.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-ai-future.yaml +75 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-behavioral-science.yaml +73 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-board-strategy.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-consulting-engagement.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-industry-benchmarks.yaml +72 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-ma-integration.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-product-development.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-regulatory-landscape.yaml +80 -0
- package/courses/rest-api-error-handling/scenarios/level-5/master-error-shift.yaml +73 -0
- package/courses/terraform-infrastructure-setup/course.yaml +11 -0
- package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +6 -5
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +4 -0
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +6 -18
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/train.d.ts.map +1 -1
- package/dist/cli/commands/train.js +18 -18
- package/dist/cli/commands/train.js.map +1 -1
- package/dist/cli/index.js +93 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run-demo.js +2 -1
- package/dist/cli/run-demo.js.map +1 -1
- package/dist/cli/setup.d.ts +18 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +154 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/engine/agent-bridge.d.ts +5 -2
- package/dist/engine/agent-bridge.d.ts.map +1 -1
- package/dist/engine/agent-bridge.js +36 -9
- package/dist/engine/agent-bridge.js.map +1 -1
- package/dist/engine/loader.d.ts +21 -0
- package/dist/engine/loader.d.ts.map +1 -1
- package/dist/engine/loader.js +54 -1
- package/dist/engine/loader.js.map +1 -1
- package/dist/engine/training-loop.d.ts.map +1 -1
- package/dist/engine/training-loop.js +1 -0
- package/dist/engine/training-loop.js.map +1 -1
- package/dist/engine/training.d.ts.map +1 -1
- package/dist/engine/training.js +1 -0
- package/dist/engine/training.js.map +1 -1
- package/dist/generator/skill-generator.d.ts +1 -1
- package/dist/generator/skill-generator.d.ts.map +1 -1
- package/dist/generator/skill-generator.js +21 -2
- package/dist/generator/skill-generator.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +11 -26
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session-manager.d.ts +9 -4
- package/dist/mcp/session-manager.d.ts.map +1 -1
- package/dist/mcp/session-manager.js +65 -28
- package/dist/mcp/session-manager.js.map +1 -1
- package/dist/types/schemas.d.ts +38 -13
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +9 -5
- package/dist/types/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: master-debugging-shift
|
|
3
|
+
level: 5
|
|
4
|
+
course: aws-lambda-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Combined master debugging shift — serve as fractional CTO advising on a complete serverless platform strategy encompassing technology, people, process, and business alignment"
|
|
7
|
+
tags: [AWS, Lambda, troubleshooting, combined, shift-simulation, CTO, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're engaged as a fractional CTO for a Series C healthtech
|
|
13
|
+
startup ($75M raised, 150 engineers). They've been all-in on
|
|
14
|
+
serverless for 3 years with 500+ Lambda functions. Growing pains
|
|
15
|
+
are threatening their Series D fundraising.
|
|
16
|
+
|
|
17
|
+
Technical challenges:
|
|
18
|
+
- 500+ Lambda functions with no naming convention or catalog
|
|
19
|
+
- Step Functions workflows with 30+ states, no error handling
|
|
20
|
+
- Monthly AWS bill: $120K, growing 20% month-over-month
|
|
21
|
+
- Cold start complaints from enterprise customers (healthcare
|
|
22
|
+
portals require sub-second response for clinical workflows)
|
|
23
|
+
- Last month: 3 incidents with MTTR > 2 hours each
|
|
24
|
+
- No multi-region: single us-east-1 deployment (enterprise
|
|
25
|
+
customers require 99.99% availability)
|
|
26
|
+
- HIPAA compliance gaps found during customer audit
|
|
27
|
+
|
|
28
|
+
People challenges:
|
|
29
|
+
- 3-person platform team supporting 150 engineers (understaffed)
|
|
30
|
+
- No on-call rotation — CTO handles all production incidents
|
|
31
|
+
- Engineers deployed to production via console (no IaC for 30%
|
|
32
|
+
of functions)
|
|
33
|
+
- No security engineer — HIPAA compliance is "everyone's job"
|
|
34
|
+
(meaning nobody's job)
|
|
35
|
+
|
|
36
|
+
Business context:
|
|
37
|
+
- Series D fundraising in 6 months
|
|
38
|
+
- 5 enterprise prospects (each $2M+ ARR) requiring SOC2 + HIPAA
|
|
39
|
+
- Board concerned about infrastructure maturity
|
|
40
|
+
- Competing with well-funded rivals who have production-grade platforms
|
|
41
|
+
- CEO: "Fix the platform. We can't lose these enterprise deals."
|
|
42
|
+
|
|
43
|
+
Task: Design the comprehensive 6-month roadmap for Series D
|
|
44
|
+
readiness. Write: phased approach (stabilize → secure → scale →
|
|
45
|
+
optimize), technology decisions, hiring plan (who and when), HIPAA
|
|
46
|
+
compliance sprint, cost optimization targets, enterprise readiness
|
|
47
|
+
metrics, and the board presentation talking points.
|
|
48
|
+
|
|
49
|
+
assertions:
|
|
50
|
+
- type: llm_judge
|
|
51
|
+
criteria: "Phased roadmap is realistic — Month 1-2 (Stabilize): hire security engineer, implement on-call rotation, migrate console-deployed functions to IaC, add error handling to critical Step Functions, implement Powertools logging across all functions. Month 2-3 (Secure): HIPAA gap remediation (encryption, access logging, data classification, BAA verification), SOC2 Type I preparation, fix IAM overpermission. Month 3-5 (Scale): multi-region for enterprise customers (active-passive initially), provisioned concurrency for clinical endpoints, expand platform team. Month 5-6 (Optimize): cost optimization (right-size, ARM, reduce CloudWatch costs), enterprise customer readiness demos, Series D preparation materials"
|
|
52
|
+
weight: 0.35
|
|
53
|
+
description: "Phased roadmap"
|
|
54
|
+
- type: llm_judge
|
|
55
|
+
criteria: "Hiring and compliance are justified — immediate hires: (1) security engineer (HIPAA/SOC2 — critical for enterprise deals), (2) senior platform engineer (IaC migration, multi-region), (3) SRE (on-call, incident management, observability). Within 3 months: (4) developer experience engineer (templates, tooling). HIPAA compliance sprint: data flow mapping (where does PHI go?), encrypt all PHI at rest and transit (KMS), implement access logging (CloudTrail), set CloudWatch Logs retention and encryption, mask PII in application logs, document BAA for all AWS services used. Target: audit-ready in 4 months"
|
|
56
|
+
weight: 0.35
|
|
57
|
+
description: "Hiring and compliance"
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Enterprise readiness and board communication are practical — enterprise requirements: 99.99% availability (multi-region), SOC2 Type II (need 6 months of evidence — start Type I immediately), HIPAA compliance documentation, incident response plan, SLA definitions. Cost optimization: target $90K/month (25% reduction) through right-sizing, ARM, log optimization. Board talking points: infrastructure is a competitive advantage (enterprise customers pay 3-5x more), platform investment enables $10M+ in enterprise pipeline, MTTR improvement from 2+ hours to < 30 minutes demonstrates operational maturity. Series D narrative: 'We're building enterprise-grade infrastructure to capture the enterprise healthcare market.'"
|
|
60
|
+
weight: 0.30
|
|
61
|
+
description: "Enterprise readiness"
|
package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: organizational-serverless-transformation
|
|
3
|
+
level: 5
|
|
4
|
+
course: aws-lambda-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Lead organizational serverless transformation — manage cultural change, team restructuring, and skill development for enterprise serverless adoption"
|
|
7
|
+
tags: [AWS, Lambda, organizational, transformation, culture, leadership, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're leading serverless transformation at a 3,000-person
|
|
13
|
+
enterprise. After 18 months, adoption is at 20% — the goal was 60%.
|
|
14
|
+
|
|
15
|
+
Resistance patterns:
|
|
16
|
+
|
|
17
|
+
Operations team (40 people):
|
|
18
|
+
"Serverless means we can't SSH into servers to debug. How do we
|
|
19
|
+
do our jobs?" Fear: job obsolescence.
|
|
20
|
+
Reality: ops role transforms from "manage servers" to "manage
|
|
21
|
+
platforms and developer experience."
|
|
22
|
+
|
|
23
|
+
Backend developers (200 people):
|
|
24
|
+
"Lambda forces us to break our monolith into hundreds of functions.
|
|
25
|
+
That's more complex, not less." Fear: loss of control, added complexity.
|
|
26
|
+
Reality: serverless doesn't require microservices — start with
|
|
27
|
+
Lambda-lith (monolith in Lambda) and decompose gradually.
|
|
28
|
+
|
|
29
|
+
Architecture team (15 people):
|
|
30
|
+
"Vendor lock-in! If AWS changes Lambda pricing or discontinues
|
|
31
|
+
it, we're stuck." Fear: loss of portability.
|
|
32
|
+
Reality: business logic is portable; infrastructure integration
|
|
33
|
+
code (~15%) is AWS-specific. The risk of slow innovation
|
|
34
|
+
(not adopting) exceeds the risk of lock-in.
|
|
35
|
+
|
|
36
|
+
Middle management:
|
|
37
|
+
"This wasn't in our roadmap. We're already behind on feature
|
|
38
|
+
delivery." No incentive to invest in serverless migration.
|
|
39
|
+
Reality: OKRs need to include modernization goals.
|
|
40
|
+
|
|
41
|
+
Early adopters (5 teams):
|
|
42
|
+
Enthusiastic but frustrated. "We adopted serverless but got no
|
|
43
|
+
platform support. We're reinventing everything."
|
|
44
|
+
Reality: without a platform team, each team builds its own
|
|
45
|
+
infrastructure, wasting engineering time.
|
|
46
|
+
|
|
47
|
+
Task: Design the organizational transformation strategy. Write:
|
|
48
|
+
the change management framework, addressing each group's concerns
|
|
49
|
+
with empathy and data, training program design, incentive
|
|
50
|
+
alignment, platform team investment, measuring cultural change,
|
|
51
|
+
and lessons from successful serverless transformations.
|
|
52
|
+
|
|
53
|
+
assertions:
|
|
54
|
+
- type: llm_judge
|
|
55
|
+
criteria: "Change management is structured — start with the 'why': quantify cost of status quo (server management time, deployment friction, incident frequency). Build coalition: executive sponsor + early adopter teams + willing ops engineers. Quick wins: migrate a visible, successful project in 4-6 weeks (demonstrate value). Enable: platform team provides self-service tools so adoption is easier than the old way. Incentivize: include modernization metrics in OKRs. Celebrate: publicize wins (deployment frequency improvement, cost savings). Sustain: embed serverless in hiring criteria, onboarding, and promotion ladders"
|
|
56
|
+
weight: 0.35
|
|
57
|
+
description: "Change management"
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Stakeholder concerns are addressed with empathy — operations: 'your role is evolving, not disappearing. Platform engineering is more impactful than server management.' Provide retraining budget. Backend developers: 'you don't have to rewrite everything. Start by deploying your existing app on Lambda (Lambda-lith), then decompose as it makes sense.' Architecture: 'the risk of not modernizing (losing competitive advantage, talent) exceeds lock-in risk. We'll keep business logic portable.' Management: 'serverless is a force multiplier — your team ships features faster, which helps your roadmap.' Early adopters: 'we hear you — platform team investment starts now'"
|
|
60
|
+
weight: 0.35
|
|
61
|
+
description: "Stakeholder concerns"
|
|
62
|
+
- type: llm_judge
|
|
63
|
+
criteria: "Training and measurement are practical — training program: Level 1 (all engineers): Lambda fundamentals + hands-on workshop (2 days). Level 2 (adopting teams): event-driven design + serverless patterns (1 week). Level 3 (platform team): deep AWS + architecture + operations (ongoing). Training should be hands-on, not lecture-based. Pair experienced serverless developers with migrating teams. Measure transformation: adoption rate (% serverless), deployment velocity per team, developer satisfaction (quarterly survey), incidents related to serverless vs traditional, team autonomy (can they deploy without help?). Target: 60% adoption in 12 months with platform support"
|
|
64
|
+
weight: 0.30
|
|
65
|
+
description: "Training and measurement"
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: regulatory-serverless
|
|
3
|
+
level: 5
|
|
4
|
+
course: aws-lambda-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Design regulatory compliance for serverless — implement controls for SOC2, PCI-DSS, HIPAA, and GDPR in Lambda-based architectures"
|
|
7
|
+
tags: [AWS, Lambda, compliance, SOC2, PCI-DSS, HIPAA, GDPR, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your serverless application processes payment card data and
|
|
13
|
+
personal health information. You need compliance with PCI-DSS,
|
|
14
|
+
HIPAA, and GDPR simultaneously.
|
|
15
|
+
|
|
16
|
+
Auditor challenges:
|
|
17
|
+
|
|
18
|
+
1. "Where does the code run? Show me the server."
|
|
19
|
+
Lambda: there IS no server to inspect. Compliance frameworks
|
|
20
|
+
designed for servers need adaptation for serverless.
|
|
21
|
+
Answer: AWS manages the infrastructure (shared responsibility).
|
|
22
|
+
You control: code, configuration, data, access.
|
|
23
|
+
|
|
24
|
+
2. "How do you ensure data encryption at rest?"
|
|
25
|
+
Lambda environment variables: encrypted with AWS-managed or
|
|
26
|
+
customer-managed KMS key. DynamoDB: encryption at rest default.
|
|
27
|
+
S3: SSE-S3 or SSE-KMS. All data in transit: TLS 1.2+.
|
|
28
|
+
|
|
29
|
+
3. "Show me access logs for the last 90 days."
|
|
30
|
+
CloudTrail: every API call logged (Lambda invocations, config
|
|
31
|
+
changes, IAM actions). CloudWatch Logs: function execution logs.
|
|
32
|
+
API Gateway: access logs with source IP, user agent, response code.
|
|
33
|
+
|
|
34
|
+
4. "How do you handle right to erasure (GDPR Article 17)?"
|
|
35
|
+
Serverless challenge: data may exist in DynamoDB, S3, CloudWatch
|
|
36
|
+
Logs, X-Ray traces, DLQ messages, Step Functions execution history.
|
|
37
|
+
Must identify and delete from ALL locations.
|
|
38
|
+
|
|
39
|
+
5. "Demonstrate vulnerability management."
|
|
40
|
+
No OS to patch (AWS responsibility). But: application dependencies,
|
|
41
|
+
Lambda runtime versions, third-party layers. Must scan and update.
|
|
42
|
+
|
|
43
|
+
Task: Design regulatory compliance for serverless. Write: shared
|
|
44
|
+
responsibility model for Lambda, control mappings for PCI-DSS
|
|
45
|
+
and HIPAA, GDPR data handling (right to erasure, data portability),
|
|
46
|
+
audit evidence collection, vulnerability management without
|
|
47
|
+
servers, and compliance automation with AWS Config.
|
|
48
|
+
|
|
49
|
+
assertions:
|
|
50
|
+
- type: llm_judge
|
|
51
|
+
criteria: "Shared responsibility for serverless is explained — AWS responsibility: physical security, hypervisor, OS patching, runtime patching, network infrastructure. Customer responsibility: function code, dependencies, IAM configuration, data encryption configuration, application logging, input validation. This is MORE favorable than EC2 (where customer patches OS). Compliance advantage: smaller attack surface, no server hardening needed. Compliance challenge: less visibility into infrastructure, new tooling needed for serverless-specific controls"
|
|
52
|
+
weight: 0.35
|
|
53
|
+
description: "Shared responsibility"
|
|
54
|
+
- type: llm_judge
|
|
55
|
+
criteria: "Control mappings and GDPR are covered — PCI-DSS: Req 2 (secure config) → Lambda function settings, no default passwords. Req 3 (protect stored data) → KMS encryption. Req 6 (secure development) → code scanning, dependency management. Req 10 (logging) → CloudTrail + CloudWatch. HIPAA: BAA with AWS, encrypt PHI (KMS), restrict access (IAM), audit all PHI access (CloudTrail). GDPR right to erasure: identify all data stores (DynamoDB, S3, CloudWatch Logs, X-Ray, SQS DLQ), implement deletion workflow across all stores, set log retention to minimum required, mask PII in logs"
|
|
56
|
+
weight: 0.35
|
|
57
|
+
description: "Controls and GDPR"
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Compliance automation is practical — AWS Config rules: monitor Lambda configuration compliance (encryption enabled, VPC configured, timeout < max, memory within policy). Custom Config rules via Lambda for organization-specific checks. AWS Security Hub: aggregate findings from GuardDuty, Inspector, Config. Automated evidence collection: CloudTrail logs (access audit), Config snapshots (configuration audit), CloudWatch (operational audit). Vulnerability management: scan dependencies in CI (Snyk/npm audit), update Lambda runtimes before EOL, monitor AWS security bulletins. SOC2 continuous compliance: automated control testing, evidence generation, dashboard for auditors"
|
|
60
|
+
weight: 0.30
|
|
61
|
+
description: "Compliance automation"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: serverless-economics
|
|
3
|
+
level: 5
|
|
4
|
+
course: aws-lambda-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Analyze serverless economics — evaluate total cost of ownership, break-even analysis, and financial models for Lambda vs containers vs EC2"
|
|
7
|
+
tags: [AWS, Lambda, economics, TCO, break-even, serverless-vs-containers, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
The CFO requests a comprehensive comparison: "Lambda vs containers
|
|
13
|
+
vs EC2 — which is actually cheaper?" The answer depends on workload
|
|
14
|
+
characteristics.
|
|
15
|
+
|
|
16
|
+
Workload profiles analyzed:
|
|
17
|
+
|
|
18
|
+
Workload A — Spiky API (e-commerce):
|
|
19
|
+
Traffic: 0 at night, 1000 req/s during day, 5000 req/s during sales
|
|
20
|
+
Average duration: 200ms, Memory: 512MB
|
|
21
|
+
|
|
22
|
+
Lambda: ~$12,000/month (pay per invocation, scales to zero)
|
|
23
|
+
ECS Fargate: ~$8,000/month (must keep minimum containers running)
|
|
24
|
+
EC2: ~$5,000/month (cheapest compute but 24/7 running + ops cost)
|
|
25
|
+
+ Ops cost: EC2 needs $15K/month in ops engineering time
|
|
26
|
+
|
|
27
|
+
Total: Lambda $12K, Fargate $8K, EC2 $20K (including ops)
|
|
28
|
+
|
|
29
|
+
Workload B — Steady-state API (SaaS):
|
|
30
|
+
Traffic: constant 500 req/s, 24/7
|
|
31
|
+
Average duration: 500ms, Memory: 1GB
|
|
32
|
+
|
|
33
|
+
Lambda: ~$45,000/month (expensive at constant high volume)
|
|
34
|
+
ECS Fargate: ~$6,000/month (right-sized containers)
|
|
35
|
+
EC2 Reserved: ~$3,000/month (1-year reserved instances)
|
|
36
|
+
+ Ops cost: distributed across many services
|
|
37
|
+
|
|
38
|
+
Total: Lambda $45K, Fargate $6K, EC2 $8K
|
|
39
|
+
|
|
40
|
+
Workload C — Event processing (IoT):
|
|
41
|
+
Volume: 10M events/day, sporadic timing
|
|
42
|
+
Average duration: 50ms, Memory: 256MB
|
|
43
|
+
|
|
44
|
+
Lambda: ~$800/month (low duration, low memory, efficient)
|
|
45
|
+
ECS Fargate: ~$2,500/month (needs containers running for events)
|
|
46
|
+
EC2: ~$1,500/month (over-provisioned for sporadic workload)
|
|
47
|
+
|
|
48
|
+
Task: Analyze serverless economics. Write: the cost model for
|
|
49
|
+
each compute option, break-even analysis (when Lambda becomes
|
|
50
|
+
more expensive), hidden costs (CloudWatch, API Gateway, data
|
|
51
|
+
transfer, engineering time), and strategic decision framework.
|
|
52
|
+
|
|
53
|
+
assertions:
|
|
54
|
+
- type: llm_judge
|
|
55
|
+
criteria: "Cost models are comprehensive — Lambda: per-invocation ($0.20/million) + per-GB-second ($0.0000166667) + API Gateway ($3.50/million REST, $1.00/million HTTP). No cost at zero traffic. ECS Fargate: per-vCPU-hour ($0.04048) + per-GB-hour ($0.004445). Minimum: 1 task always running. EC2: per-hour pricing, reserved instances 30-60% cheaper. Hidden costs: CloudWatch Logs ($0.50/GB), data transfer ($0.09/GB), NAT Gateway ($0.045/GB), VPC endpoints. Lambda break-even: typically at 1-10M invocations/month steady-state, Lambda becomes more expensive than right-sized containers"
|
|
56
|
+
weight: 0.35
|
|
57
|
+
description: "Cost models"
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Break-even and decision factors are covered — Lambda is cheaper when: traffic is spiky (scales to zero), volume is low-medium, functions are short duration (< 1s). Containers are cheaper when: traffic is steady, volume is high, long-running processes. EC2 is cheaper when: compute is constant, can use reserved instances, need specialized hardware (GPU). Decision factors beyond cost: operational complexity (Lambda < Fargate < EC2), time to market (Lambda fastest), team skills, vendor lock-in, compliance requirements. Total cost includes: engineering time (Lambda needs less ops), opportunity cost (faster deployment = faster revenue)"
|
|
60
|
+
weight: 0.35
|
|
61
|
+
description: "Break-even analysis"
|
|
62
|
+
- type: llm_judge
|
|
63
|
+
criteria: "Strategic framework is practical — hybrid approach: Lambda for APIs + event processing + glue, Fargate for steady workloads + long-running jobs, EC2 for specialized compute. Evaluate per-workload, not per-organization. Present to CFO in business terms: cost per transaction, cost per user, infrastructure cost as % of revenue. Compare trends: Lambda getting cheaper (price reductions), containers getting easier (Fargate). Savings Plans: apply to Lambda AND Fargate (17% additional savings). Track and report: monthly cost per service, cost anomaly detection, cost per business metric (cost per order processed)"
|
|
64
|
+
weight: 0.30
|
|
65
|
+
description: "Strategic framework"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: serverless-future-technology
|
|
3
|
+
level: 5
|
|
4
|
+
course: aws-lambda-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Analyze serverless technology evolution — evaluate emerging technologies like WebAssembly runtimes, edge computing, and AI-integrated serverless patterns"
|
|
7
|
+
tags: [AWS, Lambda, future, WebAssembly, edge, AI, evolution, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your company's technology radar review: "What's next for serverless?
|
|
13
|
+
Where should we invest in the next 3-5 years?"
|
|
14
|
+
|
|
15
|
+
Emerging technologies to evaluate:
|
|
16
|
+
|
|
17
|
+
1. Lambda SnapStart Evolution:
|
|
18
|
+
Currently Java 11+ and .NET 8. Expected to expand to more runtimes.
|
|
19
|
+
CRaC (Coordinated Restore at Checkpoint) becoming standard.
|
|
20
|
+
Future: sub-50ms cold starts for all runtimes.
|
|
21
|
+
|
|
22
|
+
2. WebAssembly (Wasm) on Lambda:
|
|
23
|
+
AWS is investing in Wasm runtimes. Potential: near-instant cold
|
|
24
|
+
starts (~1ms), polyglot support (Rust, C++, Go → Wasm), sandboxed
|
|
25
|
+
execution, smaller binaries. Currently experimental but Docker
|
|
26
|
+
already supports Wasm containers.
|
|
27
|
+
|
|
28
|
+
3. AI/ML on Lambda:
|
|
29
|
+
Lambda now supports up to 10GB memory and 6 vCPUs. Inference
|
|
30
|
+
workloads becoming viable. Bedrock integration for managed LLM
|
|
31
|
+
access. Pattern: Lambda → Bedrock API → response (no GPU needed).
|
|
32
|
+
Edge AI: Lambda@Edge for low-latency inference.
|
|
33
|
+
|
|
34
|
+
4. Edge-native serverless:
|
|
35
|
+
CloudFront Functions (sub-millisecond). Lambda@Edge expanding.
|
|
36
|
+
IoT Greengrass for device-level Lambda. Multi-region by default.
|
|
37
|
+
Future: compute at every CDN edge location with state.
|
|
38
|
+
|
|
39
|
+
5. Serverless databases:
|
|
40
|
+
Aurora Serverless v2 (scales to zero), DynamoDB on-demand,
|
|
41
|
+
ElastiCache Serverless. Future: fully serverless data tier
|
|
42
|
+
that scales with Lambda.
|
|
43
|
+
|
|
44
|
+
6. Event-driven architecture maturation:
|
|
45
|
+
EventBridge Pipes (connect sources to targets without Lambda),
|
|
46
|
+
Step Functions Distributed Map (massive parallel processing),
|
|
47
|
+
Lambda response streaming for real-time UX.
|
|
48
|
+
|
|
49
|
+
Task: Evaluate serverless technology evolution. Write: assessment
|
|
50
|
+
of each technology (maturity, use cases), impact on current Lambda
|
|
51
|
+
architecture, migration considerations, timeline predictions, and
|
|
52
|
+
strategic recommendations for technology investment.
|
|
53
|
+
|
|
54
|
+
assertions:
|
|
55
|
+
- type: llm_judge
|
|
56
|
+
criteria: "Technology assessments are balanced — SnapStart/CRaC: production-ready, adopt now for Java/.NET. Wasm: experimental, watch for 2-3 years, pilot for edge/embedded use cases. AI/ML on Lambda: production-ready for inference (Bedrock integration), adopt now. Edge serverless: production-ready (CloudFront Functions), adopt for latency-sensitive features. Serverless databases: production-ready (Aurora Serverless v2, DynamoDB), adopt. Event-driven maturation: production-ready (EventBridge Pipes, Step Functions), adopt to reduce Lambda glue code"
|
|
57
|
+
weight: 0.35
|
|
58
|
+
description: "Technology assessments"
|
|
59
|
+
- type: llm_judge
|
|
60
|
+
criteria: "Strategic impact is explained — key trend: serverless is becoming the default, not the exception. Impact on architecture: fewer Lambda functions needed as services become more capable (EventBridge Pipes eliminates simple Lambda integrations, Step Functions handles more logic without custom code). Lambda's role shifts from 'all compute' to 'custom business logic only.' AI integration: every Lambda function can leverage AI via Bedrock without managing infrastructure. Edge: latency-sensitive logic moves to edge, Lambda handles heavy processing. Serverless databases complete the 'fully serverless stack' vision"
|
|
61
|
+
weight: 0.35
|
|
62
|
+
description: "Strategic impact"
|
|
63
|
+
- type: llm_judge
|
|
64
|
+
criteria: "Investment recommendations are actionable — invest now: AI/ML integration (Bedrock), edge computing (CloudFront Functions), serverless databases (Aurora Serverless v2). Pilot: Wasm runtimes, Lambda response streaming. Watch: serverless containers (Fargate convergence with Lambda), multi-cloud serverless (Google Cloud Run, Azure Container Apps). Don't invest in: building custom serverless platforms (use AWS), multi-cloud abstractions (added complexity, limited benefit). Architecture principle: keep business logic portable, let infrastructure integration be AWS-specific. Re-evaluate every 12 months as the landscape evolves rapidly"
|
|
65
|
+
weight: 0.30
|
|
66
|
+
description: "Investment recommendations"
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: serverless-platform-design
|
|
3
|
+
level: 5
|
|
4
|
+
course: aws-lambda-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Design enterprise serverless platform — build an internal developer platform with self-service Lambda deployment, governance, and operational excellence"
|
|
7
|
+
tags: [AWS, Lambda, platform, IDP, self-service, governance, enterprise, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your organization (500 engineers, 200+ Lambda functions) needs
|
|
13
|
+
an Internal Developer Platform (IDP) for serverless. Currently:
|
|
14
|
+
|
|
15
|
+
- Each team deploys Lambda functions differently (SAM, CDK,
|
|
16
|
+
Serverless Framework, console)
|
|
17
|
+
- No standard for logging, metrics, or error handling
|
|
18
|
+
- Security reviews take 2 weeks per function deployment
|
|
19
|
+
- New developers take 3 weeks to deploy their first function
|
|
20
|
+
- 40% of production incidents stem from misconfiguration
|
|
21
|
+
|
|
22
|
+
Platform requirements:
|
|
23
|
+
|
|
24
|
+
Developer experience: "I want to create and deploy a new Lambda
|
|
25
|
+
function in under 30 minutes with zero infrastructure knowledge."
|
|
26
|
+
|
|
27
|
+
Security team: "Every function must pass security checks
|
|
28
|
+
automatically. No manual reviews needed for standard deployments."
|
|
29
|
+
|
|
30
|
+
Operations: "We need unified observability across all functions,
|
|
31
|
+
automated incident detection, and self-healing capabilities."
|
|
32
|
+
|
|
33
|
+
Finance: "Cost attribution per team, per service, per feature."
|
|
34
|
+
|
|
35
|
+
Proposed platform layers:
|
|
36
|
+
|
|
37
|
+
Layer 1 — Templates and Standards:
|
|
38
|
+
CDK constructs for approved patterns (API + Lambda, SQS + Lambda,
|
|
39
|
+
EventBridge + Lambda). Pre-configured: logging, tracing, error
|
|
40
|
+
handling, security, cost tagging.
|
|
41
|
+
|
|
42
|
+
Layer 2 — CI/CD Pipeline:
|
|
43
|
+
Standardized pipeline: build → test → scan → deploy staging →
|
|
44
|
+
integration test → deploy production (canary). Automatic rollback.
|
|
45
|
+
|
|
46
|
+
Layer 3 — Governance:
|
|
47
|
+
AWS Config rules for compliance, IAM permission boundaries,
|
|
48
|
+
cost alerts per team, deployment policies (no console deployments).
|
|
49
|
+
|
|
50
|
+
Layer 4 — Observability:
|
|
51
|
+
Centralized logging (Powertools), unified dashboards, automated
|
|
52
|
+
alerting, incident detection.
|
|
53
|
+
|
|
54
|
+
Task: Design the serverless platform. Write: template library
|
|
55
|
+
design (CDK constructs), developer onboarding experience, automated
|
|
56
|
+
governance (security, cost, compliance), observability standard,
|
|
57
|
+
platform team structure, and success metrics.
|
|
58
|
+
|
|
59
|
+
assertions:
|
|
60
|
+
- type: llm_judge
|
|
61
|
+
criteria: "Template library is well-designed — CDK construct library: pre-built, opinionated patterns for common Lambda use cases. Each construct includes: Lambda function with Powertools (logging, metrics, tracing), IAM role with least privilege, CloudWatch alarms, X-Ray tracing, cost tags. Patterns: API endpoint (API Gateway + Lambda + DynamoDB), event processor (SQS + Lambda), scheduled task (EventBridge + Lambda), stream processor (Kinesis + Lambda). Templates enforce standards without restricting developers. Escape hatch for non-standard use cases with security review"
|
|
62
|
+
weight: 0.35
|
|
63
|
+
description: "Template library"
|
|
64
|
+
- type: llm_judge
|
|
65
|
+
criteria: "Developer experience and governance are covered — onboarding: developer runs 'create-service' CLI command, selects template, gets deployed service in 30 minutes with full observability. Self-service: no tickets for standard deployments. Governance: IAM permission boundaries (prevent privilege escalation), AWS Config rules (detect non-compliant resources), SCPs (prevent dangerous actions), automated security scanning in CI (no manual review needed for standard patterns). Cost: tagging enforced by CDK constructs, budget alerts per team, cost dashboards in platform portal"
|
|
66
|
+
weight: 0.35
|
|
67
|
+
description: "Developer experience"
|
|
68
|
+
- type: llm_judge
|
|
69
|
+
criteria: "Platform team and metrics are practical — team structure: 4-6 engineers (2 platform/IaC, 1 security, 1 observability, 1-2 developer experience). Platform as a product: treat internal developers as customers, measure NPS, iterate based on feedback. Success metrics: time to first deployment (target: < 1 hour), deployment frequency per team, security findings per deployment (target: 0 for template-based), MTTR (target: < 15 min), developer satisfaction (NPS > 50), platform adoption (% of functions on platform). Cost efficiency: platform team cost / number of functions managed = cost per function decreasing over time"
|
|
70
|
+
weight: 0.30
|
|
71
|
+
description: "Team and metrics"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
id: docker-container-debugging
|
|
2
|
+
name: "Docker Container Debugging"
|
|
3
|
+
description: >
|
|
4
|
+
Master Docker container debugging from basic container inspection to
|
|
5
|
+
enterprise container platform operations. Learn to diagnose build failures,
|
|
6
|
+
runtime crashes, networking issues, storage problems, image optimization,
|
|
7
|
+
multi-stage builds, Docker Compose troubleshooting, security scanning,
|
|
8
|
+
and production container operations at scale.
|
|
9
|
+
levels: 5
|
|
10
|
+
scenarios_per_level: 10
|
|
11
|
+
tags: [development, Docker, containers, debugging, DevOps, troubleshooting, images, networking]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: container-exit-codes
|
|
3
|
+
level: 1
|
|
4
|
+
course: docker-container-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Debug container exit codes — understand what different exit codes mean and how to diagnose why a container stopped"
|
|
7
|
+
tags: [Docker, exit-codes, container-lifecycle, debugging, beginner]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're running several containers and some keep stopping unexpectedly:
|
|
13
|
+
|
|
14
|
+
$ docker ps -a
|
|
15
|
+
CONTAINER ID IMAGE STATUS NAMES
|
|
16
|
+
a1b2c3d4e5f6 myapp:v1.2 Exited (1) 5 minutes ago api-server
|
|
17
|
+
b2c3d4e5f6g7 worker:latest Exited (137) 2 minutes ago background-worker
|
|
18
|
+
c3d4e5f6g7h8 nginx:1.25 Exited (0) 10 minutes ago web-proxy
|
|
19
|
+
d4e5f6g7h8i9 mydb:v3 Exited (139) 1 minute ago database
|
|
20
|
+
|
|
21
|
+
Four containers, four different exit codes:
|
|
22
|
+
- Exit code 0: Completed successfully (normal termination)
|
|
23
|
+
- Exit code 1: General application error
|
|
24
|
+
- Exit code 137: Killed by SIGKILL (128 + 9) — OOM kill or docker kill
|
|
25
|
+
- Exit code 139: Segmentation fault (128 + 11)
|
|
26
|
+
|
|
27
|
+
$ docker logs api-server
|
|
28
|
+
Error: Cannot connect to database at localhost:5432
|
|
29
|
+
Error: Configuration validation failed
|
|
30
|
+
Process exited with code 1
|
|
31
|
+
|
|
32
|
+
$ docker inspect background-worker --format='{{.State.OOMKilled}}'
|
|
33
|
+
true
|
|
34
|
+
|
|
35
|
+
The background-worker was OOM killed — it exceeded its memory limit.
|
|
36
|
+
The api-server had an application error (database connection failure).
|
|
37
|
+
The web-proxy exited cleanly (exit code 0 means success).
|
|
38
|
+
The database had a segfault (exit code 139, likely corrupted data or
|
|
39
|
+
incompatible library).
|
|
40
|
+
|
|
41
|
+
Task: Explain Docker container exit codes. Write: the common exit
|
|
42
|
+
codes and what they mean (0, 1, 126, 127, 137, 139, 143), how to
|
|
43
|
+
investigate why a container stopped (docker logs, docker inspect),
|
|
44
|
+
the difference between SIGKILL (137) and SIGTERM (143), how to check
|
|
45
|
+
if OOM killed, and the container lifecycle states.
|
|
46
|
+
|
|
47
|
+
assertions:
|
|
48
|
+
- type: llm_judge
|
|
49
|
+
criteria: "Common exit codes are explained — 0: success, 1: general error (application crash), 126: command not executable (permission denied), 127: command not found (wrong CMD/ENTRYPOINT), 137: SIGKILL (128+9, OOM kill or docker kill), 139: SIGSEGV segfault (128+11), 143: SIGTERM (128+15, graceful shutdown via docker stop). Codes > 128 indicate the process was killed by a signal (code = 128 + signal number)"
|
|
50
|
+
weight: 0.35
|
|
51
|
+
description: "Exit codes explained"
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "Investigation commands are shown — docker logs <container> for stdout/stderr output, docker inspect <container> for full state including OOMKilled flag and exit code, docker inspect --format='{{.State.ExitCode}}' for just the exit code, docker events for real-time container events. docker inspect also shows StartedAt/FinishedAt timestamps and RestartCount"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Investigation commands"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Container lifecycle states are explained — created (container exists but never started), running (process active), paused (process frozen via cgroups), exited (process terminated, exit code available), dead (failed to remove, needs manual cleanup). docker ps shows running containers, docker ps -a shows all including stopped. SIGTERM vs SIGKILL: docker stop sends SIGTERM, waits grace period (default 10s), then SIGKILL"
|
|
58
|
+
weight: 0.30
|
|
59
|
+
description: "Lifecycle states"
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: container-networking-basics
|
|
3
|
+
level: 1
|
|
4
|
+
course: docker-container-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Debug basic Docker networking — diagnose container-to-container communication failures and DNS resolution issues"
|
|
7
|
+
tags: [Docker, networking, bridge, DNS, container-communication, beginner]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You have two containers that need to communicate but can't reach
|
|
13
|
+
each other:
|
|
14
|
+
|
|
15
|
+
$ docker run -d --name database postgres:16
|
|
16
|
+
$ docker run -d --name api -e DATABASE_HOST=database myapp:v1
|
|
17
|
+
|
|
18
|
+
$ docker logs api
|
|
19
|
+
Error: getaddrinfo ENOTFOUND database
|
|
20
|
+
Error: Cannot resolve hostname 'database'
|
|
21
|
+
|
|
22
|
+
The api container can't resolve the hostname "database". Why?
|
|
23
|
+
|
|
24
|
+
$ docker network ls
|
|
25
|
+
NETWORK ID NAME DRIVER SCOPE
|
|
26
|
+
abc123def456 bridge bridge local
|
|
27
|
+
...
|
|
28
|
+
|
|
29
|
+
Both containers are on the default bridge network, but the default
|
|
30
|
+
bridge network does NOT support automatic DNS resolution. Container
|
|
31
|
+
names can't be used as hostnames on the default bridge.
|
|
32
|
+
|
|
33
|
+
Fix: Create a custom network:
|
|
34
|
+
$ docker network create myapp-network
|
|
35
|
+
$ docker run -d --name database --network myapp-network postgres:16
|
|
36
|
+
$ docker run -d --name api --network myapp-network -e DATABASE_HOST=database myapp:v1
|
|
37
|
+
|
|
38
|
+
$ docker logs api
|
|
39
|
+
Connected to database at database:5432
|
|
40
|
+
|
|
41
|
+
Custom bridge networks provide:
|
|
42
|
+
- Automatic DNS resolution (container names as hostnames)
|
|
43
|
+
- Network isolation (containers on different networks can't communicate)
|
|
44
|
+
- Better security than the default bridge
|
|
45
|
+
|
|
46
|
+
Additional test:
|
|
47
|
+
$ docker exec api ping database
|
|
48
|
+
PING database (172.18.0.2): 56 data bytes
|
|
49
|
+
64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.089 ms
|
|
50
|
+
|
|
51
|
+
Task: Explain Docker networking basics. Write: the network drivers
|
|
52
|
+
(bridge, host, none, overlay), why the default bridge doesn't support
|
|
53
|
+
DNS, how custom networks enable service discovery, how to connect
|
|
54
|
+
containers across networks, common networking mistakes, and how to
|
|
55
|
+
inspect network configuration.
|
|
56
|
+
|
|
57
|
+
assertions:
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Docker network drivers are explained — bridge (default, isolated network on single host), host (shares host network namespace, no isolation), none (no networking), overlay (multi-host networking for Swarm). Default bridge does NOT support automatic DNS resolution between containers — only custom bridge networks do. This is the most common networking mistake for beginners"
|
|
60
|
+
weight: 0.35
|
|
61
|
+
description: "Network drivers"
|
|
62
|
+
- type: llm_judge
|
|
63
|
+
criteria: "DNS and service discovery are covered — on custom bridge networks, Docker runs an embedded DNS server (127.0.0.11). Containers can resolve each other by name. Network aliases (--network-alias) provide additional DNS names. Containers on different networks are isolated by default. Use docker network connect to add a container to a second network for cross-network communication"
|
|
64
|
+
weight: 0.35
|
|
65
|
+
description: "DNS and discovery"
|
|
66
|
+
- type: llm_judge
|
|
67
|
+
criteria: "Debugging and inspection are practical — docker network inspect <network> shows connected containers and their IPs, docker exec <container> ping <target> tests connectivity, docker exec <container> nslookup <hostname> tests DNS. Common mistakes: using default bridge (no DNS), hardcoding IPs (change on restart), forgetting to put containers on the same network, port conflicts when using host network"
|
|
68
|
+
weight: 0.30
|
|
69
|
+
description: "Debugging and inspection"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: docker-logs-debugging
|
|
3
|
+
level: 1
|
|
4
|
+
course: docker-container-debugging
|
|
5
|
+
type: output
|
|
6
|
+
description: "Debug with Docker logs — learn to use docker logs, docker inspect, and docker exec for systematic container troubleshooting"
|
|
7
|
+
tags: [Docker, logs, inspect, exec, debugging-commands, beginner]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your containerized web application is running but returning 500
|
|
13
|
+
errors. You need to figure out what's wrong.
|
|
14
|
+
|
|
15
|
+
$ docker ps
|
|
16
|
+
CONTAINER ID IMAGE STATUS PORTS NAMES
|
|
17
|
+
a1b2c3d4e5f6 webapp:v2.1 Up 3 minutes 0.0.0.0:8080->3000/tcp api
|
|
18
|
+
|
|
19
|
+
$ curl http://localhost:8080/health
|
|
20
|
+
{"status":"error","message":"database connection failed"}
|
|
21
|
+
|
|
22
|
+
Step 1 — Check logs:
|
|
23
|
+
$ docker logs api
|
|
24
|
+
[2025-12-01T10:00:00] Starting server on port 3000
|
|
25
|
+
[2025-12-01T10:00:01] Error: connect ECONNREFUSED 172.17.0.5:5432
|
|
26
|
+
[2025-12-01T10:00:02] Retrying database connection (1/5)...
|
|
27
|
+
[2025-12-01T10:00:03] Error: connect ECONNREFUSED 172.17.0.5:5432
|
|
28
|
+
[2025-12-01T10:00:08] All retry attempts failed. Running in degraded mode.
|
|
29
|
+
|
|
30
|
+
Step 2 — Inspect the container:
|
|
31
|
+
$ docker inspect api --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
|
|
32
|
+
172.17.0.3
|
|
33
|
+
|
|
34
|
+
$ docker inspect api --format='{{json .Config.Env}}' | jq
|
|
35
|
+
["DATABASE_URL=postgres://user:pass@172.17.0.5:5432/mydb", "NODE_ENV=production"]
|
|
36
|
+
|
|
37
|
+
The DATABASE_URL points to 172.17.0.5 but is that IP still valid?
|
|
38
|
+
|
|
39
|
+
Step 3 — Exec into the container:
|
|
40
|
+
$ docker exec -it api sh
|
|
41
|
+
/app $ ping 172.17.0.5
|
|
42
|
+
PING 172.17.0.5: 56 data bytes
|
|
43
|
+
--- 172.17.0.5 ping statistics ---
|
|
44
|
+
3 packets transmitted, 0 received, 100% packet loss
|
|
45
|
+
|
|
46
|
+
The database container IP changed (it was restarted and got a new IP).
|
|
47
|
+
The hardcoded IP in DATABASE_URL is stale.
|
|
48
|
+
|
|
49
|
+
Task: Explain the Docker debugging toolkit. Write: how to use docker
|
|
50
|
+
logs (with --follow, --since, --tail), docker inspect for container
|
|
51
|
+
metadata, docker exec for interactive debugging, docker stats for
|
|
52
|
+
resource monitoring, docker events for real-time lifecycle events,
|
|
53
|
+
and the systematic approach to diagnosing container issues.
|
|
54
|
+
|
|
55
|
+
assertions:
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Docker logs usage is comprehensive — docker logs <container> shows stdout/stderr, --follow (-f) streams in real-time, --since '10m' shows last 10 minutes, --tail 100 shows last 100 lines, --timestamps adds timestamps. For containers that write logs to files instead of stdout, logs command shows nothing — must exec into container or mount log volume"
|
|
58
|
+
weight: 0.35
|
|
59
|
+
description: "Docker logs"
|
|
60
|
+
- type: llm_judge
|
|
61
|
+
criteria: "Docker inspect and exec are explained — docker inspect returns full JSON metadata (network settings, env vars, mounts, state, config). Use --format with Go templates to extract specific fields. docker exec -it <container> sh opens interactive shell for debugging (check files, environment, network). docker exec can also run one-off commands: docker exec api env, docker exec api cat /etc/hosts"
|
|
62
|
+
weight: 0.35
|
|
63
|
+
description: "Inspect and exec"
|
|
64
|
+
- type: llm_judge
|
|
65
|
+
criteria: "Systematic debugging approach is shown — (1) docker ps to check container status, (2) docker logs for application errors, (3) docker inspect for configuration and network info, (4) docker exec to investigate inside the container, (5) docker stats for resource usage. The IP issue demonstrates why you should use container names or Docker DNS instead of hardcoded IPs. Use Docker networks for reliable service discovery"
|
|
66
|
+
weight: 0.30
|
|
67
|
+
description: "Systematic approach"
|