A handover talk about a new internal authorization-related service.
This talk goes over the why, when, what and how of a new internal authorization service that we have built at Akvo.
It also contains some bits and pieces that I found interesting about the implementation: event sourcing, bad data, Postgres ltree, SpecMonstah, more bad data, dark launches, testing DSL, DB parallel tests, … Did I mention bad data already?
As all the code is open sourced, I though that may find it useful as a real world examples of the above.
For a little bit of context, in the talk we mention:
- “Flow”: this is a Java/JS application for survey design and data collection. Runs on Google App Engine, which uses Google Datastore. The “legacy” app.
- “Unilog”: long story short a log implementation of top of Postgres. And “old” Clojure app.
- “Lumen”: this is a Clojure/JS application to analyze and visualize data. Runs on Kubernetes + Postgres. The “new” kid.
We are in the process of merging Lumen and Flow together. Maybe one of these years ….
You can find the slides here and a table of content after the video that allows to jump to any of the bits that you may find interesting.
This is not a conference talk, do not expect it to be as polished. In fact I say “cool” like two hundred times.
Cool! Let’s get started!
Let me know if you find it useful, if it is too specific or not specific enough.