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

Hiring Developers

(not) Hiring DevOps

A non-DevOps environment

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?

Antipatterns

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> 🙉

Creating a DevOps culture

from the inside

Miguel Palhas
Subvisual / UTRUST
@naps62

DevOps Braga - Challenges of (not) doing DevOps

By Miguel Palhas

DevOps Braga - Challenges of (not) doing DevOps

  • 342