Once upon a time I was the serverless guy at a startup company building lambda functions. My function went into production at 128mb of memory and a timeout of 3 seconds. Because of game had "live races" we would see big spikes in traffic at certain times of the day, and unfortunately I would also see big spikes in the number of errors in the CloudWatch metrics charts... My boss even opened the website during the high volume event and noticed requests to the lambda returning 400 error. In the cloudwatch logs I could norrow down the logs to just the high volume time and see many timeout errors happening during this period. Needless to say, this is not a good look, and you don't want it to happen to you (especially you, future Jim)!
Yep, this blog post is the result of yet another great discovery by yours truly! After making a few AWS Lambda services that automate Twitter activity I realized that I needed to deploy the same function many times, each as a scheduled event in AWS but with slightly different configurations (such as twitter access keys for the desired account, keywords for posts to like, etc). I wanted to keep the same core codebase of logic for each type of lambda function but somehow deploy multiple versions of it, and I wanted to be able to upload the code in one place and have all the places where it's used be updated without having to deploy to each one individually. Here's how I managed to do it!
I've been using the twit NodeJs library that calls through to the twitter api, and I was having trouble searching for a combination of multiple keywords in a tweet. Luckily, I found this great page that they call basic search operations:
If you know me well then you probably know how in love I am with serverless backends, cloud functions, lambdas, and whatever other fancy names they can give for basically a pay-only-for-what-you-use server. I'm also pretty fond of the Serverless Framework (https://github.com/serverless/serverless) which let's you easily scaffold out a new project meant to be run on a serverless architecture. Although I've only been using it for AWS Lambda, I recently made a little mistake that turned out to be a great discovery, and in this post I'll tell you all about it!
Yep, I got this example working today as an example for an upcoming talk I'm given about AWS Lambda. Here's the beautiful email in my inbox, sent from my AWS Lambda function:
The posts on this site are written and maintained by Jim Lynch. About Jim...
Want FREE access to
my daily stock tips
"The Triple Gainers"?
Sign up here!