159 episodes
- What if you could make your AWS containers start up to 10× faster, without changing your application code?
In this episode of AWS Bites, we explore practical ways to speed up container startup on AWS, from smaller Docker images and multi-stage builds to smarter compression with gzip and zstd. We discuss the trade-offs between download size and decompression speed, and why optimizing container images is still the best place to start.
Then we dive into SOCI (Seekable OCI), an AWS-developed open-source technology that enables lazy loading of container images. Instead of waiting for every image layer to download and unpack, SOCI lets containers start sooner and fetch the files they need on demand. We explain how this works under the hood, including containerd snapshotters, FUSE, zTOCs, compressed spans, and HTTP Range requests. We also explore SOCI support across ECS Fargate, SageMaker, EKS, and ECS on EC2.
We share the results of our own open-source benchmark covering 44 configurations and 1,320 ECS task executions. We compare small and large container images, gzip versus zstd, SOCI versus traditional image pulling, ARM64 versus x86-64, and Fargate versus EC2 running Amazon Linux 2023 or Bottlerocket. In some cases, SOCI delivered up to 10× faster container startup for large images on Fargate!
Finally, we explain how to create and publish SOCI indexes, explore the tools involved, and discuss when these optimizations are worth adopting. Most importantly, we explain why time to useful work matters more than container startup time alone.
Resources mentioned
Container startup benchmark: source code and interactive results
The hidden design compromises of Docker layers
Building x86 Rust containers from Apple Silicon
AWS deep dive: Lazy loading container images with SOCI
SOCI Snapshotter on GitHub
AWS SageMaker SOCI documentation
ECS roadmap: SOCI snapshotter support
ECS roadmap: containerd support
Sponsor
Thanks to fourTheorem for powering AWS Bites. We help teams build cloud systems that are simple, scalable, and cost effective. Visit fourtheorem.com.
Chapters
00:00 Introduction: How to make containers start faster on AWS
01:20 Why container startup speed matters: scaling, deployments, and latency
03:17 Docker image optimization: smaller images, multi-stage builds, and caching
05:33 gzip vs zstd: Compression trade-offs and faster image pulls
08:31 Introducing SOCI (Seekable OCI) and lazy loading
09:17 Traditional container startup: Why downloading every layer is slow
10:40 How SOCI works: Snapshotters, FUSE, and on-demand file loading
15:25 SOCI support on AWS: Fargate, SageMaker, EKS, and ECS on EC2
16:55 SOCI internals: Container layers, zTOCs, gzip spans, and HTTP Range requests
21:54 Our benchmark methodology: 44 configurations and 1,320 ECS tasks
24:48 Benchmark results: gzip vs zstd and up to 10× faster startup with SOCI
26:56 Fargate vs EC2, Bottlerocket vs Amazon Linux, and ARM64 vs x86
28:30 Getting started with SOCI: Index generation, ECR, and OCI tools
31:38 Key takeaways: When to use zstd, when to use SOCI, and what to measure
33:39 Listener questions, fourTheorem sponsor, and closing
Send us your AWS questions
Do you have any AWS questions you would like us to address? Leave a comment here or connect with us on X/Twitter, Bluesky, or LinkedIn:
Eóin: Bluesky | LinkedIn
Luciano: X/Twitter | Bluesky | LinkedIn - We take a deep dive into Amazon S3 Files, AWS's exciting new managed file system backed by S3!
We kick things off by exploring why S3 isn't a traditional file system, covering everything from the lack of true directories and atomic renames to immutable objects and POSIX access control differences. We then walk through the existing solutions people have used to bridge that gap, like S3FS FUSE, MountPoint for S3, FSx for Lustre, and Storage Gateway.
From there, we get into the heart of the episode: how S3 Files works, how to set it up, and how it uses EFS under the hood as a caching layer. We share our own real-world benchmarking results comparing S3 Files against various EFS configurations across Lambda and Fargate, and we discuss a real customer project where we put S3 Files to the test.
We also cover the important caveats like eventual consistency, the 60-second write-back delay, the lack of cross-account bucket support, and the cost model so you can make an informed decision.
Resources mentioned
Episode 124: S3 Performance
Episode 95: Mounting S3 as a Filesystem
Amazon S3 FAQs: S3 Files
fourTheorem S3 Files demo code on GitHub
Amazon documentation: Understanding how synchronization works
Sponsor
Thanks to fourTheorem for powering AWS Bites. We help teams build cloud systems that are simple, scalable, and cost effective. Visit fourtheorem.com.
Chapters
00:00 Introduction: Why S3 is amazing but not a file system, and what S3 Files promises to solve
01:47 Why S3 is not a file system: no true directories, immutable objects, no atomic renames, expensive listings, and POSIX differences
05:23 Existing solutions for mounting S3 as a file system: S3FS FUSE, Python fsspec, Hadoop S3A, MountPoint, FSx for Lustre, File Cache, and Storage Gateway
07:16 How S3 Files works: NFS-based access, EFS caching layer, streaming from S3, and supported compute services like EC2, ECS, EKS, and Lambda
09:49 Setting up S3 Files: buckets, file system resources, import and expiration rules, mount targets, access points, VPC requirements, and NFS port configuration
13:42 S3 Files performance numbers from AWS documentation: throughput, IOPS, latency figures, and why real-world benchmarking is recommended
15:39 Benchmarking S3 Files vs EFS configurations on Lambda and Fargate: small and large file reads and writes, memory/CPU impact, and key findings
19:48 Downsides and limitations: NFS only, no hard links, no atomic renames, eventual consistency, the 60-second write-back delay, and large-scale rename performance warnings
23:05 Real-world project experience: a SaaS multi-tenant architecture, cross-account bucket limitation discovered, and how the team worked around it
27:52 Cost breakdown: EFS-equivalent cache pricing, S3 storage costs, reads from cache vs. S3 directly, and how S3 access tiers still apply
29:50 Final recap and take: when S3 Files shines, when to be cautious, mixed access pattern warnings, and an invitation to share your own experiences
33:42 Closing
Send us your AWS questions
Do you have any AWS questions you would like us to address? Leave a comment here or connect with us on X/Twitter, Bluesky, or LinkedIn:
Eóin: Bluesky | LinkedIn
Luciano: X/Twitter | Bluesky | LinkedIn - If you’re curious about building with LLMs, but you want to skip the hype and learn what it takes to ship something reliable in production, this episode is for you.We share our real-world experience building AI-powered apps and the gotchas you hit after the demo: tokens and cost, quotas and throttling, IAM and access friction, marketplace subscriptions, and structured outputs that do not break your JSON parser.We focus on Amazon Bedrock as AWS’s managed inference layer: how to get started with the current access model, how to choose models, how pricing works, and what to watch for in production.We also go deep on structured outputs: constrained decoding, schema design that improves output quality, and how to avoid “grammar compilation timed out”.
In this episode, we mentioned the following resources:
fourTheorem: Bedrock structured outputs guide https://fourtheorem.com/amazon-bedrock-structured-outputs/
Amazon Bedrock https://aws.amazon.com/bedrock/
Bedrock docs https://docs.aws.amazon.com/bedrock/latest/userguide/
Bedrock pricing https://aws.amazon.com/bedrock/pricing/
Structured outputs https://docs.aws.amazon.com/bedrock/latest/userguide/structured-outputs.html
Cross-region inference https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html
Quotas https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html
Throttling help https://repost.aws/knowledge-center/bedrock-throttling-error
Prompt caching https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html
Troubleshooting error codes https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html
Do you have any AWS questions you would like us to address?
Leave a comment here or connect with us on X/Twitter, BlueSky or LinkedIn:
- https://twitter.com/eoins | https://bsky.app/profile/eoin.sh | https://www.linkedin.com/in/eoins/
- https://twitter.com/loige | https://bsky.app/profile/loige.co | https://www.linkedin.com/in/lucianomammino/ - AWS Lambda is fantastic for small, stateless code on demand. But when your “function” starts looking like a workflow (retries, backoff, long waits, human approvals, callbacks), classic Lambda patterns can feel like a fight: 15-minute max runtime, no built-in state, and orchestration glue everywhere (Step Functions, queues, schedules, and state you did not want to own). In this episode of AWS Bites, Eoin and Luciano explore AWS Lambda Durable Functions, announced at re:Invent 2025. It’s still Lambda (same runtimes and scaling), but with durable execution superpowers: named steps, automatic checkpointing, and the ability to suspend and resume from a safe point without redoing completed work. We unpack the replay/resume model under the hood, when this approach shines, and the gotchas (determinism, idempotency, replay-aware logging, debugging resumed runs). To make it real, we share how we rebuilt PodWhisperer v2 using Durable Functions to orchestrate a GPU-powered WhisperX pipeline, LLM refinement, speaker naming, and caption generation.
In this episode, we mentioned the following resources:
AWS announcement blog post: https://aws.amazon.com/blogs/aws/build-multi-step-applications-and-ai-workflows-with-aws-lambda-durable-functions/
Durable Functions best practices: https://docs.aws.amazon.com/lambda/latest/dg/durable-best-practices.html
The replay model deep dive (Dev.to): https://dev.to/aws/the-replay-model-how-aws-lambda-durable-functions-actually-work-2a79
Build workflows that last (Dev.to): https://dev.to/aws/aws-lambda-durable-functions-build-workflows-that-last-3ac7
Testing Durable Functions in TypeScript (Dev.to): https://dev.to/aws/testing-aws-lambda-durable-functions-in-typescript-5bj2
Developing Durable Functions with AWS SAM (Dev.to): https://dev.to/aws/developing-aws-lambda-durable-functions-with-aws-sam-ga9
Hands-on notes: https://www.andmore.dev/blog/lambda_durable_functions/
PodWhisperer (open source): https://github.com/fourTheorem/podwhisperer/
WhisperX: https://github.com/m-bain/whisperX
Do you have any AWS questions you would like us to address?
Leave a comment here or connect with us on X/Twitter, BlueSky or LinkedIn:
- https://twitter.com/eoins | https://bsky.app/profile/eoin.sh | https://www.linkedin.com/in/eoins/
- https://twitter.com/loige | https://bsky.app/profile/loige.co | https://www.linkedin.com/in/lucianomammino/ - AWS just made Lambda… less serverless. Lambda Managed Instances (Lambda MI) brings managed EC2 capacity into Lambda, and it changes the rules: environments stay warm, a single environment can handle multiple concurrent invocations, and scaling becomes proactive and asynchronous instead of “spin up on demand when traffic hits.”In this episode of AWS Bites, Eoin and Luciano break down what Lambda MI unlocks (and what it costs): fewer traditional cold starts, but a new world of capacity planning, headroom, and potential throttling during fast spikes. We compare it to Default Lambda, explain how the new scaling signals work, and what “ACTIVE” really means when publishing can take minutes on a new capacity provider.To make it real, we built a video-processing playground: an API, a CPU-heavy processor, and a Step Functions workflow that scales up before work and back down after. We share the practical lessons, the rough edges (regions, runtimes, mandatory VPC, minimum 2 GB + 1 vCPU, concurrency pitfalls), and the pricing reality: requests + EC2 cost + a 15% management fee.
In this episode, we mentioned the following resources:
Lambda Managed Instances official docs: https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances.html
Our example repo (video processing playground): https://github.com/fourTheorem/lambda-mi
Concurrency mental model reference (Vercel Fluid Compute): https://vercel.com/fluid
Lambda MI Node.js runtime best practices (concurrency considerations): https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances-nodejs-runtime.html
Do you have any AWS questions you would like us to address?
Leave a comment here or connect with us on X/Twitter, BlueSky or LinkedIn:
- https://twitter.com/eoins | https://bsky.app/profile/eoin.sh | https://www.linkedin.com/in/eoins/
- https://twitter.com/loige | https://bsky.app/profile/loige.co | https://www.linkedin.com/in/lucianomammino/
More Technology podcasts
Trending Technology podcasts
About AWS Bites
AWS Bites is the show where we answer questions about AWS! This show is brought to you be Eoin Shanaghy and Luciano Mammino, certified AWS experts.
Podcast websiteListen to AWS Bites, Search Engine and many other podcasts from around the world with the radio.net app

Get the free radio.net app
- Stations and podcasts to bookmark
- Stream via Wi-Fi or Bluetooth
- Supports Carplay & Android Auto
- Many other app features
Get the free radio.net app
- Stations and podcasts to bookmark
- Stream via Wi-Fi or Bluetooth
- Supports Carplay & Android Auto
- Many other app features


AWS Bites
Scan code,
download the app,
start listening.
download the app,
start listening.


































