serverless-express
libaws
Our great sponsors
serverless-express | libaws | |
---|---|---|
18 | 57 | |
5,055 | 440 | |
0.7% | - | |
8.4 | 8.0 | |
8 days ago | 10 days ago | |
JavaScript | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
serverless-express
-
[Open source] Serverless Express Starter Kit with CI/CD on AWS
After building out a GPT powered endpoint, I wanted a low cost way of hosting it. At the time, I came across the serverless-express project https://github.com/vendia/serverless-express/tree/mainline, but no actual starter kits that would allow me to deploy it.
-
Nest.js in Lambda
It’s all handled using https://github.com/vendia/serverless-express
-
EuroSquares: An AWS Amplify-Powered Game for Eurovision 2023
Amplify gives an option of using a template and linking the API Endpoint with the Lambda and a connected DynamoDB table. I selected the template, Serverless Espress, which provided a lot of code in the template, though the majority of it felt overly bloated for what was effectively CRUD functionality.
-
Moving from Apollo to Vanilla GraphQL
With that in mind, the goal of this library is to be as lightweight as possible. There are other libraries out there that can handle express -> serverless mutation. See Serverless Express for that. If you want to rewrite as little code as possible, that is your best solution. With that being said, if the sole purpose of express is middleware and is only hosting a one-endpoint GraphQL server, I recommend rewriting to utilize this library.
-
Porting Curveball to Bun
To get Express to run on AWS Lambda the Node http stack needs to be emulated, or a full-blown HTTP/TCP server needs to be started and proxied to. Each of these workarounds require a ton of code from libraries like serverless-express.
-
Serverless backend (AWS S3/API GW/Lambda) vs. Node/Express?
Express is a framework/software. Lambda is compute. You can run express in Lambda. Ive done this and it was great. Check out https://github.com/vendia/serverless-express. The cool thing is that it's portable - you can build for one compute environment, and move it to another if it doesnt suit
-
Using a Lambda function for a very early monolithic app?
Yea its fine use https://github.com/vendia/serverless-express since you are using express
- Deploy React and Node+Express application using AWS SAM Cli
-
Deploy a NestJS API to AWS Lambda with Serverless Framework
Serverless Express - library that makes our "plain" NestJS API play nicely with Serverless
-
AWS Lambda: Can you have too many? Or is it more nuanced than that?
Some people like the Unix philosophy of "Do one thing and do it well" for Lambdas, others would build a monolithic app using a single Lambda with built in "routes". Both designs have pros and cons.
libaws
-
Go's Error Handling Is Perfect
i print the error along with file and line number every time i return it. clunky, but it works.
in fact i print file and line with every log message.
https://github.com/nathants/libaws/blob/87fb45b4cae20abd1bb1...
-
The worst thing about Jenkins is that it works
cloud is so good now it’s hard to justify not doing something bespoke. ec2 spot is insanely cheaper than turnkey cicd, and better in almost every way.
i’m delighted to pay 30% over infra cost for convenience, but not 500%. and it better actually be convenient, not just have a good landing page and sales team.
this month i learned localzones have even better spot prices. losangeles-1 is half the spot price of us-west-2.
for a runner, do something like this, but react to an http call instead of a s3 put[1].
for a web ui do something like this[2].
s3, lambda, and ec2 spot are a perfect fit for cicd and a lot more.
1. https://github.com/nathants/libaws/tree/91b1c27fc947e067ed46...
2. https://github.com/nathants/aws-exec/tree/e68769126b5aae0e35...
-
Cloud, Why So Difficult?
like linux, cloud is a lot to learn, but worth it.
like linux, cloud is best kept simple, or it can become brittle and confusing.
like linux, cloud has a lot of cool things like zfs, that should be appreciated but rarely used.
like linux, using go makes your life a lot easier. the aws go sdk is the documentation.
like linux, you have to learn a lot and then find the core utility you actually care about. for me it is:
https://github.com/nathants/libaws
-
Kubernetes Is Hard
the good new is, for the 95% of projects that can tolerate it, aws the good parts are actually both simple and easy[1].
it’s hard to find things you can’t build on s3, dynamo, lambda, and ec2.
if either compliance or a 5% project demand it, complicated solutions should be explored.
1. https://github.com/nathants/libaws
-
Rapid growth, lessons learned and improvements at Fly.io
i also wanted a good cli for aws, and built one:
https://github.com/nathants/libaws
companies like fly are fantastic.
they provide a good service, and they put market pressure on aws.
-
From Go on EC2 to Fly.io: +fun, −$9/mo
cool transition and fun writeup!
for low, intermittent traffic sites, go on lambda might be a better comparison:
https://github.com/nathants/libaws/tree/master/examples/simp...
-
Ask HN: What is the most barebone back end solution?
lambda + s3. add ec2 spot if you need it.
just make sure you understand how billing works. mostly it’s just egress bandwidth is expensive.
do something like this:
https://github.com/nathants/aws-gocljs
or with less opinions:
https://github.com/nathants/libaws/tree/master/examples/simp...
welcome to cloud, glhf!
-
Ask HN: Cool side project you have written using Golang
aws ux for retaining both hair and sanity.
https://github.com/nathants/libaws
-
Ask HN: How to get more experience with system design questions (esp scaling)?
build and scale systems with artificial load on aws! scaling the load testing will be just as interesting as scaling the system under test.
start with low bottlenecks, ie a cluster of c6i.large ec2 spot. how fast can you do this? have fast can you scale that? ec2 and s3 is all you need to build anything.
use ec2 spot, avoid network egress, avoid cross region/zone traffic, create and destroy ec2 instances as needed instead of letting them sit idle. you could grow system scaling intution for the price of your streaming subscriptions.
start with something like this:
https://github.com/nathants/libaws/tree/master/examples/comp...
maybe mess around with public datasets on aws, just make sure to be in the correct region to avoid data egress.
welcome systems friend. one accurate measurement is worth a thousand expert opinions. scaling is fun!
-
Static site hosting hurdles
aws has too many knobs, presumably to satisfy the union of the needs of all the enterprise customers. that said, lambda+s3+dynamodb+ec2 are pretty good once you tape over all the knobs that aren't needed. i work with them like this[1].
these days i build on aws and r2. aws for the nuts and bolts, r2 for high bandwidth egress. it's a perfect match.
1. https://github.com/nathants/libaws
What are some alternatives?
aws-lambda-fastify - Insipired by aws-serverless-express to work with Fastify with inject functionality.
kawipiko - kawipiko -- blazingly fast static HTTP server -- focused on low latency and high concurrency, by leveraging Go, `fasthttp` and the CDB embedded database
dynamoose - Dynamoose is a modeling tool for Amazon's DynamoDB
aws-nuke - Nuke a whole AWS account and delete all its resources.
passport-apple - Apple authentication strategy for Passport and Node.js.
awesome-paas - A curated list of PaaS, developer platforms, Self hosted PaaS, Cloud IDEs and ADNs.
Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
pytago - A source-to-source transpiler for Python to Go translation
TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
dockerfile-rails - Provides a Rails generator to produce Dockerfiles and related files.
arc.codes - The Architect web site! 🌩
buildkite-agent-scaler - 📈A lambda for scaling an AutoScalingGroup based on Buildkite metrics