Summary

DevOps Engineer with 5+ years of hands-on experience. Strong background in Linux administration and development. Passionate about security. Trying to automate as many steps of the Software Development pipeline as possible. Believe that DevOps is more than tools nevertheless tools are crucial.

Education

Peter the Great St.Petersburg Polytechnic University (SPbPU):

  • Bachelor of Science in Computer Information Systems 12-16
  • Master of Science in Computer Information Systems 16-18

DataArt [Oct 19 - Current]

DevOps Engineer on the guard of mesh networks

Research lab at Peter the Great St.Petersburg Polytechnic University [Jun 16 - Oct 19]

  • On-premises deployment and maintenance of OpenStack (MAAS + Ubuntu)
  • On-premises deployment and maintenance of Gitlab (OmniPackage or Source)
  • On-premises deployment and maintenance of Kubernetes
  • Fleet of Gitlab Runners of all sorts (Docker on Linux, Windows, Kubernetes)
  • Creation of CI/CD pipeline for tens of projects
    • written in Java, C(Linux kernel), C++, Rust, Go, WASM, JS, HTML, CSS (preprocessed)
    • deployed as binaries, datasets(ML stuff), packages(tar.xz, deb, rpm), running services (deployed to production/development)
  • Routine automation with Ansible (+AWX), SaltStack, Gitlab CI/CD, self-written stuff
  • Docker-compose for local development deployments (even with unix socket connections)
  • On premises deployment and maintenance of Docker registry (Integrated with Gitlab)
  • AWS deployments (EC2,Lambda, S3 based sites, Kinesis, KVS)
  • Terraform as deployment tool for AWS, libvirt, Digital Ocean
  • NGINX as a reverse proxy for every on-premises web service
  • Let's Encrypt for tls (including wildcard)
  • Zabbix as monitoring tool (not for stuff in k8s though)
  • nspawn as a tool for containerizing some services (for ex. guacamole)
  • Restricting access to Nvidia DGX1 by migrating workflow to Gitlab CI/CD and integration with Nextcloud

Not DevOps activities:

  • PostgreSQL as preferred DB applications (11, 10, 9 versions are currently in use)
  • On-premises deployment and maintenance of Nextcloud, ONLYOFFICE, Calabora Online
  • Network Management:
    • Linux routers/boxes
      • IPTables
      • firewalld
      • ufw (user boxes)
      • named
      • dhcpd
      • networkd
      • NetworkManager
      • netplan
    • cisco, microtik routers
    • HP, ubnt Access Points management
    • LACP Bonds (802.3ad)
    • V(X)LANS
    • OpenVPN, WireGuard tunnels
    • Restricting ssh jumpboxes
  • On-premises deployment and maintenance of ZoneMinder
  • Mail server deployment and maintenance (tls, DKIM, SPF)
  • Racks, servers, UPS and storage installation
  • Cables management
  • AppArmor profiles creation
  • Got charters for creating labs logo and being positively involved in almost every hard problem accruing in lab
  • Won fights over Konica Minolta configuration

Development activities:

Common frameworks/libs:

  • darknet
  • OpenCV
  • Spring
  • Liferay
  • TensorFlow
  • Angular (single app applications accessing data via REST API)

Languages:

  • C (linux kernel modules)
  • C++ (embedded software, ML, video processing, native Linux GUI)
  • Rust (supportive tooling, embedded software)
  • Go (web services, data processing, Gitlab fixes)
  • Java (web services, ML)
  • Python (ML)
  • JS (web frontends)
  • PHP (Nextcloud fixes)

Novell stack integration for close to government and space company in Moscow:

  • Squid as proxy to limit and scan traffic by integrating Squid with Antivirus
  • VMWare as a tool to separate services in instances and provide HA
  • SUSE Linux Enterprise Server as an OS for s Novell and other services
  • Zabbix as a monitoring solution
  • Novell stuff:
    • GroupWise
    • Vibe
    • ZENworks
    • iPrint
    • and other marvelous products I've for the first time in this project

Master Thesis [Jun 18]

Algorithms and software development for solving a problem of distributed monitoring of Data Storage

  • Written in Go
  • Relies on PaceMaker and etcd
  • Uses TCP as transport
  • Boring

PolyPhone [Jan 17 - Feb 18]

Project started during course work in university but far to passionate to be restricted by it.

Spoiler alert: Two persons responsible for hardware development did their best not to do a thing. Software developers had some skills in hardware development but also a negative amount of available time. The project died a horrible death.

Mission was to create a phone from detailed not targeted for a phone. This way we were not able to use some android ready Chinese board.

Thing involved:

  • RaspberryPi zero
  • vc4 driver
  • SIM808
  • Some boring screen, battery, charge controller
  • Power and buttons controller (Digispark)
  • 3D printed body and buttons
  • Badly wired motherboard (not even printed)
  • Instagram account
  • Archlinux ARM
  • Custom Window Manager
  • Custom Boot Animation (Plymouth)
  • Custom Suite of Phone applications (GTK at first, but Qt later)
  • Hosted Archlinux repository to push updates

Bachelor Thesis [Jun 16]

Application for teaching intonation in English by pitch visualization

  • Android App (Java)
  • JNI to use C++ pitch detection library
  • Database of native audio examples

Research lab [Jan 14 - Jun 16]

  • Jenkins (without pipelines)
  • Nagios as a monitoring solution
  • Git workflow trainer (GitHub based)
  • Scrum master

About Me

10+ years active linux user but still very communicative =] FOSS activist capable of proprietary development if necessary. Passionate enough to have a homelab and play with new technologies in my free time

Stuff I've used but not in production

  • Prometheus
  • SELinux
  • Diesel (Rust ORM)
  • GraphQL
  • Vulkan, OpenGL
  • WASM (as Rust target)
  • Flatpack packaging
  • Snap packaging
  • HashiCorp Vault

Topics I'm going to invest in soon

  • Gitlab
    • Auto DevOps
    • Serverless
  • Knative
  • OpenWhisk
  • Helm Hub
  • Firecraker (locally)