Hello, I am Ilya 🎧
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.
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.
Distributed systems are complex and fragile. I will design a robust system around the business requirements and specifics of the cloud or hybrid infrastructure.
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.
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.
Companies waste money because of sub-optimal software development and support processes. I will implement effective workflow practices and automate routine operations.
Kubernetes-as-a-Service with High Availability
Kubernetes is the obvious solution for building a cloud-native infrastructure. The client, a cloud provider, wanted a Kubernetes cluster management service that would provide the customer with a high level of quality and compete with other providers. At the time, there was an MVP of the service, but it was built in a hurry and did not have the necessary characteristics.
Geo-distributed Cloud Provider Infrastructure
The main assets of a cloud provider are managed services (IaaS, PaaS, FaaS, etc.) and a robust infrastructure that is resilient to both short-term problems and large-scale disasters.
While service development follows common processes, the design and implementation of cloud infrastructure requires expertise in many related areas - data center equipment, resilient network infrastructure, redundancy to handle large-scale failures, multi-layered security and compliance with standards and government regulation.
Cloud Migration of ETL Service
The client is a job search company that owns a large number of job boards. At a certain point, the company encountered a growth slowdown due to the complexity of administering its own infrastructure, as well as the inefficiency of the search engine used - ElasticSearch.
Importing data from partner systems was slow and unstable, and the search engine could not cope with the volume of data, while the consistency of search results suffered.
Where to Place Logger in Golang?
Logging is an integral part of any application. However, the correct location and use of the logger in the project structure raises questions even for experienced developers.
There are several ways of doing this, of which I give preference to one. I will explain why.
Basics of cloud scaling
In this article, you will learn what application scaling is, and how cloud infrastructure simplifies the process and makes it more useful for business.
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.