From GitOps to MLOps: My First AI Infrastructure Project

From GitOps to MLOps: Deploying a Real-Time AI Monitor

In my previous post, I discussed how I built a 100% autonomous, self-managing cloud infrastructure (GitOps) for the PactNote project. After laying such a solid foundation, I wanted to test this massive engine with a real-world project before starting to write the actual code for PactNote.

Coming from an Environmental Engineering background, I have always been fascinated by topics that intersect technology with nature and human health. Therefore, I decided to run not just a static web page on this infrastructure, but a system that processes real-time data, forecasts the future, and makes decisions using artificial intelligence: The Munich Air Quality and Anomaly Detection System.

So, what exactly does this system, which combines machine learning (MLOps) with environmental science, do?

A System That Generates “Meaning”, Not Just Data

Nowadays, it is very easy to access pollution data from weather apps. But how many people actually know what the value “PM10: 48 µg/m³” they see on the screen really means?

The system I built continuously fetches the PM10, PM2.5 (invisible hazardous particles), and NO2 (Nitrogen Dioxide) levels in Munich’s air second by second via Open-Meteo. However, this is where the magic begins: Instead of being directly projected onto the screen, this data passes through the filter of an AI-based Anomaly Detection Algorithm (Isolation Forest) that I integrated into the system.

The model distinguishes between ordinary weather fluctuations and “anomalous” pollution waves that threaten human health. Moreover, it makes this decision by referencing World Health Organization (WHO) limits, providing users with instant, clear warnings such as “Clean Air” or “High Pollution Anomaly.”

10-Day Vision: Historical Average and Tomorrow’s Forecast

Seeing data instantly is nice, but the real value lies in being able to read trends. That is why I added a smart charting module to the system that analyzes not only the past but also the future.

The system takes the pollution data from the last 9 days and generates a 1-day (for tomorrow) machine learning-supported forecast. When you look at the chart on the screen, you can instantly grasp the situation:

  • Thick Blue Line: That critical limit the World Health Organization (WHO) states should never be exceeded.
  • Dashed Orange Line: The actual pollution average of the city over the last 9 days, as calculated by our system.

If that dashed orange line is below the blue line, it means Munich is generally breathing clean air. Thanks to the reading guide (Legend) I added to the bottom of the chart, even someone entirely unfamiliar with the system can interpret the city’s air quality scorecard in seconds.

Interactive “Manual Control” Laboratory

I didn’t want the system to only run automatically; I also wanted to enable people to experience how the AI makes decisions.

Thanks to the “Manual Anomaly Check” placed at the focal point of the page (left panel), you can play with the pollution values and test live at what level the model triggers a red alert.

The Invisible Hero: MLOps and Autonomous Infrastructure

For someone unfamiliar with the system, “MLOps” might be a complex term. In its simplest form, MLOps is the entire set of systems that takes an AI model you’ve developed out of the laboratory environment and ensures it runs continuously, flawlessly, and remains up-to-date in the real world.

The autonomous infrastructure (ArgoCD and Kubernetes) I built in my previous post comes into play exactly here. Whenever I update my model, the graphic design, or the algorithm calculating the average, the infrastructure detects this automatically, shuts down the old version, and deploys the new version within seconds. Moreover, the system does not experience even a single second of downtime while doing this.

Conclusion: The Stage is Set for PactNote

This project, blending AI with an environmental engineering vision, has been a perfect warm-up lap for my main project, PactNote, which will serve an entirely different purpose.

I have proven that my infrastructure (GitOps) can flawlessly manage not only websites but also complex machine learning models, live data streams, and forecasting algorithms (MLOps). The engine is now running smoothly. In my next post, we will discuss the details of my actual project, PactNote, which will be built upon this solid foundation, and the major global problem it aims to solve. Stay tuned!