20 ms·
New for AWS Lambda: Use Any Programming Language and Share Common Components
- talawahdotnet 8y agoWe are making these open source runtimes available soon: C++[1] Rust[2] We are also working with our partners to provide more open source runtimes: Erlang (Alert Logic) Elixir (Alert Logic) Cobol (Blu Age) N|Solid (NodeSource) PHP (Stackery) There is also native Ruby support as well[3] 1. https://aws.amazon.com/blogs/compute/introducing-the-c-lambda-runtime/ https://aws.amazon.com/blogs/compute/introducing-the-c-lambd... 2. https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws-lambda/ https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws... 3. https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/ https://aws.amazon.com/blogs/compute/announcing-ruby-support...
- griffordson 8y agoThanks for sharing the Ruby links.
- aantix 8y agoThanks for the Ruby links. With the native ruby support[3], I wonder how hard it would be to implement a Lambda ActiveJob handler..
- scarface74 8y agoWhy would you need to make an active Job handler? What would that do for you over just a regular event based Ruby lambda? Honest question: I don’t Ruby, I just looked up what it is.
- ryanmarsh 8y agoInstead of enquing a job you’d just write to an SQS queue and have a lambda as your “job handler” using the queue as an event source. Boom, no need for Active Job. Welcome to Serverless. There’s going to be a lot of people trying to do things the “rails way” on serverless and it’s going to be a little confusing for a while. Many will write it off, some will creat innovative new gems. And of course the Ruby community will come up with the best abstraction for SAM templates and deployment, because we like nice tools.
- otterley 8y agoNo need to use SQS here, assuming you don't need strict ordering behavior, since SNS can use Lambda functions as notification targets. The nice thing about SNS is that it can automatically fan out to multiple Lambda functions in parallel.
- ryanmarsh 8y agoIndeed that is true, SNS can fan out to Lambda. It’s my understanding (I welcome a correction) that ActiveJob is more sequential like SQS + Lambda.
- scarface74 8y agoMore like SQS -> Multiple lambda instances Unless you set the concurrency to one. But as always when working with any queue, don’t depend on only once processing or in order processing. AWS does have FIFO queues but they don’t work with lambda directly.
- freedomben 8y agoBe careful the if there is possibility for a job to fail and need retry. SQS visibility and automatic dead lettering can give you this basically for free. I don't think SNS will.
- otterley 8y agoLambda functions can be configured to use SNS for dead letter queues as well. See https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html https://docs.aws.amazon.com/lambda/latest/dg/retries-on-erro... (event sources that aren't stream-based).
- freedomben 8y agoAh, very nice. Thanks for the correction.
- 8y ago
- dyeje 8y agoMost people use Sidekiq which uses Redis for ActiveJob. If there was an Lambda backend then you could get rid of Redis.
- ryanmarsh 8y agoYou won’t need Sidekiq either.
- bpicolo 8y agoSidekiq has other useful features (like the built in dashboard)
- scarface74 8y agoThat’s what CloudWatch is for....
- jm547ster 8y agoCloudWatch is an awful tool to have to use
- scarface74 8y agoDon’t get me wrong, I’m no savage. I use structured JSON logging with Serilog and use ElasticSearch as a sink with a Kibanna for most of my app logging. I also log to Cloudwatch though and keep those logs for maybe a week.
- dyeje 8y agoYes, you wouldn't use Sidekiq anymore either because you would have a different ActiveJob backend, but the important part is that you're eliminating a piece of infrastructure (Redis) without the the poor scalability of DelayedJob.
- deleted 8y ago[deleted]
- danilop 8y agoThe post is now updated with links to the C++ and Rust runtimes, they are available now!
- steveklabnik 8y agoAwesome! I'm so excited to see this support. :D
- kevinSuttle 8y agoWoot! https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws-lambda/ https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws...
- barbecue_sauce 8y agoGuess I'll go learn Cobol now.
- rodgerd 8y agoYou laugh, but depending on the actual Cobol support (e.g. whether it also supports a decent amount of CICS) it could make it easy to port a bunch of functions that are locked away on zOS.
- barbecue_sauce 8y agoI was actually serious.
- freedomben 8y agoThat might be really smart. Cobol is still in wide use, and somebody needs to replace the aging Cobol community. I bet salaries will sky rocket
- lostcolony 8y agoThey already have. You're entering a market, as you say, where every contemporary is a super senior developer, for old, rich companies like banks, and with demand staying static...but supply dropping.
- jonathanpoulter 8y agoI've read this multiple times, and I'm sure it's an intuive argument. Is it actually true though?
- pjmlp 8y agoYep, I am aware of projects currently looking for COBOL devs in Germany.
- wpietri 8y agoThis is great, but I'm ever so slightly disappointed that they called it the Lambda Runtime API instead of Common Gateway Interface. [1] It's not quite the same, but it definitely gives me an everything-old-is-new-again feeling. https://en.wikipedia.org/wiki/Common_Gateway_Interface https://en.wikipedia.org/wiki/Common_Gateway_Interface
- kitd 8y agoHmm, I was thinking Service Component Architecture [1], but yes, I can relate to your 2nd point. [1] https://en.wikipedia.org/wiki/Service_Component_Architecture https://en.wikipedia.org/wiki/Service_Component_Architecture
- fuball63 8y agoInteresting you mention CGI; I built https://bigcgi.com https://bigcgi.com (https://github.com/bmsauer/bigcgi https://github.com/bmsauer/bigcgi) primarily to address the issue of "any language" in FaaS environments. Seeing this takes away one of my biggest comparative advantages, but I'm happy to see that at least I was not wrong in thinking this feature would be important for developers. CGI still has the advantage of being an open standard, locally testable, and not vendor specific.
- funruly 8y agoNice! Though we've been playing with this for Azure Functions over the last few months.
- Tehnix 8y agoI'm personally very hyped for using Haskell natively on Lambda! In the keynote he mentions the partner sponsored runtimes, and actually said "Scala and Haskell, you'll just have to bring your own!" (as in, community effort).
- munns 8y agoYes! We are definitely looking forward to championing awesome projects to build languages for the Runtime API. Take a look at the Rust and C++ examples as they show you a bit of how it all works. (Chris from AWS Serverless team)
- bob_roboto 8y agoScala works just fine in the java runtime for us
- Tehnix 8y agoI haven’t personally played with scala yet, but do you need to add any additional runtime components for it to work? Or perhaps scalaz? Or is it just making a .jar and you are good to go? :)
- telechus 8y agoI've simply used sbt assembly to create a far jar. It includes all of the needed dependencies.
- RhodesianHunter 8y agoDitto Kotlin.
- hood_syntax 8y agoThis would be a real game changer for me, from an internal marketing perspective and for personal use.
- 8y ago
- mychael 8y agoMissed opportunity to just support one runtime to rule them all: Docker containers.
- Stefan-H 8y agohttps://aws.amazon.com/ecs/ https://aws.amazon.com/ecs/ They don't tend to miss an opportunity.
- mychael 8y agoYou're aware thats an entirely different service right? We're talking about Serverless and Lambda.
- Stefan-H 8y agoWhoops, need this as well https://aws.amazon.com/fargate/ https://aws.amazon.com/fargate/
- bootlooped 8y agoI've always found "You're aware... right?" and its close cousin "You do realize... right?" to sound pretty condescending.
- talawahdotnet 8y agoI think over time Lambda and Fargate[1] will get closer and closer to each other in terms of functionality and deployment speed. 1. https://aws.amazon.com/blogs/aws/aws-fargate/ https://aws.amazon.com/blogs/aws/aws-fargate/
- ralmeida 8y agoThe key distinction for me is that Lambda is event driven. If you have a microservice/function which is seldomly called, in Fargate you would pay 24x7 just to be listening for calls.
- 8y ago
- watty 8y agoWe had to abandon Lambda due to cold starts. Any news if that's resolved?
- jedberg 8y agoYou can generally resolve it yourself by poking seldom used functions to keep them hot. But no, they haven’t provided a solution to cold start (unless you consider ec2 or fargate a solution).
- antimatter 8y ago> You can generally resolve it yourself by poking seldom used functions to keep them hot. We've tried this and it helps somewhat but when AWS attempts to scale your function based on load, cold starts re-appear. We've moved away from Lambdas where a dependable response time is required.
- Touche 8y agoCan you explain more about why this is? If you are experiencing cold starts it means that function is not used very often. If it's not used very often that likely means it's not user facing (or something less important like a Terms of Service page). If that's the case, why do you need instant response times?
- mirceal 8y agothat’s not entirely true. while your warm lambdas can and will take the traffic it your traffic ramps up, additional lambda instances will be spun up. you will pay cold start prices as they are spinning up. so, even if you have a heavily used lambda fn, depending on the traffic your p99 will still look pretty bad and you will not be able to guarantee that all requests will be processes in x ms or less.
- count 8y agoNo, that's not what it means. If you have high concurrent execution, you get 'cold start' every time the underlying service 'scales out' to support more. The MORE you use lambda concurrently, the more you hit the cold start issue. Granted, it's just for that one cold start execution per-scale node (and they could probably just optionally pre-fire to warm things in that instance, like with a cache), but it's definitely there horizontally.
- talawahtech 8y agoSeveral related lambda announcements to around structure/reuse as well: 1. Lambda Layers - Reusable components that can be shared across lambda functions (covered in the linked article) 2. AWS (Serverless) Toolkits for PyCharm, IntelliJ & VS Code - https://aws.amazon.com/blogs/aws/new-aws-toolkits-for-pycharm-intellij-preview-and-visual-studio-code-preview/ https://aws.amazon.com/blogs/aws/new-aws-toolkits-for-pychar... 3. Nested Applications Using the AWS Serverless Application Repository - https://aws.amazon.com/about-aws/whats-new/2018/11/sam-supports-nested-applications-using-serverless-application-repository/ https://aws.amazon.com/about-aws/whats-new/2018/11/sam-suppo...
- gt5050 8y agoI was really hoping they would increase the deployment package size. Currently it is at 250Mb unzipped including all layers.
- lfx 8y agoCan't wait for this too, it seems kind of old limitation not suitable for layers at all. But on another hand - lambda should be small and fast if something out of limits is needed then fargate or ecs should be used. That said I I hope they increase the limit to at least 500 Mb sooner than next reInvent.
- dman 8y agoAny thoughts on what it should be raised to?
- tracker1 8y ago1GB ... I mean, take a J2EE service including the runtime and see what that package winds up at. That's about as big as it will likely need to get.
- deleted 8y ago[deleted]
- munns 8y agoHi! This is super common feedback and something the team is definitely thinking about! What would you want to see it increased to? (Chris Munns from Serverless @ AWS)
- znagengast 8y agoThis would be amazing! At lot of ML use cases are largely unfeasible in lambda on python without serious pruning. Latest version of tensorflow is 150mb uncompressed, add numpy pandas etc to that and it adds up fast. I think 1 GB uncompressed would be pretty reasonable in the current state of ML tools, personally.
- Touche 8y agoNote that it's long been possible to use any language with Lambda through a shim. In the early days that was using Node.js to call out to your binary. That meant you had an extra bit of startup cost (Node + your binary). Once Go was supported that no longer mattered much since Go binaries start almost instantly. Of course an official method is nice here.
- staticassertion 8y agoI haven't even been using a shim to run my Rust binaries. Just statically link them, and use: https://github.com/srijs/rust-aws-lambda https://github.com/srijs/rust-aws-lambda TBH, I'm very happy to see native support, but it was already super, super easy to use Rust on lambdas without a shim layer.
- wnevets 8y agoLayers sound really nice.
- ngngngng 8y agoForgive the noob question, but why is it necessary to have a custom runtime when using a binary from a compiled language? It seems to me that golang support should just mean binary support, and then c++ and rust would be able to comply already, no?
- munns 8y agoYou could do that, it's true, and folks did that with node.js to shim Go before Lambda had official Go support. But being able to just create/use/share a custom runtime inside of an organization will be easier for them overtime vs. the shim method. - Chris from Serverless@AWS.
- seniorsassycat 8y agoThe go runtime can execute any binary, but the lamda is controlled via go rpc, which uses go's custom binary serialization. I couldn't find any implementations of gobs in any other language when the go runtime was announced. I hope this runtime API is a simplification of the go rpc api
- archgoon 8y agoAs of yesterday, lambda only provided a way to specify a function handler. The input to that function, and the response value from that function, needs to be deserialized and serialized (and implicitly, construct a runtime in which the concept of a function exists). Previously, a runtime for each supported language handled deserializing the wire protocol into a runtime object, invoking the specified function, routing stdout and stderr to cloudwatch, serializing the function's return value, and transforming runtime exceptions into response exceptions. The lambda team is now letting you write that runtime, and presumably providing more documentation on the responsibilities of the runtime. Check out the example C++ and Rust runtimes to understand why each language needed to have it's own custom runtime. https://github.com/awslabs/aws-lambda-cpp https://github.com/awslabs/aws-lambda-cpp https://github.com/awslabs/aws-lambda-rust-runtime https://github.com/awslabs/aws-lambda-rust-runtime
- kondro 8y agotl;dr; Cold starts/performance. The way Lambda manages to achieve the performance it does is because it bootstraps the application and then runs each new request through the loaded application. This means Lambda needs some way to communicate with an already running service. Initially, Lambda had language specific runtimes that took care of this (i.e. with Node they have their own bootstrapper that loads your top-level JS file and then calls the defined method each time it receives a new event). With the release of the Go runtime, they built a framework that gets compiled into your service that runs a simplified HTTP server that Lambda then submits events to. This latest generalised version eschews an embedded HTTP server for letting your app do something like a long-poll to a local event RPC source in the Lambda container. Basically, your app boots and attempts to pull a job off the queue, if there's a job, your Lambda runs, if there isn't, your Lambda service gets paused until there's something to send it.
- yebyen 8y agoWay to go, Ruby support!!!! I am irrationally excited about this, if I wanted to do Serverless Ruby up until now, my nearest options were (some community-supported thing with "traveling ruby" on AWS, or...) Kubeless, or Project Riff https://www.serverless-ruby.org/ https://www.serverless-ruby.org/ We've been waiting! I thought this would never happen. Eating major crow today, as I've assumed for a long time that AWS's lack of Ruby support in Lambda was an intentional omission and sign that they are not our friends. I will change my tone starting today! (edit: Or Google Cloud Functions, or probably some other major ones I've missed...)
- aantix 8y agoYou're missing Ruby on Jets. http://rubyonjets.com/ http://rubyonjets.com/ It's pretty comprehensive. And it was able to cache the execution context (and keep the cache warm) to approach native execution times. All of this obviously before native Ruby support was announced.
- jon-wood 8y agoI had a play with it this evening implementing a basic webhook handler and it’s super smooth - I hooked a Ruby Lambda function up to API Gateway and everything just works. I suspect you could very easily create some sort of Rack shim on top as well, effectively giving near free, infinitely scalable, Ruby app servers (assuming you can keep the start time down).
- 8y ago
- matchagaucho 8y agoAwesome. Our "Distributed Monolith" problems are now solved. We have so many Lambdas that share common Java JAR libs. Lambda Layers appears to solve our reuse and deployment headaches.
- teej 8y agoLambda Layers fixes so many problems! * We had to hack around Lambda zip size limits. Now we can deploy fat dependencies to Layers and ditch the hacks. * We can drastically speed up build and packaging time locally by keeping fat dependencies in Layers. * We use a shared in-house library to wrap all code that lives in a Lambda. Updating the version of this required us to deploy every single Lambda that used it. Now it can live in one place. * We can eliminate repeated deployment pain for Python code with C dependencies by deploying the manylinux wheel to Layers. Now devs can go back to just packaging up pure Python and not worry about cross-platform problems. And probably loads more I'm not thinking of.
- spullara 8y agoLambda zip size limits are still strongly in force. All your layers and your lambda code still much be < 50MB zipped / 250MB unzipped total.
- freedomben 8y agoAre you sure? I've been seeing conflicting information regarding that, but can't find the authoritative answer from Amazon
- teej 8y agospullara is right, I am wrong - > The overall, uncompressed size of function and layers is subject to the usual unzipped deployment package size limit. https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/ https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-...
- 8y ago
- Shorel 8y agoNow, if I can also link the MySQL C++ connector libraries, I could run some of my code "natively" in Lambda. I have used C++ in Lambda before, it is quite cumbersome and it still has the performance hit of using Node.JS.
- k__ 8y agoRust was kinda nice even before this, but cutting out the Go or Nodejs indirection certainly helps.
- marcomagdy 8y agoYou certainly can link MySQL connector libraries. Or any library for that matter that you normally link in a C++ application. The lambda-cpp-runtime does not limit you. Check out some of the examples in the GitHub repository.
- Shorel 8y agoChecking the examples is the first thing I did. No example uses MySQL connector. There are only example CMake calls to find_library, that will or will not find this library based on things that are not documented. AWS Lambda still uses Amazon Linux AMI as the base for running all code. MySQL C++ connector library is not available to be easily installed by yum for this particular OS. In particular, the library is distributed as an RPM, from Oracle website, which requires you to be logged in to download it, and then manually installed. Also, an appropriate CMake find script has to be available to CMake. Therefore, this is still a valid question, and AWS support needs to clarify. For the previous Lambda version, I had to add the mysqlcppconn.so file to the uploaded zip and use something like this to ensure the executable runs: "/lib64/ld-linux-x86-64.so.2 --library-path "+process.cwd() +"/node_modules/.bin/lib "+process.cwd() +"/node_modules/.bin/helloworld "
- matte_black 8y agoAnyone come up with solutions for Lambda functions to effectively use database connection pools without the use of a dedicated server?
- k__ 8y agoI don't think so. Guess you're stuck with Aurora Serverless or DynamoDB.
- pmohan6 8y agoCan't wait for that. Although I like DynamoDB, I'd love to connect to a Postgres RDS deployment from Lambda.
- matte_black 8y agoAgreed, this really is the last thing holding me back from going all out on Lambda.
- kondro 8y agoJeremy Daly has created the mysql-serverless[1] library that helps elliviate a lot of the issues with using MySQL within Lambda. MySQL tends to have very low connection times, which helps a lot in this area also. [1] https://github.com/jeremydaly/serverless-mysql https://github.com/jeremydaly/serverless-mysql
- tekno45 8y agoSo will this allow me to run powershell 5.0? I have O365 scripts i need to run, but i only see support for PS6+
- k__ 8y agoI think so.
- joeyaiello 8y agoPM for PowerShell here, no ETAs right now, but we're working closely with some O365 teams (starting with Exchange Online) to bring their modules up to compatibility with PS 6.x.
- nickcox 8y agoHard to see them ever supporting PowerShell 5.0 given that it doesn't run on Linux.
- mncharity 8y agoHas anyone seen discussion of the impact of serverless on programming-language design? It relaxes constraints that have historically restricted the shape of viable languages. With massively-parallel deterministic compilation (like Stanford's gg - which just got simpler to implement). Parallel distributed incremental shared type checking, like Facebook's Hack. Language-community-wide sharing of compilation artifacts (sort-of like build images, or typescript's type definition repos, or Coq's proof repo). "That would be a nice language feature, but we don't know how to compile it efficiently, so you can't have it" has been a crippling refrain for decades. "[D]on't know how to either parallelize or centrally cache it" is a much lower bar. At least for open source. This involves not just compiler tech in isolation, but also community organization for fine-grain code sharing. Any suggestions on things to look at?
- mcintyre1994 8y agoLayers sounds like a great solution to sharing code/libraries. If anyone at AWS is here, will there be a way to pull them down for local testing? At the minute it's trivial because you're forced to pull all your dependencies into a single place you can zip them, and you can test them at that point - but will you still have to do that if you want to test locally with layers?
- gloomfilter 8y agoseems you can get the link to the layer by calling GetLayerVersion: https://docs.aws.amazon.com/lambda/latest/dg/API_GetLayerVersion.html https://docs.aws.amazon.com/lambda/latest/dg/API_GetLayerVer...
- mcintyre1994 8y agoI'm not sure why this was downvoted/dead, but thankyou - it looks like this would be enough since it gives a link to download the layer and a hash to check it against.
- munns 8y agohi! yes there will be support in SAM CLI that when you do local testing referring against a Layer it will pull it down for you. - Chris, Serverless @ AWS
- mcintyre1994 8y agoThanks Chris! Sounds like it's probably time I learn the SAM CLI :)
- jacques_chester 8y agoHi Chris -- it would be interesting to compare notes on Cloud Native Buildpacks, which seems to have overlapping mission with Lambda Layers. Could you come find us at https://slack.buildpacks.io https://slack.buildpacks.io ?
- dacm 8y agoWe've been packaging pandas in a lambda which is used to perform some calculations, but being a 50 MB zip file makes cold starts of about 6-8 secs. We're lucky that the service has little use, thus our way to workaround it is by having a lambda warmer which is run every 5 minutes and invokes N pandas lambdas. I'd be very interested in knowing if Layers has some feature to avoid this kind of issue.
- paddy_m 8y agoHow did you get the zip down to 50MB. I was under the impression that pandas+numpy was closer to 300MB and bumped up against AWS size limits. I was considering building some hacked together thing with S3 I came to this thread specifically to find out about numpy and pandas on lambda.
- richstoner 8y agoWe've been running a stripped down version of numpy + scipy + matplotlib in lambda. We'd build the environment in a docker container with Amazon linux, manually remove unneeded shared objects and then rezip the local environment before uploading to s3. A similar method is described here: https://serverlesscode.com/post/deploy-scikitlearn-on-lamba/ https://serverlesscode.com/post/deploy-scikitlearn-on-lamba/ Layers should make this entire process easier.
- dacm 8y agoWhen I worked on this I used this article as a reference: https://serverless.com/blog/serverless-python-packaging/ https://serverless.com/blog/serverless-python-packaging/ and also ended up with a huge image. What that article didn't mention is that the virtual environment folder should be excluded in the serverless config file, as the runtime is provided by boto3. So adding: package: exclude: - venv/ would reduce the size considerably (to 50 MB in my case)
- robbiemitchell 8y agoWe had the same cold start problem and couldn’t find a way to reliably keep things warm. For instance, Lambda would often spawn a new instance rather than re-use the warm one. In the end, we came to the conclusion that Amazon is smart and won’t let you hack together the equivalent of a cheaper EC2.
- zkirill 8y agoNoob question but is it possible/advisable to somehow (re)use prepared statements in Lambda? "Prepared statements only last for the duration of the current database session. When the session ends, the prepared statement is forgotten, so it must be recreated before being used again. This also means that a single prepared statement cannot be used by multiple simultaneous database clients..."[1] 1. https://www.postgresql.org/docs/current/sql-prepare.html https://www.postgresql.org/docs/current/sql-prepare.html
- mayank 8y agoStored procedures would be one way.
- laurencerowe 8y agoI don't see why not. Presumably you would connect to the database and prepare the statement when the Lambda function starts up and execute the prepared statement from the per-request handler invoked.
- ziont 8y agoany improvements on cold start? this is a deal breaker for me. also doesn't seem cheaper than running a $5/month DO
- zild3d 8y agomost serverless frameworks take care of cold starts, no? zappa by default will just keep your functions warm
- ozten 8y agoI found this to be the best update on the cold start problem. https://mikhail.io/2018/08/serverless-cold-start-war/ https://mikhail.io/2018/08/serverless-cold-start-war/
- ziont 8y agoskimmed it and seems like < 2~3s is the expectation from AWS Lambda. So I will go with AWS Lambda. But seems like having lot of dependency increases the lag, wonder if there's a way to put the source on a diet.
- k__ 8y agoIf your use-case is a web-API look into AppSync. The VTL resolvers don't have the cold-start problem, AFAIK.
- Myrmornis 8y agoWhat does a test suite look like for an application structured using lambda functions?
- mtnGoat 8y agoI am still waiting for proper PHP support and the ability for Lambdas to use VPC to connect to RDS servers, leaving my DBs wide open is kind of annoying... they say its possible but I've had 4 engineers try and no one can get it to work. These issues that Azure has already solved, make me wonder how much longer i will stay with AWS.
- km6youngsatan 8y agoit is possible to attach Lambda to VPC to connect to an RDS, as long as security group rules allow it and the VPC has dns res enabled Source: just implemented cross acct lambda -> RDS connection using VPC
- illumin8 8y agoLambda has had VPC support for over 2.5 years now: https://aws.amazon.com/blogs/aws/new-access-resources-in-a-vpc-from-your-lambda-functions/ https://aws.amazon.com/blogs/aws/new-access-resources-in-a-v...
- mtnGoat 8y agoyes it has VPC support but for some reason as soon as we turn mysql to not be open to the public in RDS, Lambdas can no longer connect.
- maxharris 8y agohttps://nodesource.com/products/nsolid-aws-lambda https://nodesource.com/products/nsolid-aws-lambda