Rookout has launched as a rapid debugging solution, and has secured $4.2 million in funding. With Rookout, developers can debug and understand issues in their code by collecting data on-demand, without needing to code, re-deploy, or restart their applications.
Typically, the debugging process is complicated and lengthy, the company explained. It often involves writing additional code, testing it, getting it approved, and then pushing it to production. Even then, developers often find that they still don’t have the necessary data to solve the issue. With Rookout, all developers need to do is press a button to get the data they need in seconds, explained Or Weis, CEO and co-founder of Rookout.
“We are constantly facing the need for more complexity, greater speed, and frequency in development and in deployment of features,” said Weis. “If we try to work the same way we did 20 years ago, we’ll constantly find ourselves failing. We have to come up with new tools to speed up that process and make it more agile. And that’s what our solution is all about: enabling greater agility and speed when you want to iterate on understanding your own software.”
Rookout allows developers to set up rules inside their code that act as “non-breaking” breakpoints. The application will still continue to run as normal and the data will be collected and sent to where you need it, such as to alerting systems, monitoring, logging and analytics, or a generic webhook. According to the company, the data can also be viewed on Rookout’s IDE.
Rookout was created by two low-level software engineers, Or Weis and Liran Haimovitch. According to the company, they were inspired to create this solution based on their experience working in cyber-units in Israel’s security service. There they learned that visibility of code is essential for both attackers and defenders. Then they realized that this practice of visibility could be applied to software development more generally.
They found that it was often difficult to understand how software is behaving. “We found it very frustrating,” Weis said. “We basically asked, ‘why is this the case?’ It’s my server, my code, my application. Why can’t I just press a button and get the information I need? So we built a product that does exactly that.”
Rookout currently supports Python, JVM, and Node.js in AWS, Azure, Google Cloud and local servers. It can also be used with serverless and containerize applications.