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

Clean Transactions in Golang Hexagon

How to implement transaction management in a hexagonal microservice? How to keep the isolation of the application layer and the database adapter? In this article I will share my experience in solving this problem. Clean architecture (aka onion architecture) is very popular in modern microservice development. This approach clearly answers a lot of architectural questions, and is also good for services with a small codebase. Another nice feature of clean architecture is that it combines well with Domain Driven Development - they complement each other perfectly.

Read more

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