Software development used to be interactive: one sat at the terminal, wrote a program, compiled it, ran it and tested it quickly. As the complexity of software grew over time we have developed tools to contain this complexity: containerization, orchestrators, hermetic build systems, package/dependency managers.
However every tool makes the development slightly less interactive: one cannot simply fire up a debugger in an IDE to debug a misbehaving process, the state
is no longer local and modifiable at will, network configuration is ever more complex. This talk investigates ways to bring the interactivity back, by looking at Kubernetes building blocks and recreating their functionality in a local development environment in a way that makes development and debugging of
applications as easy as possible.