Error HandlingClasses of ErrorThe Various Behaviors of Lambda Error ProcessingDeep Dive into Asynchronous Event Source ErrorsHandling Kinesis and DynamoDB Stream ErrorsTracing Errors with X-RayError Handling StrategiesScalingObserving Lambda ScalingScaling Limits and ThrottlingThread SafetyVertical ScalingVersions and Aliases, Traffic ShiftingLambda VersionsLambda AliasesTraffic ShiftingWhen (Not) to Use Versions and AliasesCold StartsWhat Is a Cold Start?When Does a Cold Start Occur?Identifying Cold StartsImpact of Cold StartsMitigating Cold StartsProvisioned ConcurrencyCold Start SummaryStatePersistent Application StateCachingLambda and Java Application FrameworksVirtual Private CloudsArchitectural Concerns of Using Lambda with a VPCsConfiguring Lambda to Use a VPCAlternativesLayers and RuntimesWhat Are Layers?When to Use, and Not Use, LayersCustom RuntimesSummaryExercises