Costa Tsaousis of Netdata: “5 Things You Need to Know to Create a Successful App or SaaS”
Create a product that solves a problem. After years of frustration, I knew exactly what gaps existed in available monitoring tools. I tried almost every solution out there at that time and identified the missing pieces to create Netdata.
I had the pleasure of interviewing Costa Tsaousis the the founder and CEO of Netdata, an innovative real-time performance monitoring solution for infrastructures of all sizes. He is working with the Netdata team to build both a robust monitoring agent with an engaged open-source community and a complementary SaaS application that helps enterprises manage their Cloud infrastructure, at scale.
Before Netdata, Costa worked for 25 years in the online IT services industry, assisting disruptors become challengers using technology. Costa is also the original developer behind FireHOL, a “firewall for humans” that builds secure, stateful firewalls from easy-to-understand, human-readable configurations.
Thank you so much for joining us! Our readers would love to “get to know you” a bit better. Can you tell us a bit about your ‘backstory’ and how you got started?
I have been a C-level executive for the last 20 years. However, I am truly a technology enthusiast and I love open-source. Actually, I believe that open-source software is one of the major breakthroughs of our time. It spreads technology out like never before. It enables people all over the world to use and study advanced technological products, for free. It also changed my career. Without it, my career would be a lot less interesting.
So, a few times throughout my career, I identified something that was missing, or something that I believed should be supported in a completely different way. And I developed it as open-source software, contributing back to the community my ideas and my work.
This is what happened with FireHOL in 2002, when I identified that most of my engineers were not able to write and maintain Linux firewalls easily. FireHOL is a language to express firewalls and it is so easy that it is almost like plain English.
A similar situation occurred again in 2009 when I realized that the Linux kernel has magnificent QoS capabilities for network traffic, but it is quite cryptic to be used widely, so I created FireQoS, a language like FireHOL, but this time to express network traffic QoS.
In 2014, while I was moving a large infrastructure from on-prem to the cloud, I realized that the way we monitor our systems and applications, especially in the cloud era, is heavily problematic. Out of frustration from using other solutions for more than a year, I created a tool that flips everything we know about monitoring upside-down. And people loved it. In 2016 I released it on GitHub and shared it on Reddit, which went viral. Within a few weeks the project reached 10k stars on GitHub, and Netdata was born.
What was the “Aha Moment” that led you to think of the idea for your current company? Can you share that story with us?
In 2013, I worked for a company that relied on financial transactions. We had a very simple SLA, complete all financial transactions within 3 seconds. As we migrated from physical servers to the cloud, we encountered countless issues. To troubleshoot, monitor, and resolve these issues, we needed insights into our systems. We tried almost all commercial solutions and SaaS offerings that existed at that time. We still lacked visibility into the operational problems.
We worked with several vendors, senior consultants, and developers, and refactored major parts of the infrastructure for a year with no luck.
During that time there were many “aha moments”:
- 6 months to set up monitoring? Why do we need to configure everything metric by metric? Come on. This is a standard Linux box, a standard web server, and a standard database server. Monitoring should recognize this and work out-of-the-box.
- How are we supposed to monitor a cloud environment that is neither linear nor predictable, using metrics of 10-seconds to 1-minute granularity? The world goes in real-time. Monitoring should collect and visualize everything per-second.
- Is it rational to expect a single person to deeply understand computer networking, application development and being a data scientist at the same time? No, that person does not exist. Monitoring our systems and applications should use data science behind the scenes and not require it by its users.
- After spending countless hours and huge amounts of money, I realized that whatever I had built for monitoring, was just an illusion. It was built to make me feel safe, happy. But its use was close to nothing. Monitoring is not dashboards and alarms. It is about troubleshooting ad hoc issues at hand.
And really many more other little decisions all over the place…
Can you tell us a story about the hard times that you faced when you first started your journey? Did you ever consider giving up? Where did you get the drive to continue even though things were so hard?
When I was working on Netdata as a side project, I can recall long periods of my life, going to bed early in the morning, extremely tired, and exhausted. For several years I dedicated every second of my personal time to this project.
What motivated me was the love of the community. It was amazing, extremely fulfilling, and motivating to see how many people used the project and I was keen to keep continuing because I was confident I was building something so unique that would influence the lives of so many.
So, how are things going today? How did your grit and resilience lead to your eventual success?
Things are good. We have made many achievements, but still have many more goals to accomplish ahead. I am inspired to keep moving forward to reach our primary goal, which is to democratize monitoring: creating a product that will help the people who find it difficult to properly manage their infrastructure’s performance.
Can you share a story about the funniest mistake you made when you were first starting? Can you tell us what lessons or ‘takeaways’ you learned from that?
Ah! The Netdata agent is written in C. I used to be a C developer in the 90s. By 2014 I was really rusty. My C coding skills were not good. Also, Netdata needed coding in many more languages, even a few I had zero experience with before, like python.
When I released the project in 2016, I got a lot of recommendations from users about many things, such as testing suites, static code analysis, modularization of the project, etc.
A few of them were a bit embarrassing. I didn’t know a lot of stuff. But the love of the users was so strong, and I was open-minded and keen to learn, so the project quickly transformed.
The takeaway is that a lot of young engineers, I have met, are afraid to become open-source developers because of the criticism they may get for their coding skills. Well… don’t be. Your current skills are not that important, and people will be gentle with you if the project is useful to them. They will help you. Just be open-minded and keen to learn…
What do you think makes your company stand out? Can you share a story?
We strongly believe we are building the future of distributed health monitoring and performance troubleshooting, and we aim to provide most of it for free, forever, and for everyone. We aim to change the face of monitoring, forever!
Which tips would you recommend to your colleagues in your industry to help them to thrive and not “burn out”?
Find a problem that inspires you to create a solution. The drive for accomplishing the goal you’re passionate about will outweigh the downsides.
None of us are able to achieve success without some help along the way. Is there a particular person who you are grateful towards who helped get you to where you are? Can you share a story?
I am very grateful to the Netdata community. Their contributions, their suggestions, their criticism, their feedback, their love made Netdata what it is today.
There were contributors that worked with me for countless hours. People that I never met, I didn’t even know their real names and still they were offering their expertise and skills to improve the project. Amazing!
Ok thank you for all that. Now let’s shift to the main focus of this interview. Approximately how many users or subscribers does your app or software currently have? Can you share with our readers three of the main steps you’ve taken to build such a large community?
Our open-source community counts about 2.5 million people, growing by about 4k every day. We see that about 300k are active every month. Our Cloud offering has over 35k users. Our Netdata agent has been downloaded more than 250 million times so far and is currently being downloaded more than 700k times every day.
Our growth comes from being open and connected to our community, building a product that makes the lives of IT teams easier, while challenging the status quo to deliver innovative solutions to tackle complex infrastructure.
What is your monetization model? How do you monetize your community of users? Have you considered other monetization options? Why did you not use those?
We’re an entirely free, open-source platform. The Agent product and current Cloud features will always be free for our users. In the future, we are looking at providing paid features that are intended for large enterprises with complex requirements that go beyond the core benefits of infrastructure monitoring that we will provide to everyone at no cost.
Based on your experience and success, what are the five most important things one should know in order to create a very successful app or a SAAS? Please share a story or an example for each.
- Create a product that solves a problem. After years of frustration, I knew exactly what gaps existed in available monitoring tools. I tried almost every solution out there at that time and identified the missing pieces to create Netdata.
- Putting users first. Staying in touch with your users and community will help you learn and grow. Anyone who submits an issue is a contributor to Netdata, and we address each and every issue submitted. The community’s needs drive Netdata’s future, which we are only able to do by staying connected.
- Design to make things easier. Netdata exists to make the lives of IT teams easier. Their job is to make things better; our job is to build tools that help them do just that. Develop products that simplify users’ lives.
- Self-motivation, passion, drive for excellence. All these qualities will make the process of building your product easier and hopefully fun. Find something that’s enjoyable that will help drive your vision. I’ve found remarkable joy in developing Netdata from knowing that others will find great benefit from it.
- Do it yourself. If you have the skills, resources, and drive, building your product yourself will help you achieve your vision. I started Netdata on the side while I was a COO at my 45 and built it from the ground up. My experience gave me my vision, knowing what components were necessary to develop and how.
You are a person of great influence. If you could start a movement that would bring the most amount of good to the most amount of people, what would that be? You never know what your idea can trigger.
This is what I think I do with Netdata!
We need the community to help us. We are going to give almost everything for free and to everyone. Our hopes are that we will inspire them to help us create the best monitoring solution out there. A monitoring platform that will significantly improve the quality of their operations by surfacing a lot more insights, drastically simplify their everyday lives by embedding most of the expertise required into the tools, democratize monitoring by removing all unnecessary complexity and allowing everyone to effectively monitor and manage their infrastructure.
But for this to happen, we need the community to use Netdata, report back their use cases, contribute ideas, suggestions, code and share the word…
How can our readers follow you on social media?