Notation – Bridging infrastructure and runtime code
Notation – Bridging infrastructure and runtime code
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!
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Unobin compiles Infrastructure as Code to one binary
A container runtime implemented in x86_64 assembly
Subverting Go's Runtime System
Toggle Methods and Endpoints at Runtime
Mixing C++ with Angelscript for runtime introspection and debugging
Restate, a Distributed Async Runtime
AegisBPF – Deterministic Runtime Enforcement via eBPF LSM
Kern – container and resource runtime in a 1.5 MB binary, no daemon
Orloj – agent infrastructure as code (YAML and GitOps)
Oyabun – resilient C2 infrastructure for pentesters