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 require 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 regulations.
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.