OpenLampTech - Founder & Developer Interview With Roman Agabekov
Releem founder and developer Roman Agabekov, shares the importance of MySQL performance tuning and how Reelem solves this overlooked step in application development.
Welcome to this OpenLampTech text-based developer interview.
Today’s guest is Releem founder and developer Roman Agabekov.
MySQL performance tuning is often overlooked in application development.
Roman has built Releem to help ease the pain of MySQL performance tuning for applications.
Needless to say, I am very excited Roman agreed to participate in this interview for the OpenLampTech readers.
And now without any further adieu, on to the interview.
Q: Please introduce yourself and tell us what you currently do for a living.
Hey Joshua and readers. Thanks for this opportunity.
I’m the software engineer and Founder of Releem, a MySQL Performance tuning tool. I’m also a co-founder of the Drupal development company, Initlab.I’ve been using MySQL since 2008 and I have been consulting and managing MySQL servers for over 10 years.
Now I’m building Releem full-time.
Q: What PHP framework(s) and/or CMS(s) are you interested in the most or currently using and why?
I used and maintained infrastructure for Drupal projects, and used Drupal for my side projects. It was the first CMS I was exposed to and as previously mentioned, I co-founded, Initlab, a Drupal-based development company.
Now I’m focused on Python and Go because it is the main stack of Releem.
Q: Your MySQL performance tuning product, Releem, helps developers tune their MySQL databases. What inspired you to create Releem?
Releem is a simple MySQL Performance tuning tool that helps engineers tune MySQL configuration to improve applications performance and reduce the costs of server resources.
It is an interesting story why I decided to build it.
In 2019, during my time as a MySQL consultant and team lead, my colleagues and I managed several hundred MySQL/MariaDB/Percona servers monthly. Our services included MySQL Performance Tuning.MySQL server tuning isn’t a one-time operation. Applications are continually improving. Users are growing and the database is continuously growing in size as well.
While the process of tuning may seem tedious, there are several problems with it.
Tuning MySQL configuration takes an experienced engineer. Junior and Mid-level engineers often make critical mistakes.
Even experienced engineers can make mistakes when manually working through the MySQL Performance tuning process.
That’s why I decided to automate this process to decrease tuning time and reduce human errors.
We needed a solution with the following requirements:
Automatically recommends MySQL configuration tailored for current resources, database size, and workload.
Fast and accurate results to save time.
A simple installation process.
Supports self-managed MySQL servers.
Supports different MySQL/Percona/MariaDB versions.
I searched far and wide for similar applications that could tune MySQL for the best performance, preferably in the fully automatic mode.
I discovered there wasn't a solution that could be called good, let alone perfect.
All these solutions generate only suggestions and don’t generate recommended MySQL configurations.
That is why I started building Releem. The first version was published in 15 days.
And, within the first 6 months, we saved dozens of engineer's hours on a monthly basis.
Q: How does Releem approach performance tuning for web applications and why do you think most developers miss this most important step in application development?
Nice questions, I’ll start with the second one.
Web application performance largely depends on database performance. We wrote an article on how MySQL performance tuning impacts the performance of popular open-source frameworks and CMSs.
As Releem's founder, I talked with many experienced developers and discovered that the majority of them don't consider database performance tuning as an opportunity to improve the performance of their apps.They refactored code or improved architecture for months, but the database remained slow just because it doesn't use enough memory. They were quite pleased when after several days, Releem improved the performance of their apps without coding and refactoring.
Also, I chatted with popular developers who teach others how to tune databases only when they do all other things.
I think that for production systems, MySQL Performance Tuning - according to workload and system resources - should be one of the first steps, and most definitely not the last.
MySQL Performance Tuning is not a silver bullet, but it’s a great opportunity to improve performance without any line of code.Regarding the second question.
Releem's approach is quite simple:
Releem Agent collects system information and metrics from the MySQL server and sends them to the Releem Platform.
Releem Platform, using Expert Systems and Machine Learning, makes recommendations to improve MySQL performance.
To save time for engineers, we built the simplest dashboard detailing the main performance metrics and recommendations. Engineers can apply recommendations manually or automatically.
You could use Releem for Free.
That is how it works. :)
Q: What is one piece of software that you just cannot live without and why?
It’s a hard question :). I’m using a lot of software, but mostly I like Notion and Todoist because it helps me to organize my tasks and move forward.
Q: You type all of your code in which IDE/Text Editor/Software?
I love VSCode because it supports Python, GoLang, and Docker as well.
Q: What hobbies or activities do you do for fun?
I love running, meditation, and learning. Actually, I work for fun because I love to automate solving problems for people.
Q: Where can readers go to learn more about you and any projects you may have going?
I have social accounts on LinkedIn and Twitter where I share my journey with Releem.
Feel free to get in touch.
Q: Anything else you'd like to add or share with the OpenLampTech readers?
Yeah, if you’d like to see new frameworks in our research on how MySQL performance tuning impacts web apps performance just let me know.
If you have any database performance issues or have some questions related to MySQL please feel free to get in touch. I’ll be happy to help.
Joshua, thank you so much for OpenLampTech and the great content. You’re building a helpful resource for developers.
Please take a moment and share this fantastic interview with others.
Thank you, Roman Agabekov for sharing your knowledge and insights with the OpenLampTech newsletter readers!
Thank you for reading. I hope you have a great rest of your week.
Take care.
Josh Otwell