Cloud-native DevEx
These are merely some notes I’ve been collecting overtime, most of them from microXchg 2019 regarding different practices, guidelines and tooling that impact a team’s development experience through the SDLC.
So, in principle:
DevEx is primarily about minimising the friction between having an idea to dev/test, release and deliver observable business value; how you construct your platform impacts the developer experience greatly.
It is essential to curate the experience of local development, CI/CD, observability, issue troubleshooting, etc.
Some areas of focus:
| Prototype | Production | Mission-Critical | |
|---|---|---|---|
| Dev & Test | Local/Hybrid | Hybrid/Local/Stage | Local/(Hybrid) staged |
| Release | Canary (Synthetic shadow) | Canary / Pre-prod test | Pre-prod test / Canary |
| Guide Rails | YOLO | Limited | Strong |
| Where to focus? | Inner development loop & CI/CD | Observability | Observability & Debugging |
In terms of development and testing, there are a broad set of options to get started locally which among other advantages we won’t incur costs for our workloads, at least for the most part; we could also choose from two strategies: take some of our workloads to the cloud or bring some of the stack down locally to test.
Telepresence & Squash are among those tools that facilitate local debugging & testing microservices particularly, here’s a write-up where both are compared for distributed logging.
In terms of tools to automate the inner development loop:
Here is also a write-up that compares some of them.