Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Organizing AWS Lambda functions for multiple projects and environments

Tags:

aws-lambda

I am just getting started with AWS Lambdas so for my first project i created about 15 that i needed to get up and running. When i go to the AWS Lambda management console under the Functions tab there they all are staring back at me. That is all well and good but that was just for the dev environment of this project. I will have 3 other environments with the same 15 functions. And at some point i'm going to have other projects, other functions, other environments. I don't want to have to sift through this giant list to get access and manipulate these functions. There has to be a better way to organize these. I don't want to name every function as project_function_environment. that seems silly to me. Is there a better way?

Can i make folders or use tags?

Could i use a different aws role or some other aws construct?

Any suggestions?

like image 517
VBAHole Avatar asked Jun 13 '17 00:06

VBAHole


People also ask

Can AWS Lambda have multiple functions?

Serverless applications usually consist of multiple Lambda functions. Each Lambda function can use only one runtime but you can use multiple runtimes across multiple functions. This enables you to choose the best runtime for the task of the function.

Is multithreading possible in AWS Lambda?

Using multithreading in AWS Lambda can speed up your Lambda execution and reduce cost as Lambda charges in 100 ms unit.

How many Lambda functions can be created in an AWS account?

The default concurrency limit per AWS Region is 1,000 invocations at any given time. The default burst concurrency quota per Region is between 500 and 3,000, which varies per Region. There is no maximum concurrency limit for Lambda functions.


1 Answers

If you are doing large projects, you definitely don't want to be managing everything from the Lambda website interface. There are all sorts of CI tools to help automatically setup and deploy your code. Many will integrate with services like github which allows you to start the deploy process by just pushing new code. AWS has Code Pipeline, which is designed to help these kind of difficulties. There's generally a lot of upfront setup followed by small payoffs every time you deploy new code. Here's a decent article about making a bridge between github and lambda deployment:

http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html

like image 63
Mark Avatar answered Oct 12 '22 05:10

Mark