
Show HN: Claudia.js – deploy Node.js microservices to AWS more easily - adzicg
https://github.com/claudiajs/claudia
======
nthj
Nice! I had the same pain point and worked something up a few weekends ago.
[1] I may look into integrating some of my ideas into Claudia.js, although "I
like CoffeeScript" may not be in line with where the author is headed.

Most of my efforts went into integrating Amazon's Key Management Service into
the local development and S3 deployment process. (One of the first Lambda
functions I wanted needed to talk with GitHub, Slack and some other APIs, so
encryption of access tokens seemed a given.) I'd be curious if the author has
run into this situation or already had thoughts about how to approach this.

[1] [https://github.com/twobyfourio/cheese-
grater](https://github.com/twobyfourio/cheese-grater)

~~~
southpolesteve
So for Shepherd
([https://github.com/bustlelabs/shepherd](https://github.com/bustlelabs/shepherd))
we copy in an env.js file on deployment to lambda that has all the env
variables. Stage Variables are good, but there is a gotcha. If you are using
them to establish connections (external service, DB, etc) you only get access
to them inside the function body. Might not be the biggest issue for some
people but I like to have everything loaded and connections established when
the lambda function is loaded by the AWS parent process rather than on actual
function execution.

------
Mizza
So this is like Zappa[1] for Node.js apps? Cool!

[1] [https://github.com/Miserlou/Zappa](https://github.com/Miserlou/Zappa)

------
idbehold
This is really handy! Although what I really need is a service that, given a
URI to a GIT repo, will clone the repo, `npm install --production`, browserify
(and maybe uglify) the main file specified in the package.json, and return the
output.

At the very least I wish AWS would update the version of Node.js that Lambda
uses and maybe provide the "request" NPM package by default (yes, I'd like my
HTTP requests to follow redirects automatically thank you).

~~~
rco8786
That first part can be done in about 5 lines in a shell script

------
southpolesteve
I'm working on something similar:
[https://github.com/bustlelabs/shepherd](https://github.com/bustlelabs/shepherd)

It aims to be simpler than Serverless, but still maintain great integration
with API Gateway.

Lots of cool project in the space right now! Check em all out. I'll be sure to
add yours to Shepherd's "Other Project" section.

------
ac360
Check out the Serverless Framework if you are looking to build entire
applications on lambda -
[http://www.serverless.com](http://www.serverless.com)

------
Rauchg
Check out Micro as well:
[https://github.com/zeithq/micro](https://github.com/zeithq/micro).

It's also oriented around single-purpose (single-function) microservices, but
pure HTTP.

~~~
manojlds
Only tangentially related, as this is about using AWS Lambda.

------
STRiDEX
Apex from @TJ is similar
[https://github.com/apex/apex](https://github.com/apex/apex)

~~~
manojlds
Without me having to dig into code, what is this about shim to run Golang on
Lambda?

~~~
robterrell
You can run a node script that runs a golang executable. You just have to pack
the go exe into the zip bundle.

