To use Kubernetes in your development process, one of the foundational requirements is running your code in a container. As you've seen, this adds a few steps to your development process. It also places a few more constraints around how you structure your code and interact with it, primarily so you can take advantage of the constraints to let Kubernetes do the work of running the processes, connecting them together, and coordinating any output. This is very different from many developers' habits of running one or more processes together, even with additional services needed for your application – such as databases or caches—on your local development machine.
This section provides some tips and suggestions on how to work with containers more effectively.