Michal Kozák

IT Admin, SysAdmin, DevOps guy

Curriculum vitæ

I moved my focus to all things DevOps starting in February 2020 by learning Kubernetes the hard way. I was tasked with deploying a backend to Azure AKS, so I've written all YAML from scratch (well, almost, thanks Kompose) in a matter of two weeks.

I know Docker and its tools (docker-compose, Dockerfile) well, including orchestration (Kubernetes on AWS and Azure, but also Docker Swarm and MicroK8s), and CI/CD provided by GitLab CI/CD, Jenkins or TeamCity. I've used NGINX, Traefik or Ambassador as ingress controllers.

I prefer Debian-based environments, but I'm no stranger to CentOS. I've used Proxmox in the past, with Ansible doing all the heavy lifting. I've used Terraform on Azure. I'm utilizing SOPS for managing secrets.

I'm using Git for VCS and GitOps, with YouTrack for keeping track of bugs and tasks.

I have basic knowledge of Python, Bash, Groovy, Rust and Go languages, HTML/CSS, and PostgreSQL and MySQL administration.

My homelab is running on multiple nodes of Ubuntu machines, serving me all-dockerized Quake 3 Arena OSP dedicated server, Pi-hole, Portainer and Unifi Controller.

This very website is built automatically thanks to GitHub Actions using Ivy, serving it with Caddy, and Traefik as reverse-proxy.

I'm GitLab Certified Associate.


Ataccama Software, s.r.o.

DevOps Engineer
11/2020 - present

Responsibility for build pipelines and underlying internal developer platform. Developing and maintaining legacy Jenkins instances, while migrating projects to GitLab in Azure. Automatization scripts in Python/Bash/Groovy, optimization of Docker images, monitoring with Grafana and Prometheus/VictoriaMetrics, configuration as code using Terraform, simple Gradle plugins.

GRIP Digital, s.r.o.

IT/System Administrator, DevOps
5/2019 - 11/2020

Do-it-all role, from desk-support to DevOps.

I've deployed backend for an unannounced project to Azure AKS, including NGINX Ingress or ELK. Later moving the same project to AWS EKS, utilizing AWS's NLB, CloudWatch, S3, and more. This includes setting up a CI/CD pipeline from TeamCity using Docker images.

I was also managing company's on-premise infrastructure, keeping inventory using Snipe-IT, and servicing a multitude of internal tools (Plastic SCM server, YouTrack, Upsource and other).

2media.cz, s.r.o.

IT Administrator
9/2012 - 11/2020

Point of contact for all employees. Mostly remote tech support on Windows and macOS machines.

Being PR agency and relying heavily on emails, I was managing an Ubuntu VPS with custom Postfix server, Let's Encrypt and OpenDKIM for them.

Universal Music, s.r.o.

IT Administrator, Digital Releases Manager
4/2010 - 4/2019

Provided tech support role for both Czech and Slovak branches. Also managed on-premise Windows server, with having a little to do with SCCM and AD.

Slowly moved into a digital releases manager, and being responsible for distributing everything digital incoming from any signed artist to services such as Spotify, Apple Music, YouTube, and more.

I also made lots of short Instagram or YouTube video spots using VEGAS Pro and Sony Sound Forge.