In the fast-paced world of technology, keeping up with the latest advancements is essential for software engineers. If you can’t quickly grasp how the technology works, you are overboard. Despite the progress in coding practices and AI, infrastructure management remains a significant hurdle. Yes, many frameworks like Terraform help your infrastructure remain “as-a-code.” That means you can simply open a repository and see how cloud services are baked together to meet the company’s needs. But in practice, it’s anything but ‘simple.’
Infrastructure continues to be the most challenging area of IT. A recent State of Cloud report conducted by HashiCorp, the leader in cloud managing solutions, revealed that only 8% of respondents could be considered highly cloud-mature. And 64% are experiencing a shortage of skilled engineers in this area. With a very complex field on one hand and a lack of qualified people on the other, the IT industry faces a significant problem.
Enter Vladimir Filipchenko, a well-known expert in the field. He is a Staff Software Engineer on a Platform Infrastructure team at Imply. The company Vladimir is working for, relies heavily on cloud infrastructure, delivering a database-as-a-service to the world’s most valuable companies. With more than 15 years of diverse engineering experience in companies like Fitbit and Google, including a deep focus on cloud infrastructure, Vladimir has a great idea for improving things.
Vladimir joined his current company in the fall of 2023. As is often the case, he initially struggled to grasp the big picture of the solution the company was selling, even though the team had done an excellent job following the infrastructure-as-code approach with comprehensive documentation. A study by Microsoft shows that onboarding a new engineer to full productivity takes 6-9 months. For platform engineers, this period can easily extend to a year.
Vladimir’s insight was to transform code into clear, actionable diagrams: “If everything is already in the code,” he reasoned, “why not take it to create clear, straightforward diagrams? These diagrams would not only help new engineers ramp up faster but also save existing engineers from spending time making and supporting schemas.”
Implementing this idea was no small feat. Several challenges lie beneath the surface. For one, there are numerous approaches to defining infrastructure, each with its own complexities. Additionally, projects can be massive—sometimes overwhelmingly so—and every line of code needs to be parsed and understood in context. Then there’s the issue of connecting the dots: How do you link components that appear entirely unrelated? What strategy ensures that the connections are both accurate and meaningful?
Finally, as Vladimir notes, “Not every piece of the puzzle needs to be visible in the final diagram. Displaying every detail would clutter the visualization, making it more confusing than helpful. The focus must be on highlighting the most critical components while graying out secondary elements to maintain clarity.”
Vladimir’s solution is NoReDraw, a tool that transforms existing code into architecture diagrams that visually represent the core resources and components within the code, clarifying how they interact. Vladimir explains, “While people usually seek comprehensive representations, not every detail must be shown in the final diagram. Displaying too much would clutter the visualization, making it more confusing than helpful.” This philosophy is why NoReDraw focuses on the most widely used frameworks, such as Terraform, Gradle, Docker, and GitHub Actions. The tool ensures clarity and usability by prioritizing critical components and graying out secondary elements.
Another challenge was ensuring support for various output formats. Since the tool is primarily designed for software engineers and teams, the output must be easily integrated into existing documentation. Vladimir confirms, “It was essential to generate diagrams not only as traditional PNG images but also in text-based formats like Mermaid and PlantUML. I know some teams prefer to keep their documentation entirely text-based within a Git repository, so I also accommodated that.”
Vladimir highlights another significant hurdle that is not that obvious: “Despite my dedication to the project, it’s nearly impossible to cover all possible variations. Moreover, many companies rely on proprietary tools that aren’t publicly available.” It is particularly true for companies like Google, where Vladimir spent several years. Google often favors in-house frameworks over open-source or widely known technologies. “With this in mind, I designed NoReDraw to be customizable and extendable,” Vladimir continues. “All the complexities are inside, under the hood. This approach lets anyone simply integrate their own components, tailoring to their specific needs.” This flexibility makes NoReDraw highly versatile, similar to Terraform’s approach with its providers.
What about security and data privacy? Many companies are understandably hesitant to send their codebases to external platforms or allow advanced AI to analyze sensitive data. Vladimir addresses this concern directly: “NoReDraw operates entirely autonomously. Instead of uploading your data elsewhere, you download the tool, ensuring that all data remains securely on your company’s servers. This approach effectively eliminates potential security risks, and no internet connection is required.”
Vladimir’s mission is to eliminate the bottlenecks in infrastructure management through automation, “My passion always lies in simplifying complex things. I believe that by streamlining processes, we can unlock new levels of efficiency and productivity, allowing developers to focus on what truly matters—innovation.”
NoReDraw is a tool with a lot of potential for simplifying infrastructure management. By transforming complex code into clear, easy-to-understand diagrams, it tackles a pain point that many platform teams face. While it may not solve every challenge, its flexibility and customization options make it a useful asset. Vladimir’s approach is practical and thoughtful, offering engineers a way to focus less on manual tasks and more on building new solutions. It’s a promising step forward in making infrastructure easier to manage.