First, some good news: the DevOps field’s expertise and performance is growing rapidly. Its best practices, like a clear change-approval process, not only improve speed and stability, but also help decrease engineer burnout.
Debugging Docker containers can be a very challenging process. Here, I’ll share a few basic techniques for debugging containers—mostly Docker ones, but the techniques are also valid for many other types of Linux container engines. (The methods I’ll detail here are intended for Linux-based systems.)
Linux capabilities, and how they interact with users and containers, can confuse even experienced engineers. At first it seems like this is fairly straightforward stuff, but it gets complex quickly and the information on exactly what is going on is scattered across many pages, Git repos and blogs, so it can be hard to piece together.
For consumers, the speed of technological progress is magical, because of what’s suddenly become possible: self-driving cars, same-day delivery, movies and television shows streamed to us anywhere, anytime.
As I described in my previous blog post on the key principles to guide a microservices project, the efficiency of the value chain determines costs, affects profit, and ultimately decides whether a business will reach its goals. It becomes very important to know if the changes we apply to the system—for example, the introduction of a microservice to implement a value-chain step—have positive or negative consequences on the overall system.