You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Lambda Layers Standard Operating Procedures (SOP)
2
+
3
+
## Overview
4
+
5
+
This document defines the standard operating procedures for managing Strands Agents Lambda layers across all AWS regions, Python versions, and architectures.
6
+
7
+
**Total: 136 individual Lambda layers** (17 regions × 2 architectures × 4 Python versions). All variants must maintain the same layer version number for each PyPI package version, with only one row per PyPI version appearing in documentation.
8
+
9
+
## Deployment Process
10
+
11
+
### 1. Initial Deployment
12
+
1. Run workflow with ALL options selected (default)
13
+
2. Specify PyPI package version
14
+
3. Type "Create Lambda Layer {package_version}" to confirm
15
+
4. All 136 individual layers deploy in parallel (4 Python × 2 arch × 17 regions)
16
+
5. Each layer gets its own unique name: `strands-agents-py{PYTHON_VERSION}-{ARCH}`
17
+
18
+
### 2. Version Buffering for New Variants
19
+
When adding new variants (new Python version, architecture, or region):
20
+
21
+
1.**Determine target layer version**: Check existing variants to find the highest layer version
22
+
2.**Buffer deployment**: Deploy new variants multiple times until layer version matches existing variants
23
+
3.**Example**: If existing variants are at layer version 5, deploy new variant 5 times to reach version 5
24
+
25
+
### 3. Handling Transient Failures
26
+
When some regions fail during deployment:
27
+
28
+
1.**Identify failed regions**: Check which combinations didn't complete successfully
29
+
2.**Targeted redeployment**: Use specific region/arch/Python inputs to redeploy failed combinations
30
+
3.**Version alignment**: Continue deploying until all variants reach the same layer version
31
+
4.**Verification**: Confirm all combinations have identical layer versions before updating docs
32
+
33
+
## Yank Process
34
+
35
+
### Yank Procedure
36
+
1. Use the `yank_lambda_layer` GitHub action workflow
37
+
2. Specify the layer version to yank
38
+
3. Type "Yank Lambda Layer {layer_version}" to confirm
39
+
4.**Full yank**: Run with ALL options selected (default) to yank all 136 variants OR **Partial yank**: Specify Python versions, architectures, and regions for targeted yanking
40
+
6. Update documentation
41
+
7.**Communication**: Notify users through appropriate channels
42
+
43
+
**Note**: Yanking deletes layer versions completely. Existing Lambda functions using the layer continue to work, but new functions cannot use the yanked version.
0 commit comments