The Anatomy of the Internal Tool

The Anatomy of the Internal Tool

(If you haven't read the high level overview, Simple x "Never" = Insane, you might want to start there.)

By "internal tool", I mean apps that engineers build for Ops to do semi-manual tasks. And when I say "apps" I'm talking about really simple apps.

The Parts

  1. Business logic (e.g. API endpoint)
  2. Simple interface (e.g. a few inputs and simple guardrails on a React app)
  3. Dumb "glue" logic (e.g. transforming tabular output into JSON input)
  4. Dumb external API logic (e.g. dig through the Stripe docs to make a simple POST)
  5. Other things: authentication, organization if there are many tools (site structure, search, etc), permissioning, audit logs, observability, bug reporting, infrastructure and deployment potentially.

Screen Shot 2022-04-04 at 1.30.40 AM.png

The Question

Okay, so the engineer needs to do #1. But the engineer doesn't really need to do #2 - #5. So how can #2 - #5 be automated or offloaded onto Ops?

Screen Shot 2022-03-31 at 11.59.25 AM.png