Miguel Palhas
Subvisual / UTRUST
@naps62
But first, a little background...
- 30000 users (all at once)
- detecting 100s of BTC & ETH transactions
- we didn't know what we were doing
- we didn't have time to learn what we were doing
- Continuous Integration
- Release Management
- Bug Tracking
- Monitoring
The codebase
utrust_backend/
|--apps/
| |-- merchant_api
| |-- buyers_api
| |-- blockchain
| |-- ...
Different scalability needs
- Allowed downtime
- Blue-green deploys
- Horizontal/Vertical scaling
Function calls
HTTPS JSON RPC calls
+ retries
+ zero-downtime deploys
Erlang messages
Message Queues
+ error tracking
+ long polling
+ fan out for local development
The people
or: questions a developer never asks
- How will this behave in production?
- Can these two commits be released at the same time?
- Do my changes work with a non-empty database?
- Can I change this migration file?
Hey @irish_wristwatch, I did the code.
Can you infrastructure?
Hey, @irish_wristwatch,
I need to change an environment variable 😬
Hey, @irish_wristwatch, I need to
<do very non-doable thing in production> 🙉
Miguel Palhas
Subvisual / UTRUST
@naps62