Great video, AJ! I agree with your perspective here. Lambda layer are often unnecessary and they only end up adding complexity! Great overview of all the pros and cons. Please more of these :P
Very informative video! You rock, thank you. I'm curious about your thoughts on our use case: The primary reason we opted for layers was due to the significant speed boost it provided our CI/CD process, shaving off about 5-10 minutes by uploading our node_modules as a layer. In our architecture, lambdas of the same service share the same modules (similar to what you'd find in a non-serverless, microservice environment), so instead of each lambda consuming around 200MB, each one only uses 2MB, and the layer is uploaded just once. I would be really interested to know your thoughts on our use case and solution. Do you think it's an abuse? Would you recommend a different pattern? Thanks!!
Thanks for the kind words! My biggest concern in your case is safe deployments. Unless you're using Lambda versions + aliases, you'll be unable to add/update a dependency without fully backwards compatible code without risking Lambda errors for at least a few seconds because the updateFunction and updateFunctionConfiguration API calls are asynchronous. When I ran into this with Vercel, those functions errors out for about 6 seconds until both operations were complete. This can be avoided with aliasing, but you still risk dependency smashing. Either way, I hope you use what works best for you. Good luck!
@astuyve Wow, very interesting, that's definitely good to know! Yes we are using versions and aliases because of provisioned concurrency which is required is, so we set is as a basic requirement for a stack. By the way, have you encountered issues where, even though provisioned concurrency is configured, Lambdas still experience cold starts? This happens even with regular traffic, not just bursts. It’s something that occurs quite randomly for us, and we can't find the root cause… Also we recently started using Datadog for serverless applications and are really excited about it. 😊
@@user-me8ec7zr5p Glad you're liking the product! Yes I've seen this happen with Provisioned Concurrency even with regular traffic, as ever so slightly (occasionally) there are no warm instances to serve the function. I'd check the lambda concurrency metric to see if you're bumping close to your PC value. If that function is nowhere near the provisioned capacity, I'd probably open a bug with AWS and ask.
Great video, AJ! I agree with your perspective here. Lambda layer are often unnecessary and they only end up adding complexity! Great overview of all the pros and cons. Please more of these :P
Thanks for the kind words Luciano! I'll try to make more videos!!
Nice to see you creating content like this!
Thanks Sergio! I'm still trying to figure out the medium, but I think I'll make more
Amazing content and tips! Thanks for sharing AJ!
Thanks Max! Love the channel!
Great breakdown and explanation, AJ! 👏
Thanks so much Aaron!!
Great video, keep them coming!
Thank you Tomasz!
Very informative video! You rock, thank you. I'm curious about your thoughts on our use case: The primary reason we opted for layers was due to the significant speed boost it provided our CI/CD process, shaving off about 5-10 minutes by uploading our node_modules as a layer. In our architecture, lambdas of the same service share the same modules (similar to what you'd find in a non-serverless, microservice environment), so instead of each lambda consuming around 200MB, each one only uses 2MB, and the layer is uploaded just once. I would be really interested to know your thoughts on our use case and solution. Do you think it's an abuse? Would you recommend a different pattern? Thanks!!
Thanks for the kind words!
My biggest concern in your case is safe deployments. Unless you're using Lambda versions + aliases, you'll be unable to add/update a dependency without fully backwards compatible code without risking Lambda errors for at least a few seconds because the updateFunction and updateFunctionConfiguration API calls are asynchronous.
When I ran into this with Vercel, those functions errors out for about 6 seconds until both operations were complete.
This can be avoided with aliasing, but you still risk dependency smashing.
Either way, I hope you use what works best for you. Good luck!
@astuyve Wow, very interesting, that's definitely good to know! Yes we are using versions and aliases because of provisioned concurrency which is required is, so we set is as a basic requirement for a stack.
By the way, have you encountered issues where, even though provisioned concurrency is configured, Lambdas still experience cold starts? This happens even with regular traffic, not just bursts. It’s something that occurs quite randomly for us, and we can't find the root cause…
Also we recently started using Datadog for serverless applications and are really excited about it. 😊
@@user-me8ec7zr5p Glad you're liking the product!
Yes I've seen this happen with Provisioned Concurrency even with regular traffic, as ever so slightly (occasionally) there are no warm instances to serve the function. I'd check the lambda concurrency metric to see if you're bumping close to your PC value.
If that function is nowhere near the provisioned capacity, I'd probably open a bug with AWS and ask.
Great video!
Thanks!!
is this video sped up? The AWS console is no where near this responsive lmao
Hahaha no, not sped up. I'm just close to us-east-1
Subscribed! 🎉
AARON FRANCIS omg you dropped this 👑, thank you!
@@astuyve I gotchu!
🌸 Promo*SM