Local AWS Lambda Development For All

Sam Goldstein

Starting today, we are extending the AWS SAM CLI for any developer to locally debug and develop any Lambda function, in any language or framework, against the full environment of live cloud resources with any IDE, for free. You don't even need a Stackery account.

This capability can be obtained by installing the Stackery CLI either automatically via the Stackery VS Code Serverless Tools Plug-In or manually alongside any IDE.

You think you want local development. What you really want is cloudlocal development.

Cloudlocal for all: how did we get here? 

Here at Stackery, we've been talking about the tradeoffs between serverless local development and serverless cloudside development for a while now. The TL;DR version of is that you can't replicate a cloud provider in your laptop. This inability to invoke across the live DynamoDB tables, Kinesis streams, and other services in your app leaves you susceptible to all sorts of local vs prod errors.

However, if you want to develop against live cloud resources, deploying every change into the cloud is so brutally slow, you'll give up on serverless "until the tooling matures."

Enter cloudlocal. Recently, we've released updates to Stackery like stackery local invoke for serverless projects using AWS Lambda with other AWS services— a feature on the Stackery CLI as of version 2.6.0 that allows for local development using cloudside resources. We arrived at this pivotal Stackery update because there was a real need for reduced debugging friction and the ability to ship new functionality faster.

Cloudlocal development improves on developer/team productivity radically and renders development more flexible. For more background on these concepts, check out my blog from this past April.

Ok, so what are you announcing today? 

This new cloudlocal development capability extends the AWS SAM CLI Lambda runtime debugging to the entire runtime enviornment. By adopting those existing "cloudside" environments we just mentioned and allowing for rapid, efficient serverless development and iteration on AWS resources before deploying to the cloudside environment.

We're excited to share a trick (so to speak) that allows any developer to locally debug any AWS Lambda in it's deployed enviornment. Note that by any developer, we mean anybody who has ever deployed a Lambda function— no Stackery account required.

After all, each time something goes wrong with what you're building, you need to debug it. The ability to poke around the entire environment and experiment is crucial.

Our new "cloudlocal for all" feature also allows you to debug any Lambda function you have deployed in your preferred language. What you should take away from this change is that your language is supported and applauded at Stackery. We're not just enabling you to level up your serverless development workflow, we're letting you do it on your own terms. That means we've updated our quickstart guides with Node.js, Python, Java, .NET, Ruby, and GoLang!

But if you are using Lambda Runtime layers for any other language (even COBOL), you are also good to go.

Wait, how is this different from the AWS SAM CLI and other local serverless development tools?

  1. It's framework independent. Most other local serverless developments are either unique to a particular framework and/or limited to Lambda functions. With the Stackery CLI, you can develop and debug any Lambda function you have permission to access in AWS.

  2. Invoke any of the 86 AWS CloudFormation enabled resources. If you can define it in CloudFormation (the output for the major frameworks, AWS CDK, the Stackery Editor, and more) you can develop against it with the Stackery CLI. 

  3. A Lambda function alone is not enough. The AWS SAM CLI is great for debugging the Lambda function runtime for Lambda function-native languages. In fact, it's part of the Stackery CLI to do just that. However, because our Lambda functions connect to other cloud resources and sometimes use Lambda Layers, our developers needed to solve for that too.

Cool! Now kindly summarize the update and tell me how to get started.

  1. You can now debug and develop Lambda functions locally against cloudside services using a new, free Stackery feature in any language you choose.

  2. We reccomend you develop and debug in your development enviornment and not prod. If you don't have separate enviornments, a Stackery account can create and manage enviornment parameters and credientials for you.

  3. The prerequisites to take advantage of this are: 

  • Have the ARN of your AWS Lambda function and account permissions to access it.

  • Installation of the Stackery CLI

  • That's it

Cheers to better serverless workflows for each and every developer.

Visit the doc for more information and instructions on "cloudlocal for all".

Related posts

Introducing Redis Cache Cluster Support
EngineeringIntroducing Redis Cache Cluster Support

© 2022 Stackery. All rights reserved.