Skip to content

Instantly share code, notes, and snippets.

@antdking
Last active February 23, 2022 21:02
Show Gist options
  • Save antdking/2c1c3621da2ae223aef0086b55668398 to your computer and use it in GitHub Desktop.
Save antdking/2c1c3621da2ae223aef0086b55668398 to your computer and use it in GitHub Desktop.
Building a tool

Title

Guiding Principles

To let you be Production Ready from Day 0

Using the tool should enable tightly securing and monitoring your services, with no extra work necessary. Your scratch code is now near Production Ready*.

No Compromising Maintainability

Simple design, both for you and us. Embedded into your day-to-day code. No more stagnent configs the one who just left wrote.

No Compromising Usability

Don't give the user extra work, reduce cognitive overhead. Fully pluggable design, allows extending where appropriate. Find problems as early as possible to safeguard the user.

It should Just Work

Plugins galore. If you want something done, find a plugin, or write your own! Even run it all from the command line for your shear laziness!

Core Components

  • WASM/WASI runtime (wasmer, wasmtime)
  • binding code to write + run in various languages
  • dual use code (deploy time for ops, runtime for accessing resources, runtime support for managing infra).
  • fully pluggable. Events/commands?
  • do we need to be deterministic in what order handlers run on an event? INVESTIGATE
  • guard rails. Some events should only expect one processor, so support that (should be default)
  • do we need request/response? I think for simplicity, respond with events.
  • events should avoid leaking to runtime, IO overhead. Instead, runtime should register for them. Allows for using native implementation for Web requests, plugging into boto?
  • event: command; sender; payload for command
  • monitoring events: sent to[];
  • logging events: sent by; message; level

Note: petition to python for injectible interfaces

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment