avatar

Pavel Klimov
Senior DevOps Engineer

About

  • Intimately familiar with AWS and the lot of it's services;
  • Expert knowledge on creating and maintaining Kubernetes clusters;
  • 2+ years of building and maintaining CI/CD pipelines;
  • 5+ years of scripting, primarily Python and Bash, although I have some basic experience with Go as well;
  • Solid UNIX experience;
  • Firm knowledge of TCP/IP network stack;
  • Extensive expertise in monitoring and improving the reliability of complex environments, as well as organising and improving incident management;
  • Well-developed understanding of internet technologies and client/server architecture;
  • Good communication skills and a sturdy personality, stay concentrated and polite at all times

Work Experience

Gett
Moscow
November 2018 – Present
DevOps Engineer

Manage multiple (7 to be exact) Kubernetes clusters: running on AWS nodes; maintained with Kops and custom Python scripts.

Develop CI/CD pipelines: Groovy and Python scripts running on multiple Jenkins instances as well as managing 3rd party CI tools (e.g. TravisCI).

Manage AWS infrastructure as code: Terraform, Ansible, Chef, Packer, etc.

Upkeep and develop infrastructure monitoring and logs: Prometheus, Thanos, Athena, Grafana, ELK stack, self-managed Elasticsearch, AWS Elasticsearch cluster, Datadog, New Relic, etc.

Ongoing work on building a high-security environment together with Application Security Team: integrate 3rd party security tools (Snyk, Checkmarx, Lightspin); build pipelines based on these tools; maintain and ACL network policies.

Develop various dev-tools: K8S production clusters access tool; production RDS access tool and a couple of slack bots.

Highlights
  • Work with a high-load, 200 000+ rpm environment.
  • Provide 24/7 on-call support for the entire R&D team one week per month.
  • Redefined logs collection and delivery infrastructure multiple times. From pure ELK with K8S-based components to New Relic Logs (replaced self-managed Elasticsearch) with other components distributed between K8S and standalone AWS ec2 instances with focus on redundancy and cost optimisation. Created a fast and reliable pipeline that bootstraps and deploys components along the way
  • Participated in eliminating the consequences of Codecov security incident 2021 which included developing the procedure and the code required to change over 200 AWS RDS instances' passwords; rolling over the logs infrastructure, packed with RegExes to catch and remove sensitive data before transmitting it to a 3rd party (New Relic), etc.
  • Participated in developing and deploying what we call the Multicluster. Haproxy-based solution with a Django backend that is responsible for distributing traffic between multiple Kubernetes clusters. Allows us to scale the number of K8S clusters according to the average load and easily upgrade our infrastructure with zero risk for our Production environment.
Gett
Moscow
February 2016 – November 2018
Monitoring Engineer
Had been given a chance to concentrate my effort on creating and maintaining various monitoring solutions.

The purpose was to provide business metrics not covered in the core infrastructure monitoring and ensure they are available and collected 24/7.

To achieve this we used a combination of Grafana (with InfluxDB as it's time-series db), Prometheus and custom scripts running inside a docker container.

All of the above ran inside a Kubernetes cluster making day to day communication with DevOps team a hard requirement.

Gett
Moscow
October 2015 – February 2016
TechSupport Engineer
Back when I joined Gett it was a medium-sized startup with under 200 employees in Moscow, Tel Aviv and London offices combined. Out of those 200 only about 60 people were R&D-related staff.

My task was to provide full technical support to Operations representatives in all three countries. This included serving as a focal point between Product Managers and Ops, creating and managing JIRA issues (be it bugs or feature requests), managing settings change requests as well as actually changing the settings via UI and, later, APIs.

Naturally a lot of tasks had been routine ones and were automated via bash, python, ruby and even visual basic (sic!) scripts.

VimpelCom (currently VEON)
Moscow
July 2013 – June 2015
CRM-applications Engineer
Worked with Amdocs and Comverse billing solutions for one of the top3 mobile services provider in Russia.

Was responsible for solving incoming tickets and handling any related maintenance.

Communicated with developers on a regular basis to define bugs, feature requests and close gaps in the existing documentation.

Contact

Moscow RU
+79652482871
LinkedIn

Education

  • 2005 2011

    Moscow City Government University of Management

    Master degree

    Civil Law

Skills

Programming
Python Bash Go (basic knowledge)
Container Orchestration
Kubernetes Kops AWS EKS Docker
CI/CD tools
Jenkins TravisCI Github
Monitoring and Alerting
Prometheus Thanos Grafana Datadog AWS Cloud Watch New Relic Pager Duty
Infrastructure as code
Terraform Ansible Packer Vagrant Chef AWS Lambda
Cloud providers
Amazon Web Services
Databases & Key-Value stores
SQL Postgres MySql Presto / Trino AWS RDS Redis MongoDB DynamoDB Credstash Consul
Message brokers
CloudAMQP RabbitMQ AWS RabbitMQ
Logs infrastructure
ELK Logstash Filebeat Elasticsearch AWS Elasticsearch
Network infrastructure
AWS ELB AWS NLB AWS ALB CloudFlare Nginx HAproxy
Ticket management system
JIRA

Interests

An avid gamer (both a video- and a board- one)
Huge IoT / Home automation enthusiast