Infrastructure & Platform Engineer

Complex systems.
Clear thinking.

I’m Jozef Juris. I bring infrastructure, software, and people together to turn ideas into systems that work.

Portrait of Jozef Juris
Jozef JurisEngineer. Problem solver.
Infrastructure · Platforms · PeopleScroll to discover

01 / Projects

Ideas into
infrastructure.

From a first Kubernetes migration to platforms for machine learning. A few chapters in an ongoing journey of making technology work better.

Continue to the journey
Configuration & developer tooling01 / 2025

CUE templating

Exploring CUE templating as part of the platform engineering toolkit.

Explore this project

Background

When I joined the team, our monorepo had around 20 components. Today, we manage nearly 200, making static configurations for CI pipelines, Docker images, Kubernetes manifests, and Docker Compose files nearly impossible to handle without errors, exceptions, and hacks.

The Challenge

Manually maintaining these configs led to inconsistencies and surprises in deployments. Static files couldn’t scale with our growth, creating maintenance nightmares across the repository.

Our CUE Solution

We adopted CUE, a language designed exactly for this—templating, validating, and generating configurations. Our team built a custom framework that auto-generates CI scripts, Dockerfiles, Docker Compose, Semgrep rules, and more for every component from shared templates.

Key Benefits

  • Taxonomy of components dropped sharply—no more custom hacks per service.
  • Template changes propagate instantly across the entire repo, with immediate visibility of impacts.
  • Everything is testable upfront, eliminating deployment surprises .
  • All generated configs are fully standalone; I can easily extract a single component to its own repository where it runs independently.
  • Or manually trigger CI locally if the main system goes down.

This approach brought real order to our monorepository, and I love how it scales with our team’s ambitions while giving us true flexibility.

Developer experience02 / 2022

Personal development space

A personal development environment built around the way I work.

Explore this project

Project overview

When I joined the development team, our research colleagues needed a reliable way to standardize their personal and shared virtual machine configurations. What started as a solution for just 5 researchers has scaled to support 30 researchers, 15 developers plus a growing analytics team. This project became particularly valuable with the shift to Apple M1 laptops, where x86_64 emulation caused brutal performance drops for some local components.

Technical Solution

The system uses Terraform to provision VMs in OpenStack, handling infrastructure creation declaratively and scalably. Ansible then takes over for fine-grained OS configuration, ensuring consistency across machines. Together, they manage more than 50 VMs under my control — personal ones, shared ones, and a few equipped with cutting-edge GPUs. With minor adaptations, the same approach now configures my Kubernetes clusters too.

Key Benefits

Remote terminal access to these VMs proved essential for colleagues traveling, letting them connect without running heavy local emulations and saving precious mobile data. The automation eliminated manual setup errors and adapted smoothly as our team grew sixfold. Personally, building this gave me hands-on mastery of IaC tools while directly boosting team productivity.

Machine learning infrastructure03 / 2021

From Simple Recommendations to MLOps

From simple recommendation algorithms to an automated lifecycle for training and serving models.

Explore this project

Background

At the beginning of our recommendation system’s development, we used simple algorithms focused on popularity, trending topics, and readership metrics. These early methods were easy to implement and produced acceptable results. However, as the user base and content volume grew, it became clear that automated content recommendations were far more effective in engaging users than editorial selection. This realization led us toward building a data-driven recommendation system powered by modern machine learning techniques.

Challenge

The initial architecture relied on manually configured models, trained and deployed by developers. Every adjustment to the training setup required rebuilding Docker images and creating a new deployment release. This process slowed experimentation and limited iteration speed.

As we added more complex models using Vowpal Wabbit and later TensorFlow, new challenges emerged:

  • The need for systematic A/B testing to evaluate model performance.
  • High resource costs from idle trainers waiting for manual configuration.
  • Inefficient memory usage caused by the serving layer loading all trained models into a single production server.

These architectural limitations restricted both scalability and experimentation freedom.

Solution

To overcome these challenges, we introduced several technological improvements that gradually evolved into a comprehensive ML Ops framework.

  1. Consul-Based Configuration We redefined the training process by introducing multiple trainers with dynamic configurations stored in Consul. This allowed non-technical team members to configure experiments directly without developer involvement. Result: Faster testing cycles and easier experiment management.

  2. AdminWeb Platform We developed AdminWeb, a user-facing interface for product and research teams. It centralized experiment definitions, making configuration management accessible and transparent. Result: Unified control and visibility of experiments.

  3. Model Manager and Terraform Integration The Model Manager retrieved configuration data from AdminWeb and used Terraform to provision all necessary Kubernetes resources — including trainers, serving deployments, services, and configuration maps. Result: Fully automated lifecycle management. When an experiment was removed, Terraform automatically cleaned up all related resources, ensuring a consistent and efficient infrastructure.

Outcome

This transformation ultimately shaped a functional and scalable ML Ops pipeline for our recommendation system. It allowed:

  • Rapid experimentation and controlled A/B testing.
  • Reduced operational overhead and better resource utilization.
  • Seamless integration between machine learning workflows and production infrastructure.

The result was a more stable, efficient, and transparent system for delivering personalized recommendations — a process that evolved from simple heuristics into a robust ML-driven operation.

Delivery & team autonomy04 / 2020

Self-service deployment into the production

Giving developers ownership of production deployments through Kubernetes, CI/CD, and GitOps.

Explore this project

Project overview

Self-service deployment into production marked a key evolution in our team’s operations. As a former admin, I witnessed firsthand how manual processes created bottlenecks, but Kubernetes and GitOps tools like ArgoCD empowered developers to take ownership.

From Admin Dependency to Autonomy

Back when I managed deployments, every production release required admins to manually move Debian packages to the right branch, select servers with enough capacity, and deploy components. Kubernetes eliminated this routine work, yet admins still controlled production access. With our internal cloud maturing and admin teams specializing, developers gained independent deployment rights—shifting mindsets from gatekeeping to collaboration.

CI/CD Pipeline Evolution

Initially, we adapted our CI/CD with an internal tool that generated Kubernetes manifests for web-based deployment. Today, ArgoCD handles this seamlessly via GitOps, syncing changes declaratively and reducing errors. This upgrade shortened deployment times and reduced manual work.

Developer Ownership and On-Call Impact

Our team now holds production on-call because no one understands our product better than its builders. Reliable production quality means each weekly rotator gets financial compensation plus a personal day off—a fair win that boosts motivation. This autonomy fosters faster feedback and accountability, aligning with industry gains in productivity and reduced bottlenecks.

Infrastructure & orchestration05 / 2019

Migration to Kubernetes

Moving from manual deployments to containers, automated scheduling, and a more flexible infrastructure.

Explore this project

Project Overview

Migrating our components to Kubernetes marked a pivotal shift in our deployment strategy, streamlining operations and boosting efficiency.

Packaging Shift

We transitioned library packaging from Debian packages to Python packages, simplifying dependencies and improving portability across environments. Component packaging evolved from Debian builds to Docker images, enabling consistent runtime behavior regardless of the host system.

Deployment Automation

Manual node selection by admins for sufficient resources gave way to Kubernetes’ automated scheduling, eliminating human error and downtime. This change ensured optimal resource allocation dynamically.

Configuration Evolution

Fixed configuration files were replaced with environment variables, offering greater flexibility for different environments like dev, staging, and production. Updates became simpler without rebuilding entire packages.

Key Benefits

Deployment speed surged, with faster rollouts and rollbacks thanks to Kubernetes’ orchestration . Resource hunting time dropped to zero, as the cluster handles provisioning automatically, allowing our admin team to focus on other tasks rather than legacy ops. This migration not only cut deployment times but also infused scalability into our portfolio.

Service management06 / 2015

Help Desk Migration for Czech Police

An end-to-end migration of a help desk solution for the Czech Police.

Explore this project

Project Overview

The primary task was to migrate processes and data from HP OpenView Service Desk to the new HP Service Manager software for Czech Police. My role involved leading the design and the migration, ensuring minimal disruption to police operations. I completed the project on time, delivering a fully functional system despite tight delivery schedule.

Key Challenges

The biggest hurdle was not data migration itself, but recreating a similar look & feel in the new UI to ease user transition. Customer had to accept small differences, which we addressed through targeted training sessions. This required close collaboration with end-users to map old workflows intuitively.

Solution and Process

We started with data export/import, validating every record for accuracy in a secure environment. For UI alignment, I designed custom dashboards and workflows in Service Manager, iterating based on feedback from police IT staff. Prototypes were tested in phases, with hands-on demos to build confidence.

Results and Learnings

The project was successfully delivered, with users reporting high satisfaction and quick adoption. It boosted efficiency in ticket handling by streamlining processes. Personally, this was a pleasant experience—it showed me how empathy in change management turns potential resistance into smooth success.

Networks & public spaces07 / 2013

Secure Kiosk Network for Vysocina Museums and Galleries

Building a secure network of information terminals for museums and galleries in Vysočina.

Explore this project

The project

In summer 2013, Vysocina region tasked us with deploying 47 interactive kiosks across museums and galleries to showcase digitized exhibits on https://mgvysociny.cz . Beyond hardware, I designed a monitored network with remote management, self-restarts, content lockdown, and The Dude integration—turning remote sites into reliable digital hubs.

Key Challenges

Museums often lacked technically skilled personnel. Kiosks needed auto-recovery and VPN-secured access to the central management site. Hurdles included automating RouterOS scripting, building OpenVPN certificate hierarchies, and training non-technical colleagues on static LAN/WiFi setups.

Software & Hardware Stack

Windows PC with SiteKiosk provided terminal lockdown and central Server console for configs/updates. Each terminal featured MikroTik RouterBOARD as OpenVPN client, plus a device for temp/humidity monitoring and remote power cycling. Kiosks acted as LAN clients.

Results & Lessons

All 47 kiosks went live in summer 2013. Automation cut deploy time and mitigated configuration errors. Key takeaway: script early for edge infra. This honed my DevOps skills for remote resilience.

02 / The journey

Built on experience.
Driven by curiosity.

Where it all started
  1. Enterprise IT Infrastructure2008

    Backup Team Captain / Backup Agent

    Explore this experience

    This was my first real job, where I first touched a large enterprise IT infrastructure. I took every task seriously and quickly became the top in resolving tickets. But the work lacked creativity, so it was time for a change.

  2. Service Management2010

    ID Admin / Service Desk

    Explore this experience

    This role marked my move to Prague, opening the multicultural world of the city to me. The work was monotonous, broken only by calls from desperate users worldwide struggling with their computers. The promised technical position never materialized, and I knew I could not stay in this role — it was time to move on.

  3. Multi-role Infrastructure2011

    Software Specialist / Local System Administrator

    Explore this experience

    After two big global companies, I wanted to try a small firm as local admin. Finally, I had my own rack with servers, switches, routers, IP phones, cameras, computers, laptops, and printers. Later, I also supported our internal customers with kiosk software and did outsourced support for another company. The firm had no processes, so I could use my creativity to build them. I used my past experience to create my own framework for communication, fixing problems, and training. I felt great in this multi-role job, traveling across the entire Czech Republic — to small towns for kiosks and big factories as UPS Software Specialist, where I saw real data centers from the inside. Big milestones were moving firm to a new site and building a network of kiosk terminals. This experiences made me crave work on projects that start in people's minds and end up in reality.

  4. ITSM Implementation2014

    Technology Consultant

    Explore this experience

    I returned to my roots, to my first employer, but no longer as a user of the ticketing system — now as its creator. I worked on implementing ITSM software for an insurance company and a telecom firm, culminating in the full migration of an old solution to a new one for the police — a project I led end-to-end on my own. The technology, however, was outdated, and I once again experienced the stifled processes of a global corporation.

  5. Internet Services Infrastructure2016

    System Administrator

    Explore this experience

    I decided to put the suit away and return to the servers. I took a position as admin at a local internet giant, managing popular services from servers and operating systems to databases, storage, and even frontend. In this role, I truly found myself. But we couldn't find a stable fourth team member, and management decided to split our team and services among others.

  6. Kubernetes & Automation2018

    DevOps

    Explore this experience

    Fortunately, I received an invitation from the recommendation systems team to help them migrate components to Kubernetes. From an admin, I became a developer. With the team, we started a new era where manual deployments turned into developer routine thanks to automation and orchestration.

  7. Team Autonomy & Specialization2020

    Site Reliability Engineer

    Explore this experience

    The company's IT began transforming from a "everyone does everything" style to highly specialized teams — one for OpenStack, another for Kubernetes, databases, and storage. When the time came, we proposed that our recommendation systems team would manage our own product ourselves, led by developers. We gained team recognition for this initiative, and each of us in the team takes on the SRE role from time to time.

  8. Full-Stack Platform EngineeringToday

    Infrastructure & Platform Engineer

    Explore this experience

    Today, I handle everything I've experienced in my career so far: helping a research colleague troubleshoot a database connection issue, developing CI pipelines, assisting with migrating our system to a newer infrastructure service version, calculating budgets for services next year, negotiating with product managers and directors on the technological vision of our system, and occasionally solving operational problems.

03 / Education

A foundation
in curiosity.

Mathematics, informatics, and project management. Different perspectives that shaped how I think and build.

Let’s connect
  1. Košice, Slovakia1998 – 2006

    Grammar School Alejová

    Explore this education

    At Alejová, I discovered that mathematics is more than a subject — it's a language that underlies all others. Those years shaped how I view the world: as a series of elegant patterns waiting to be understood. Every equation felt like a dialogue with logic itself, and through that dialogue, I learned discipline, patience, and curiosity.

  2. Košice, Slovakia2006 – 2008

    Pavol Jozef Šafárik University

    Explore this education

    During my time at the university, I found a way to transform the abstract beauty of mathematics into something practical — communication with machines. Informatics turned numbers into code, and logic into functionality. It was here that problem-solving evolved from a personal challenge to a creative process of building tools that could think alongside me.

  3. Prague, Czech Republic2014 – 2016

    Unicorn College

    Explore this education

    At Unicorn College, I learned that technology's real power lies not only in precision, but in coordination. I discovered how to manage ideas, people, and projects — to turn vision into structured execution. It completed the circle: mathematics gave me logic, informatics gave me language, and project management taught me connection. Each institution, in its way, helped define the professional and person I've become.

04 / Let’s connect

Good things start
with a conversation.

jozef@juris.sk