senior level Linux System Administrator/Devops Engineer with extensive experience in deployment planning and roll out of a large-scale production system. experienced in a variety of build, packaging, deployment, and continuous integration technologies. Docker expert and worked with various container orchestration technologies (Swarn, kubernetes, EKS).
experienced with AWS as well as private cloud and non-cloud instances. I’m a self-motivated expert with strong work ethics and productive self-starter. I have an expert level of fluency in English.
I have made a Galera cluster for MySQL. Example: in the Galera cluster the slowest node can shut down the entire cluster in peak time but I know in detail how to configure and manage even if it might just need 2 lines to be changed but it’s extremely important to know how to configure it.
When your application connects to single MySQL node if the node fails for any reason the whole application gets shut down but I use ProxySQL load balancer so I can use all of the nodes and more importantly I can differentiate read queries from write queries and direct all write queries to single MySQL node to avoid deadlock and direct read queries to other nodes. ProxySQL itself detects a failed node and replaces it with another node.
If ProxySQL fails itself, Keepalived will help us to have high availability which promotes passive ProxySQL to active.
I have worked as a Systemd Administrator in a customer messaging platform therefore I know RabbitMQ and Apache Kafka and worked with MongoDB and Node.js from the back-end side. In RabbitMQ it’s very important the amount of messages being controlled inside RabbitMQ and it does not reach critical state that does not affect the efficiency of the system.
Many people believe MongoDB as a no SQL database and works perfectly fine under high load however when the size of the database exceeds a certain amount depending on the server we need to consider certain things. For example to shard the data or using MongoDB features like set TTL on its documents until the old data automatically gets removed.
I am also an expert in debugging event-driven programming when the program does not work as expected.
Event-driven programming helps us to decouple our services.
Moreover, I’ve also worked in a variety of ride healing companies, online food delivery, online payment systems, etc therefore I do have great experience in this field.