Hacker News new | ask | show | jobs
Show HN: A command-line utility for deploying serverless applications to AWS (github.com)
68 points by jpartusch 1945 days ago
9 comments

Just an observation on the naming -- "Serverless UI" -- my first assumption from that was that this is some kind of _frontend_ to using Serverless. I was scanning for a demo in the repo when I realized it's actually a CLI utility.
Would be better if it leveraged open source serverless project like Fn Project than proprietary cloud technology that locks one in https://fnproject.io
> Serverless UI deploys each function in your /functions directory as a Node.js lambda behind a CDN and API Gateway for an optimal blend of performance and scalability.

Cool!

> and API Gateway for an optimal blend of performance and scalability

Curious what HN's thoughts are on API Gateway. I've been very frustrated with it. I find a plain ALB simpler to work with and less weird. Sometimes to get API Gateway to pick up a change (via terraform) we have to log into the AWS Console to toggle a switch just to get our unrelated change to get picked up.

API GW is by far the flakiest AWS service I have used with Terraform. Even with all the badly documented depends_on that is required to make it mostly work it still was not great.

It kind of makes me feel like using a reverse engineered driver, it works, but some kind of underlying assumption or knowledge is missing that makes it behave weirdly.

What's is the difference than hosting option from Amplify?
In my experience there has been a lot of code-generation and configuration involved with deploying an Amplify application. Additionally, it required a connection to a git provider (at least this used to be the case)

My goal with Serverless UI was to make the experience as simple as possible to get started, while still allowing for integrating more advanced infrastructure as the application grows

How is this different than the Serverless framework?
Good question! This is meant to be a "zero-config" utility rather than a generic framework. Under the hood, Serverless UI uses the AWS CDK to build a CloudFormation template with a few assumptions built-in (eg. deploying a static UI, anything in /functions becomes an endpoint, etc).

As far as features go, it more closely aligns to Netlify, but with direct AWS integration.

Yeah, this is an excellent idea. The trouble with Netlify is that the moment you outgrow their walled garden you're destined to complect your architecture with other cloud services anyway. Might as well start off with a rich ecosystem like AWS to avoid this issue.
It looks like this is using the AWS CDK under the hood. So is this just a wrapper over the top of the CDK constructs for serverless?
From the author in this thread: "Under the hood, Serverless UI uses the AWS CDK to build a CloudFormation template with a few assumptions built-in (eg. deploying a static UI, anything in /functions becomes an endpoint, etc)."
Yep! Diving deeper, the @serverlessui/construct package has a few custom constructs to facilitate the deployment. Additionally the @serverless/cli tool parses the project and configures a CDK App to synthesize and deploy.

Overall, it saves the manual setup and pre-configures a CDK application without any config for the end-user!

This looks great. It's not specifically mentioned, but would this support NextJS if built statically?
I haven't tested it specifically (I tried Gatsby), but it should work! I'm a Nextjs fan so I might try to tackle SSR in a future release
Do you plan to support firebase cloud functions or Google cloud functions?