We had a very successful remote Meetup for our first try. We went over some new items in the Docker world and had a presentation from Charles Pretzer of Buoyant who spoke about “Debugging Network Traffic Between Containers”.
The presentation was about hardware virtualization and how that has changed the landscape of how we build, deploy, and run applications. This has caused a cascade of change, not the least of which is how we have to troubleshoot and debug applications. Breaking a monolith into microservices means that there is more network traffic between the services. Moreover, the networked nature of these applications means that business logic can be described as both a client and a server at the same time and we need a toolkit for being able to understand the complex relationships between the services.
Fortunately, we can use “tried and true” tools to perform classic network operations on our modern containerized workloads. Curl is a classic example of a tool that we can use when we have shell access to a container. However, the best practices of containerization suggest that shell access and the utilities built into a container should be limited only to the binaries required for the business logic to run. With that in mind, this presentation follows the evolution of techniques and tools which enable fast and reliable troubleshooting for modern applications.