Experience

Last project:
- developed the scalability mechanics of the service by using Argo Workflows instead of the fixed number of the running pods at Kubernetes. Now, the service does utilize resources only under the load, and it is able to scale down from 104 CPUs/416 Gb (13 big pods) to 8 CPUs/5Gb (5 small pods) at the idle state. That helped to reduce the payment for a cloud by using 8% of cluster resources at idle state.
- reworked the health check for service. I used the internal Grafana/Prometheus for a monitoring instead of the exposed Health-Check Endpoint (AWS ELB + Nginx) and Catchpoint call. That helped to reduce the maintain payments for the infrastructure.
- implemented a set of Monitoring Panels at Splunk and Grafana. That helped to speed up the debug process at On-call incidents.
- fixed the excessive resource allocation per Kubernetes pods. I performed the load testing and collected Grafana metrics about resources. It helped to match the resource allocation to the real usage, so the service to be able to run 120 Kubernetes pods in parallel instead of 60 pods using the same cluster size
- worked on increasing the test coverage for Scala code. I used Scalatest and ScalaMock to increase the coverage from 10% to 80%.
- worked on implementing GitLab CI/CD pipelines for automating E2E test and automated deployments using Helm chart.
- covering on-call hours when it was night for the USA team (10AM-2PM UTC)

Skills

Scala Akka Java functional programming Kafka SQL Kubernetes Cats AWS SBT Play Framework Apache Spark Cassandra Maven REST API Python Bash Docker / Docker Compose Helm Terraform

Preferred language

Українська, English



$5400 / mo

  • Ukraine, Kyiv
  • 8 years of experience
  • English: Upper-Intermediate
  • Remote work
  • Office
  • Freelance (one-time projects)
  • Published 14 April 2024
  • Typically replies in: 2 days
  • Response rate 66%