Our DevOps Engineer: ‘JustControl.it is a product at the intersection of convenience, functionality, and a favorable price’
April 27, 2020
The importance of a qualified DevOps for a development process can hardly be overestimated. It is always a DevOps Engineer who is at the crossroads of numerous processes. In other words, A LOT depends on him or her.
Today we are going to talk to our DevOps expert, Vladislav Aleksandrov.
Vladislav, you are a DevOps Engineer. That is to say, you are involved in almost everything we do: development, testing, monitoring, support. What’s the most interesting and most difficult area for you?
The most difficult area is normally the most interesting one. As an integral part of the project, I have, more than once, built new systems from scratch and introduced new solutions.
At the very beginning, I must admit, it was quite difficult to take into account all the possible pitfalls and comprehend our problems in their entirety.
However, as soon as you see that nothing has been in vain and everything works as intended, after all your countless efforts, you get inspired even more.
We constantly repeat that JustControl.it is a unique product. How could you, as a person who is responsible for so much, characterize our solution?
JustControl.it is a product at the intersection of convenience, functionality, and a favorable price. Our goal in this respect is to identify and implement certain measures needed to maintain this unique balance.
Let’s talk about the specific features you have worked on personally. Tell us about the flexible architecture, that we often mention, and your role in creating it.
We aim to build our architecture in a very specific fashion: so that the ecosystem of each client can function separately. Correspondingly, we continuously allocate adequate resources for each customer.
This framework enables us to create a solution where our customers can comfortably work regardless of others’ activities. If a specific need arises, we can quickly scale sufficient resources for any of them. I mean, we practice the so-called Infrastructure as Code (IaC) approach.
As for me, I develop and implement every element necessary to develop this infrastructure as quickly as we improve our functionality.
Flexibility and stability are no synonyms. Quite often one has to choose one thing only. How do we manage to combine them?
The answer to this question can be found in many details of our product. I would name our modularity, our scalability, and the fact that we use flexible cloud resources.
For sure, building a flexible and stable product is a really difficult task. I believe, we can do it. We will try to follow this same course and not to lose such valuable properties.
One more question, perhaps, the most important one. We work with marketing data. It is a confidential issue. Please specify why this sensitive data is completely safe with us?
As I have said, each client works in a dedicated environment. Each of them has their own security zone. Customer data is stored there, only there.
As for the environment itself, it is ‘cut off’ from the Internet to the maximum extent possible. All changes to the client’s infrastructure are made only via automated systems (terraform, ansible), which excludes the human error factor.
Once again, the security of customer data is paramount to our solution.
We started to work on JustControl.it a year ago. Now we have a fully functional solution that receives good feedback from our customers. How did the team manage to release it so quickly?
Here is a simple answer, it is all about a strong and experienced team.
When I came, I saw their clear understanding of the development path.
Yes, elaborate architecture and a strong team are the keys to our success.
You are an experienced DevOps Engineer. What is your opinion, how to be good in this role? What is required for this?
One needs to love learning. There are many methods and tools to implement state-of-the-art DevOps practices. They are also updated very often. One needs to keep abreast of these trends.
You also need to have a good understanding of your product. You work on it together with the rest of the team. And it is your mission to cover their specific needs, rather than to blindly introduce a popular technology you are fond of.
In general, obtaining new knowledge and using it in practice, this is my answer.
What is more important, good education (did graduated from ITMO), or hands-on experience?
I would say that experience is more important. At the same time, education shows you the right direction and builds a proper environment around you. Higher education is fertile soil, owing to which you grow and advance faster. So you should not choose one thing, it is better to combine them.
Finally, please, share your thoughts, what it feels like to work with the JustControl.it team?
I am happy to be a member of this team. My colleagues are more than professionals. They are good people who understand each other. Working with this close-knit team is a real pleasure.
More than that, I joined this team almost at the very beginning. This year gave some excellent experience in implementing DevOps practices from scratch. The case is that people often join accomplished projects where a lot has been done before them. It might be convenient, but it is not interesting.
As for me, I had to deploy everything from scratch, choose from a variety of tools, step on the rake, look for workarounds. Thanks to this, I began to understand many processes much deeper.