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.