Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Notation – Bridging infrastructure and runtime code (github.com/notation-dev)
9 points by djgrant 9 months ago | hide | past | favorite
Hey everyone, Daniel here. I’m building an open source framework that makes it easy to code and deploy serverless applications – https://github.com/notation-dev/notation | https://notation.dev.

I wanted a tool that delivers the benefits of serverless (scalable managed services), but with a first-class developer experience.

Here are the main concepts:

1/ Notation provides a set of primary infrastructure resources (eg API gateway, lambda, event bridge etc) that can be composed together into serverless apps. They are fully typed, so slot into place very easily. A lot of annoying cloud implementation details – things like constructing valid ARN strings, and writing JSON policy documents - are handled by the framework.

2/ Secondary infrastructure resources (eg IAM roles, permissions and integrations) are inferred from the relationships between the primary resources, and from explicit user intents. You can see these visualised in a generated graph.

3/ Runtime code (ie the lambda function code) belongs in separate modules – but, these can be imported into and referenced by infrastructure modules. Again, we have end-to-end types, so if a lambda function were configured to accept and API request, but got attached to an SQS stream, the compiler would quickly complain about that.

4/ Notation apps can be deployed directly to your own cloud accounts. If you want to develop locally, you can deploy using watch mode, which hot-swaps infrastructure resources, and provides snappy updates of serverless functions, while you code.

The next step is to integrate more AWS services, and then later expand to other cloud platforms (feature requests ofc welcome).

You can give Notation a spin at https://github.com/notation-dev/notation. I’d love to hear your feedback on the approach!




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: