Hello, I am Ilya 🎧

I am GDE on Cloud, a consulting certified cloud architect and technical leader at MTS Cloud. Currently, I am working on Containerum Managed Kubernetes service and PaaS layer architecture.

Before MTS, I made a data-intensive cloud-native ETL service for a job search company, led the development of several enterprise tools for Deutsche Telekom, and did less flashy projects. Also, I am a remote-first advocate and have been working remotely since 2017.

I enjoy sharing with the community - as an active speaker, founder of the Golang Voronezh and SAP Community Voronezh, and co-host of the Z-namespace podcast.

My love of continuous learning has led me to a Ph.D. in engineering and a master’s in management.

Also, I’m into coffee and motorcycles.



Architecture Design

Distributed systems are complex and fragile. I will design a robust system around the business requirements and specifics of the cloud or hybrid infrastructure.

Cloud Migration

Migrating to the cloud from an on-premise environment is a complex, multi-step task. I will plan the migration correctly and perform it without interrupting the services and the team.

Cloud Support

A cloud environment requires the implementation of DevOps practices and proper maintenance. I will make cloud systems robust and reliable, and billing obvious and expected.

Process Optimization

Companies waste money because of sub-optimal software development and support processes. I will implement effective workflow practices and automate routine operations.

book a consultation

Latest posts

Practical Use of Finite-State Machines

This is the first article in a series dedicated to FSM usage in distributed system architecture. We will talk about domains, transactions, and sagas. But let’s start with the basics. Finite-State Machine When we think about the finite-state machine, we probably imagine some computer science-related entities, math, and diagrams like that: Besides scientific language, a finite-state machine is a final set of states and the transitions between them. When it comes to real engineering, states are a set of consistent states in which the model can be.

Read more

Go-Swagger Tricks. Standard HTTP handler

Hey, reader! Maybe you had tried go-swagger library so far. If yes, you may notice that sometimes it’s not so easy to use. And it may look a bit complicated to start using it. In this number of small articles, I will share my experience on how to make go-swagger more friendly. Let’s start. Handling requests in go-swagger By default, go-swagger generates a specific handler type for each endpoint in your Swagger scheme - that is, you will get a code-generated structure with all import parameters kindly parsed for you and a number of responders for each response type (with pre-generated structures as well).

Read more

How I write my unit tests in Go quickly

We all love unit tests because they help us to keep our software workable. And we all hate them because they don’t appear magically - someone needs to write them. And when it comes to writing, it often takes a huge amount of time to cover the simplest cases. But I found my way to do that without pain (okay, with less pain). And I will share it with you like a simple illustrated guide.

Read more