Debugging inside containers can be a nightmare. Looking for an easier way? Rookout adds breakpoints to Kubernetes and might just change your entire container game. Find out why breakpoints in Kubernetes can save you precious time.

A bird makes a good de-wormer, but how about a good debugger? Rookout cuts debugging time down with rapid production-grade debugging. The news is out: the little purple bird now integrates with Kubernetes.

We take a look at what this debugging tool can tool, and why it is the perfect match for Kubernetes.

More than a debugger

Previously, Rookout provided serverless debugging tools for AWS Lambda and IBM Cloud Functions. (On their website’s serverless page, they state that more services will come soon.) Now they are expanding to containers. But before we get into that, what makes this service worthwhile for developers?

First of all, Rookout saves precious time because it requires no restarts, redeployment, or extra coding.

What’s the difference between traditional debuggers and Rookout?

Traditional debuggers are built around the ability to directly connect to, freeze (break), and observe a single running process. Modern software is all about scale, speed, and orchestration. So not only is there no single process that you can connect to or freeze, but there are thousands of co-dependent processes running in parallel, constantly shifting and changing in the cloud (being orchestrated by automated solutions such as Kubernetes that usurp control).

Rookout bridges the gap to debugging modern software by enabling the software to connect back to the developers and provide data on-demand – without breaking allowing to support the asynchronous nature of the solution, and enabling Rookout to be used also in production.

For one thing, it is clear that Kubernetes is quickly becoming the standard for containerization. It remains the most-discussed repository on GitHub and when we interviewed container expert Erkan Yanar, he stated that “Kubernetes will be the Lingua Franca in and into which everything moves.”.

When asked, Rookout agreed with this sentiment about Kubernetes’ popularity:

Kubernetes is a very popular architecture choice so we want to be able to support debugging for it. Specifically, Kubernetes is harder to debug because of its encapsulated and asynchronous nature, especially at scale, and we knew Rookout was the right tool for doing it. Rookout’s own infrastructure actually runs on Kubernetes too, so naturally, we want to support it! Kubernetes is all about being able to easily develop, deploy and run apps in multiple environments.

However, Kubernetes lacks breakpoints. Debugging inside of a container is often complex when compared to a local environment.

Users can expect quality of life improvements with Rookout. Rookout stated that their service “gives Kubernetes users a debugging layer that works in development, staging and production. It also means they won’t have to install a lot complicated, high-overhead monitoring tools just to do debugging, or write and deploy new code. They can just get the information they need, when they need it, at the click of a mouse.”

This will eliminate some of the guesswork that goes into debugging inside of a container.

Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University in Long Branch, New Jersey and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat.