[{"data":1,"prerenderedAt":350},["ShallowReactive",2],{"reinvent2025-cns403":3},{"id":4,"title":5,"YouTubeChannelID":6,"banner":6,"contributors":7,"description":6,"extension":9,"introBox":10,"meta":13,"pdf":14,"resources":17,"stem":348,"type":6,"video":6,"videos":6,"__hash__":349},"reinvent2025\u002Freinvent2025\u002Fcns403.json","CNS403: Best Practices for Serverless Developers",null,[8],"content\u002Fcontributors\u002Fjulian-wood.json","json",{"headline":11,"text":12},"Resources for CNS403: Best practices for serverless developers","Learn how to build production-ready serverless applications through the journey of Patisserie Amélie. This session covers function sizing, async patterns, performance optimization, failure handling, observability, cost optimization, and AI integration with practical, real-world examples.",{},{"source":15,"headline":16},"https:\u002F\u002Fserverlessland.s3.amazonaws.com\u002Fpdf\u002Freinvent2025\u002FCNS403.pdf","Slides from the presentation",{"left":18,"right":167},[19,39,68,103,135],{"headline":20,"subheading":21,"text":22,"bullets":23},"Function Sizing and Code Organization","Right-sizing Lambda functions","Learn how to properly size Lambda functions and organize serverless applications for optimal performance and cost.",[24,27,30,33,36],{"text":25,"link":26},"Lambda Best Practices","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fbest-practices.html",{"text":28,"link":29},"Lambda Power Tuning Tool","https:\u002F\u002Fgithub.com\u002Falexcasalboni\u002Faws-lambda-power-tuning",{"text":31,"link":32},"AWS SAM (Serverless Application Model)","https:\u002F\u002Faws.amazon.com\u002Fserverless\u002Fsam\u002F",{"text":34,"link":35},"AWS CDK (Cloud Development Kit)","https:\u002F\u002Faws.amazon.com\u002Fcdk\u002F",{"text":37,"link":38},"The Complete AWS SAM Workshop","https:\u002F\u002Fs12d.com\u002Fsam-workshop\u002F",{"headline":40,"subheading":41,"text":42,"bullets":43},"Async Over Sync","Event-driven architecture patterns","Build resilient, scalable systems with EventBridge, SQS, and Kinesis for asynchronous processing.",[44,47,50,53,56,59,62,65],{"text":45,"link":46},"Amazon EventBridge User Guide","https:\u002F\u002Fdocs.aws.amazon.com\u002Feventbridge\u002Flatest\u002Fuserguide\u002F",{"text":48,"link":49},"EventBridge Patterns on Serverless Land","https:\u002F\u002Fserverlessland.com\u002Fpatterns?services=eventbridge",{"text":51,"link":52},"Lambda Event Source Mappings","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Finvocation-eventsourcemapping.html",{"text":54,"link":55},"SQS Best Practices","https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSSimpleQueueService\u002Flatest\u002FSQSDeveloperGuide\u002Fsqs-best-practices.html",{"text":57,"link":58},"Amazon SQS and Lambda Best Practices","https:\u002F\u002Fs12d.com\u002FSQS-Lambda-Best-Practices",{"text":60,"link":61},"Building Event-Driven Architectures on AWS","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-event-driven-architectures-on-aws\u002F",{"text":63,"link":64},"What are Event Driven Architectures?","https:\u002F\u002Fs12d.com\u002Feda",{"text":66,"link":67},"EventBridge 94% latency improvement announcement","https:\u002F\u002Faws.amazon.com\u002Fabout-aws\u002Fwhats-new\u002F2024\u002F11\u002Famazon-eventbridge-improvement-latency-event-buses\u002F",{"headline":69,"subheading":70,"text":71,"bullets":72},"Avoiding Work","Direct service integrations","Eliminate unnecessary Lambda functions using Step Functions direct integrations, API Gateway direct integrations, and EventBridge Pipes.",[73,76,79,82,85,88,91,94,97,100],{"text":74,"link":75},"Step Functions Developer Guide","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002F",{"text":77,"link":78},"Step Functions 200+ AWS Service Integrations","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002Fsupported-services-awssdk.html",{"text":80,"link":81},"Step Functions Supports 200 AWS Services","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fnow-aws-step-functions-supports-200-aws-services-to-enable-easier-workflow-automation\u002F",{"text":83,"link":84},"JSONata in Step Functions","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002Ftransforming-data.html",{"text":86,"link":87},"API Gateway Direct Integrations","https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fgetting-started-aws-proxy.html",{"text":89,"link":90},"Amazon EventBridge Pipes","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fnew-create-point-to-point-integrations-between-event-producers-and-consumers-with-amazon-eventbridge-pipes\u002F",{"text":92,"link":93},"Step Functions Best Practices","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002Fsfn-best-practices.html",{"text":95,"link":96},"Building Cost-Effective Step Functions Workflows","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-cost-effective-aws-step-functions-workflows\u002F",{"text":98,"link":99},"Serverless Workflows Collection","https:\u002F\u002Fs12d.com\u002Fworkflows",{"text":101,"link":102},"Choreography and Orchestration","https:\u002F\u002Fserverlessland.com\u002Fevent-driven-architecture\u002Fchoreography-and-orchestration",{"headline":104,"subheading":105,"text":106,"bullets":107},"Performance Optimization","Cold starts and memory tuning","Optimize Lambda performance with SnapStart, Provisioned Concurrency, memory tuning, and parallelization strategies.",[108,111,114,116,119,120,123,126,129,132],{"text":109,"link":110},"Lambda Performance Optimization Series","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Foperating-lambda-performance-optimization-part-1\u002F",{"text":112,"link":113},"Lambda SnapStart Documentation","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fsnapstart.html",{"text":115,"link":113},"Improving Startup Performance with SnapStart",{"text":117,"link":118},"Provisioned Concurrency","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fprovisioned-concurrency.html",{"text":28,"link":29},{"text":121,"link":122},"Lambda Powertuning Guide","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fprofile-functions.html",{"text":124,"link":125},"Lambda Parallelization for Batched Data","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fefficiently-processing-batched-data-using-parallelization-in-aws-lambda\u002F",{"text":127,"link":128},"Understanding Lambda Scaling and Throughput","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Funderstanding-aws-lambda-scaling-and-throughput\u002F",{"text":130,"link":131},"Lambda Execution Environment Lifecycle","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Flambda-runtime-environment.html",{"text":133,"link":134},"AWS Compute Optimizer","https:\u002F\u002Faws.amazon.com\u002Fcompute-optimizer\u002F",{"headline":136,"subheading":137,"text":138,"bullets":139},"Failure Handling","Retries, DLQs, and circuit breakers","Build resilient systems with proper error handling, idempotency, and failure recovery patterns.",[140,143,146,149,152,155,158,161,164],{"text":141,"link":142},"Lambda Error Handling and Retries","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Finvocation-retries.html",{"text":144,"link":145},"Lambda Destinations","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Finvocation-async.html#invocation-async-destinations",{"text":147,"link":148},"Lambda Idempotency with Powertools","https:\u002F\u002Fdocs.powertools.aws.dev\u002Flambda\u002Fpython\u002Flatest\u002Futilities\u002Fidempotency\u002F",{"text":150,"link":151},"Idempotency Deep Dive","https:\u002F\u002Fwww.ranthebuilder.cloud\u002Fpost\u002Fserverless-api-idempotency-with-aws-lambda-powertools-and-cdk",{"text":153,"link":154},"SQS Dead Letter Queues","https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSSimpleQueueService\u002Flatest\u002FSQSDeveloperGuide\u002Fsqs-dead-letter-queues.html",{"text":156,"link":157},"Step Functions Error Handling","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002Fconcepts-error-handling.html",{"text":159,"link":160},"Timeouts, Retries, and Backoff with Jitter","https:\u002F\u002Faws.amazon.com\u002Fbuilders-library\u002Ftimeouts-retries-and-backoff-with-jitter\u002F",{"text":162,"link":163},"Error Handling Deep Dive","https:\u002F\u002Fs12d.com\u002FreInvent2020-Error-Handling",{"text":165,"link":166},"AWS SDK Retry Behavior","https:\u002F\u002Fs12d.com\u002Faccelerate\u002F",[168,206,229,258,287,331],{"headline":169,"subheading":170,"text":171,"bullets":172},"Observability","Logs, metrics, and traces","Gain complete visibility into serverless applications with structured logging, Application Signals, and distributed tracing.",[173,176,179,182,185,188,191,194,197,200,203],{"text":174,"link":175},"Powertools for AWS Lambda","https:\u002F\u002Fdocs.powertools.aws.dev\u002Flambda\u002F",{"text":177,"link":178},"AWS Lambda Powertools GitHub","https:\u002F\u002Fgithub.com\u002Faws-powertools\u002F",{"text":180,"link":181},"CloudWatch Application Signals","https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Fmonitoring\u002FCloudWatch-Application-Signals.html",{"text":183,"link":184},"CloudWatch Embedded Metrics Format","https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Fmonitoring\u002FCloudWatch_Embedded_Metric_Format.html",{"text":186,"link":187},"Amazon CloudWatch EMF Client","https:\u002F\u002Fs12d.com\u002Fcwl-emf-client",{"text":189,"link":190},"AWS X-Ray Developer Guide","https:\u002F\u002Fdocs.aws.amazon.com\u002Fxray\u002Flatest\u002Fdevguide\u002F",{"text":192,"link":193},"CloudWatch Logs Insights","https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Flogs\u002FAnalyzingLogData.html",{"text":195,"link":196},"OpenTelemetry for Lambda","https:\u002F\u002Faws-otel.github.io\u002Fdocs\u002Fgetting-started\u002Flambda",{"text":198,"link":199},"CloudWatch Dashboard Building Guide","https:\u002F\u002Fwww.ranthebuilder.cloud\u002Fpost\u002Fhow-to-effortlessly-monitor-serverless-applications-with-cloudwatch-part-one",{"text":201,"link":202},"Serverless Observability Learning Path","https:\u002F\u002Fs12d.com\u002Fmastering-observability",{"text":204,"link":205},"One Observability Workshop","https:\u002F\u002Fs12d.com\u002Fobservability-workshop",{"headline":207,"subheading":208,"text":209,"bullets":210},"Architecture Equals Cost","Cost optimization strategies","Optimize serverless costs through right-sizing, event filtering, log management, and Compute Savings Plans.",[211,214,217,220,223,226],{"text":212,"link":213},"Lambda Pricing","https:\u002F\u002Faws.amazon.com\u002Flambda\u002Fpricing\u002F",{"text":215,"link":216},"Step Functions Pricing","https:\u002F\u002Faws.amazon.com\u002Fstep-functions\u002Fpricing\u002F",{"text":218,"link":219},"Compute Savings Plans","https:\u002F\u002Faws.amazon.com\u002Fsavingsplans\u002Fcompute-pricing\u002F",{"text":221,"link":222},"Lambda Cost Optimization Series","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Foptimizing-your-aws-lambda-costs-part-1\u002F",{"text":224,"link":225},"CloudWatch Pricing","https:\u002F\u002Faws.amazon.com\u002Fcloudwatch\u002Fpricing\u002F",{"text":227,"link":228},"AWS Cost Explorer","https:\u002F\u002Faws.amazon.com\u002Faws-cost-management\u002Faws-cost-explorer\u002F",{"headline":230,"subheading":231,"text":232,"bullets":233},"Agentic Serverless","AI integration patterns","Build AI-powered serverless applications with Amazon Bedrock, AgentCore, and the Strands SDK.",[234,237,240,243,246,249,252,255],{"text":235,"link":236},"Amazon Bedrock User Guide","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002F",{"text":238,"link":239},"Bedrock Agents","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fagents.html",{"text":241,"link":242},"Strands SDK (Open Source)","https:\u002F\u002Fgithub.com\u002Faws\u002Fstrands-sdk",{"text":244,"link":245},"Building Serverless AI Applications with Bedrock","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-serverless-applications-with-amazon-bedrock\u002F",{"text":247,"link":248},"Amazon Q Business","https:\u002F\u002Faws.amazon.com\u002Fq\u002Fbusiness\u002F",{"text":250,"link":251},"Bedrock Knowledge Bases","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fknowledge-base.html",{"text":253,"link":254},"GenAI Tool Use (Function Calling)","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dzW3-Mol1yo",{"text":256,"link":257},"Serverless & Event-driven Patterns for GenAI","https:\u002F\u002Fcommunity.aws\u002Fcontent\u002F2iC2EhYSGCa4wvfXh8jOscmkeGk\u002Fusing-function-calling-in-private-aviation",{"headline":259,"subheading":260,"text":261,"bullets":262},"General Serverless Resources","Community and learning","Essential resources for continuing your serverless journey.",[263,266,269,272,275,278,281,284],{"text":264,"link":265},"Serverless Land","https:\u002F\u002Fserverlessland.com\u002F",{"text":267,"link":268},"Serverless Land Patterns","https:\u002F\u002Fserverlessland.com\u002Fpatterns",{"text":270,"link":271},"AWS Serverless Heroes","https:\u002F\u002Faws.amazon.com\u002Fdeveloper\u002Fcommunity\u002Fheroes\u002Fserverless\u002F",{"text":273,"link":274},"AWS Compute Blog","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002F",{"text":276,"link":277},"AWS Well-Architected Serverless Lens","https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Fserverless-applications-lens\u002F",{"text":279,"link":280},"AWS Workshops","https:\u002F\u002Fworkshops.aws\u002F",{"text":282,"link":283},"LocalStack (Local Development)","https:\u002F\u002Flocalstack.cloud\u002F",{"text":285,"link":286},"10 Years of Serverless with AWS Lambda","https:\u002F\u002Faws.amazon.com\u002Fserverless\u002F10th-anniversary\u002F",{"headline":288,"subheading":289,"text":290,"bullets":291},"Development Tools and Blueprints","Accelerate development","Tools and templates to speed up serverless development.",[292,295,298,301,304,307,310,313,316,319,322,325,328],{"text":293,"link":294},"AWS SAM IAM Policy Templates","https:\u002F\u002Fs12d.com\u002Fsam-policies\u002F",{"text":296,"link":297},"AWS SAM Serverless Connectors","https:\u002F\u002Fs12d.com\u002Fserverless-connectors",{"text":299,"link":300},"AWS SAM Local Support for Terraform","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbetter-together-aws-sam-cli-and-hashicorp-terraform\u002F",{"text":302,"link":303},"Serverless Terraform","https:\u002F\u002Fserverless.tf",{"text":305,"link":306},"Collection of Serverless Blueprints","https:\u002F\u002Fgithub.com\u002Fran-isenberg\u002Fawesome-serverless-blueprints",{"text":308,"link":309},"Serverless Service Backend Blueprint","https:\u002F\u002Fgithub.com\u002Fran-isenberg\u002Faws-lambda-handler-cookbook",{"text":311,"link":312},"SQS->Lambda->S3 Complete Repository","https:\u002F\u002Fgithub.com\u002Fran-isenberg\u002Fstreamlining-serverless-governance-aws-blog",{"text":314,"link":315},"Streamlining Serverless Governance","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Farchitecture\u002Fhow-cyberark-is-streamlining-serverless-governance-by-codifying-architectural-blueprints\u002F",{"text":317,"link":318},"Best Practices for Serverless Blueprints","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Finfrastructure-and-automation\u002Fbest-practices-for-accelerating-development-with-serverless-blueprints\u002F",{"text":320,"link":321},"Open Constructs","https:\u002F\u002Fgithub.com\u002Fopen-constructs\u002Faws-cdk-library",{"text":323,"link":324},"Hexagonal Architecture with Lambda","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fdeveloping-evolutionary-architecture-with-aws-lambda\u002F",{"text":326,"link":327},"AWS SDK for JavaScript v3","https:\u002F\u002Fs12d.com\u002Fjssdkv3",{"text":329,"link":330},"Using IAM Access Analyzer","https:\u002F\u002Fdocs.aws.amazon.com\u002FIAM\u002Flatest\u002FUserGuide\u002Fwhat-is-access-analyzer.html",{"headline":332,"subheading":333,"text":334,"bullets":335},"Previous re:Invent Sessions","Related talks","Previous serverless best practices sessions with additional insights.",[336,339,342,345],{"text":337,"link":338},"Best Practices for Serverless Developers (re:Invent 2024)","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=5wokwEtddtc",{"text":340,"link":341},"Best Practices for Serverless Developers (re:Invent 2023)","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=sdCA0Y7QDrM",{"text":343,"link":344},"Best Practices for Advanced Serverless Developers (re:Invent 2022)","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=PiQ_eZFO2GU",{"text":346,"link":347},"Best Practices of Advanced Serverless Developers (re:Invent 2021)","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dnFm6MlPnco","reinvent2025\u002Fcns403","eR7hjzqVhzwFBhnVo1qoAM7fjFfoKw2hqvWpuXqpcsE",1792578931574]