AWS Lambda and automated testing (pt2).

Opps; forgot to circle back to this…

So we finally got it working. Local and Jenkins automated testing that couples with Lambda for media processing! What we ended up doing was creating an ssh tunnel from our DEV to UAT, from UAT to the remote DEV DB. O man was it slow. Like, slow enough we dumped it after 3 days. Do not recommend this type of setup if you can at all help it.

The next week this repo bust out on the scene; would have saved us a a lot of headache: https://github.com/atlassian/localstack. Unfortunately we were past the point where it would have helped instead of hurt the engineering pipeline.

AWS Lambda, S3, and VPC

Found this awesome bit of information floating around the internet: https://aws.amazon.com/blogs/aws/new-access-resources-in-a-vpc-from-your-lambda-functions/

AWS Lambda and automated testing.

So as you can see from my previous posts I recently developed a AWS Lambda function that pulls data from S3, processes it, and updates a database. Now the problem: how to automate a test for this :S. I’ll keep you updated to the progress …

The pain with AWS Lambda…

…I realize I am a bit new the AWS platform and some things are just impossible, but here is the desired work flow:

  • POST/PUT image to S3
  • Run node.js app in a container that emulates an EC2 machine (thus a Lambda environment)
  • See logs of service as if it was running in a Lambda ENV.

In reality my current workflow is:

  • Update logic
  • Run package script to build nodeJs app, uploads to Lambda
  • POST/PUT data on S3
  • Goto CloudWatch and press refresh until the logs populate with related request ID

Anyone know how to make this more effective? Average turn around is 3 to 5 minutes per change :S.