Kurs
MLOps vs DevOps: Unterschiede, Überschneidungen und Anwendungsfälle
Immer mehr Unternehmen sind bestrebt, maschinelles Lernen (ML) in ihre Produkte einzubauen oder ihre Prozesse mithilfe von ML zu verbessern. Daher ist es wichtiger denn je zu wissen, wie man die Komplexität der Software neben der traditionellen Software meistert.
DevOps wurde eingeführt, um die Herausforderungen bei der Softwareentwicklung zu bewältigen. Es zielt darauf ab, die Silos zwischen den Softwareentwicklungsteams und den Betriebsteams aufzubrechen, was zu einer schnelleren Bereitstellung neuer Funktionen und weniger schmerzhaften Releases dieser Funktionen in der Produktionsumgebung führt.
MLOps baut auf diesen Prinzipien auf, befasst sich aber mit den besonderen Herausforderungen von ML, wie z. B. riesigen und sich schnell entwickelnden Datensätzen, Modellen, die nachverfolgt und versioniert werden müssen, und der Überwachung, um Herausforderungen wie Datendrift oder Konzeptdrift zu begegnen.
Obwohl beide Disziplinen gemeinsame Prinzipien haben, unterscheiden sie sich stark in ihren Schwerpunkten, Arbeitsabläufen und Werkzeugen.
In diesem Artikel befassen wir uns mit DevOps und MLOps, zeigen ihre Gemeinsamkeiten und Unterschiede auf und erläutern, wann welcher Ansatz sinnvoll ist. Wir schauen uns auch typische Arbeitsabläufe an und welche Tools für die verschiedenen Phasen dieser Arbeitsabläufe verwendet werden sollten.
Lass uns loslegen!
Was ist DevOps?
DevOps ist eine Software-Engineering-Methode, die entwickelt wurde, um den Prozess der Softwareentwicklung und -bereitstellung zu beschleunigen. Das Hauptziel ist es, die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams zu verbessern. Sie überbrückt die Lücke zwischen diesen traditionell getrennten Funktionen und ermöglicht eine schnellere und zuverlässigere Softwarebereitstellung.
DevOps will also eine Kultur der Zusammenarbeit schaffen und so viel wie möglich automatisieren, um die Gesamteffizienz zu verbessern und die Geschwindigkeit zu erhöhen, mit der neue Softwarefunktionen bereitgestellt werden können.
Heutzutage können große Unternehmen wie Meta, Amazon und viele andere dank DevOps täglich neue Softwarefunktionen liefern.
Wenn du dich mit diesem Bereich vertraut machen möchtest, empfehle ich dir den Kurs Einführung in DevOps.
Die wichtigsten Ziele von DevOps sind:
- Schnellere Softwareentwicklungszyklen: Verkürze die Zeit zwischen der Freigabe und dem Einsatz einer neuen Funktion, um schnellere Release-Zyklen zu erreichen und gleichzeitig die Stabilität zu erhalten.
- Kontinuierliche Integration und delisehr(CI/CD): Automatisiere Code-Integration, Tests und Bereitstellungspipelines, um die Bereitstellung zu verbessern.
- Verbesserte Zusammenarbeit: Fördern Sie eine enge Kommunikation zwischen Softwareentwicklungsteams und Betriebsteams.
- Betriebliche Effizienz: Reduziere manuelle Aufgaben, minimiere Fehler und steigere die Produktivität durch Automatisierung.
DevOps hat die folgenden Kernkomponenten:
- CI/CD-Pipelines:
- Automatisiertes Testen, Erstellen und Bereitstellen von Code.
- Schnellere Feedbackschleifen für Entwickler.
- Geringere Fehler und höhere Stabilität.
- Infrastruktur als Code (IaC):
- Verwalte die Infrastruktur durch Code statt durch manuelle Prozesse.
- Sorge für Konsistenz und Stabilität.
- Eine neue Infrastruktur kann innerhalb von Sekunden und ohne manuellen Aufwand eingerichtet werden.
- Überwachung und Beobachtbarkeit:
- Verfolge die Systemleistung und den Zustand der Anwendung in Echtzeit.
- Erkenne und löse Probleme so früh wie möglich.
Es gibt branchenübliche Tools, die bei der Umsetzung der Kernkomponenten von DevOps helfen. Hier sind einige der beliebtesten:
- CI/CD-Tools: Jenkins, GitLab CI/CD, CircleCI.
- IaC-Tools: Terraform, Ansible, Chef, Puppet.
- Containerisierung und Orchestrierung: Docker, Kubernetes.
- Überwachungswerkzeuge: Prometheus, Grafana, Datadog.
Was ist MLOps?
MLOps erweitert die Prinzipien von DevOps und hat das gemeinsame Ziel, Prozesse zu automatisieren. MLOps besteht aus Praktiken, die entwickelt wurden, um maschinelles Lernen kontinuierlich, zuverlässig und effizient in der Produktion einzusetzen und zu pflegen.
Das Entscheidende dabei ist, dass der Schwerpunkt auf maschinellem Lernen in der Produktion liegt und nicht auf Modellen, die auf lokalen Maschinen für kleine Experimente trainiert wurden.
MLOps kann alle Phasen des Projektlebenszyklus für maschinelles Lernen automatisieren und rationalisieren.
Der Lebenszyklus von Projekten zum maschinellen Lernen. Bild vom Autor
Aber warum brauchen wir überhaupt MLOps? Warum sollten wir den zusätzlichen Aufwand betreiben, um saubere Arbeitsabläufe und Prozesse einzurichten? Seien wir ehrlich: Das ist anfangs ein großer Mehraufwand, und Entwickler könnten versucht sein, ihn zu ignorieren, um ein Modell schnell in Produktion zu bringen. Dieser Ansatz birgt jedoch Risiken.
Wie bei der traditionellen Softwareentwicklung führt das frühe Ignorieren von sauberen Prozessen und Best Practices im Laufe der Zeit zu wachsender Komplexität und geringerer Wartbarkeit.
Dieses Problem ist bei ML-Systemen sogar noch größer, da die Verwaltung von Datenabhängigkeiten, sich entwickelnden Modellen und Rückkopplungsschleifen eine besondere Herausforderung darstellt.
Wie in dem einflussreichenPapier "Hidden Technical Debt in Machine Learning Systems" hervorgehoben wird,häufen maschinelle Lernsysteme technische Schulden auf eine Art und Weise an, wie es bei herkömmlicher Software nicht der Fall ist.
Ohne MLOps-Prinzipien übersteigen die Kosten für die spätere Überarbeitung eines unhandlichen ML-Systems oft den Aufwand für den Aufbau eines robusten Workflows.
Ich empfehle dir den ausgezeichneten Kurs MLOps Concepts, wenn dumehr über diesen Bereich erfahren möchtest.
Die wichtigsten Ziele von MLOps sind:
- Automatisierung des ML-Lebenszyklus: Vereinfache Prozesse wie Datenerfassung, Modellschulung, Einsatz und Überwachung und reduziere den manuellen Aufwand.
- Reproduzierbarkeit und Konsistenz: Sorge dafür, dass Experimente und Arbeitsabläufe wiederholbar sind und zu zuverlässigen Ergebnissen führen.
- Kollaboration: Unterstütze die Kommunikation zwischen Datenwissenschaftlern, ML-Ingenieuren, Dateningenieuren und Betriebsteams.
- Skalierbarkeit: Befähige Modelle für maschinelles Lernen dazu, Produktionsworkloads zu bewältigen und sich an wachsende Daten- und Nutzungsanforderungen anzupassen.
- Bewältigung ML-spezifischer Herausforderungen: Bewältige wechselnde Datenverteilungen, große Datensätze und die Notwendigkeit, Modelle neu zu trainieren.
Kommen wir nun zu den Kernkomponenten von MLOps:
- Modelltrainings- und Umschulungspipelines: Die Automatisierung des Ausbildungsprozesses beinhaltet:
- Datenvorverarbeitungund Feature Engineering.
- Modellvalidierung und Leistungsverfolgung.
- Modelle neu trainieren, um sie bei Bedarf an neue Daten anzupassen.
- Modell- und Datenversionierung und Lernpfad für Experimente:
- Versionskontrolle von ML-Modellen und Trainingsdaten, um Änderungen im Laufe der Zeit zu dokumentieren und ein Rollback zu ermöglichen.
- Überwache Hyperparameter, Metriken und alle Ergebnisse eines Trainingslaufs mit dem Lernpfad.
- Orchestrierung von Datenpipelines:
- Automatisiere die Datenaufbereitung, -umwandlung und -validierung. Stelle sicher, dass sie zuverlässig und wiederholbar sind.
- Herausforderungen mit sich ändernden Datensätzen angehen.
- Überwachung und Wartung:
- Verfolge kontinuierlich die Leistung der Modelle in der Produktion, um Probleme wie Modelldrift oder -verschlechterung so früh wie möglich zu erkennen.
- Löse automatisch eine Modellumschulung aus und automatisiere das Modelltraining, um die Modelle bei Bedarf schnell zu aktualisieren.
- Infrastruktur als Code (IaC):
- Nutze Tools wie Kubernetes und Terraform, um eine skalierbare Infrastruktur für deine ML-Workloads bereitzustellen und zu verwalten.
Das Feld der MLOps entwickelt sich immer noch schnell weiter. Es gibt jedoch bereits Industriestandards für die Umsetzung der Kernkomponenten:
- Experimentierpfad: MLFlow oder Weightsand Biases.
- Datenversionierung: DVC (Data Version Control).
- Pipeline-Orchestrierung: Apache Airflow, Kubeflow, oder Dagster.
- Model deployment: TensorFlow Serving, Seldon Core, Amazon SageMaker.
- Überwachung: Prometheus, Grafana, WhyLabs.
- Infrastruktur als Code: Kubernetes, Docker, Terraform.
MLOps-Fähigkeiten heute aufbauen
Unterschiede zwischen MLOps und DevOps
Obwohl MLOPs auf DevOps aufbauen und daher viele Überschneidungen aufweisen, unterscheiden sie sich in Bezug auf ihren Fokus, die verwalteten Artefakte, die Lebenszyklen, die Tools und die Teamstrukturen. Das liegt vor allem an den besonderen Herausforderungen und Anforderungen von Workflows für maschinelles Lernen.
In den nächsten Unterkapiteln werde ich auf die Unterschiede zwischen den beiden Disziplinen in bestimmten Bereichen eingehen.
Fokus und Umfang
DevOps konzentriert sich auf Softwareanwendungen und sorgt für eine effiziente Entwicklung, Prüfung, Bereitstellung und Wartung. DevOps ist code-zentriert.
MLOps konzentriert sich auf Modelle für maschinelles Lernen und Daten-Workflows und befasst sich mit Herausforderungen bei der Datenaufbereitung, dem Modelltraining, der Modellbereitstellung und der Überwachung.
Für MLOps ist es wichtig, dass der gesamte Arbeitsablauf, von der Datenaufbereitung bis zum Modelltraining, nachverfolgt und reproduziert werden kann. MLOps ist daher daten- und modellzentriert.
Verwaltete Artefakte
Während DevOps hauptsächlich Software-Artefakte wie Quellcode, Binärdateien und Konfigurationsdateien verwaltet, verwaltet MLOps ML-spezifische Artefakte wie Modelle, Datensätze, Funktionen sowie die Konfiguration und Ergebnisse von Experimenten.
DevOps-Artefakte sind statisch, während MLOps-Artefakte dynamisch sind, da sie sich durch Umschulungen und Datenänderungen weiterentwickeln.
Der entscheidende Unterschied ist also, dass MLOps den Lebenszyklus sowohl von Softwarecode als auch von datengesteuerten Artefakten verwalten müssen. Das ist auch der Grund, warum MLOps auf DevOps aufbaut, es aber in bestimmten Bereichen erweitert.
Lebenszyklen
DevOps konzentriert sich auf Phasen wie Build, Test, Deployment und Monitoring. Sobald eine Anwendung in Produktion ist, ist ihr Verhalten völlig vorhersehbar.
MLOps konzentriert sich auf dieselben Phasen wie DevOps, umfasst aber zusätzliche Phasen wie Datenvorverarbeitung, Feature Engineering, Modelltraining und -umschulung sowie die Überwachung der Daten- oder Konzeptabweichung.
Das Verhalten der Anwendung ist weniger vorhersehbar und sehr iterativ, da das Modell häufig aktualisiert werden muss, um sich an Änderungen im Datensatz anzupassen.
Der Hauptunterschied besteht also darin, dass die MLOps-Lebenszyklen datengesteuert sind, während die DevOps-Lebenszyklen eher auf den Code ausgerichtet sind.
Tools und Pipelines
DevOps ist codeorientiert und setzt auf CI/CD-Pipelines, um die Build-, Test- und Bereitstellungsphasen zu automatisieren. Tools wie Gitlab CI/CD, Jenkins oder Terraform können dafür verwendet werden.
MLOps wiederum muss Pipelines für die Datenverarbeitung, das Modelltraining und den Einsatz der Modelle erstellen. Daher werden Tools und Pipelines benötigt, um Daten- und Trainingsworkflows zu erstellen. Dies kann mit Tools wie MLFlow, Kubeflow, Airflow oder SageMaker geschehen.
In einigen Fällen benötigen MLOps-Pipelines auch Unterstützung für eine spezielle Infrastruktur, wie z.B. GPUs, die für DevOps-Pipelines nicht erforderlich ist.
Teamstruktur
DevOps beinhaltet die Zusammenarbeit zwischen Software- und Betriebsteams. Es gibt auch eine klare Trennung der Bereiche, denn Software-Ingenieure konzentrieren sich auf die Programmierung, während sich die Betriebsteams auf den Infrastrukturteil konzentrieren.
An MLOps-Projekten sind Datenwissenschaftler, ML-Ingenieure, Dateningenieure und Betriebsteams beteiligt. Darüber hinaus brauchen diese Projekte auch Fachexperten, wenn der Datenwissenschaftler nicht der primäre Fachexperte ist.
Das bedeutet, dass beide Disziplinen unterschiedliche Organisationsstrukturen in den Unternehmen benötigen.
Überschneidungsbereiche zwischen MLOps und DevOps
Nachdem wir nun die Unterschiede besprochen haben, können wir uns auf die Überschneidungen zwischen den beiden Disziplinen konzentrieren.
Um den wichtigstenTeil zu wiederholen: MLOps baut auf DevOps auf und erweitert es, um es an die einzigartigen Herausforderungen des maschinellen Lernens anzupassen. Beide Disziplinen konzentrieren sich auf die Automatisierung von Arbeitsabläufen, die Verbesserung der Zusammenarbeit und die Gewährleistung von Qualität und Skalierbarkeit.
CI/CD-Pipelines
Beide Disziplinen automatisieren ihre Arbeitsabläufemit CI/CD-Pipelines. MLOps und DevOps müssen Code verwalten, der erstellt, getestet und bereitgestellt werden muss.
MLOps erweitern dies um die Datenvalidierung, das Modelltraining und die Einsatzpipelines.
Beide Disziplinen nutzen jedoch im Allgemeinen CI/CD, um den Übergang von der Entwicklung zur Produktion zu vereinfachen.
Verwaltung der Infrastruktur
Beide nutzen Infrastructure as Code (IaC), um die Infrastruktur ohne manuelle Schritte bereitzustellen, automatisch zu verwalten und zu skalieren. Tools wie Docker, Terraform und Kubernetes werden in beiden Disziplinen breit eingesetzt.
Beide Disziplinen umfassen die Bereitstellung von Anwendungsservern, Datenbanken und APIs. MLOps erfordert lediglich die Bereitstellung einer Infrastruktur für die Verarbeitung großer Datensätze, verteiltes Training und die Bereitstellung von Modellen.
Überwachung und Beobachtbarkeit
DevOps und MLOps verlassen sich auf Überwachungssysteme, um Probleme so früh wie möglich zu erkennen und Zuverlässigkeit zu gewährleisten. Tools wie Prometheus und Grafana werden häufig in beiden Bereichen eingesetzt.
Beide Disziplinen müssen die Anwendungsleistung, die Betriebszeit und die Protokolle für die Fehlersuche überwachen. MLOPs überwachen jedoch zusätzlich modellspezifische Kennzahlen wie Genauigkeit, Drift und Latenz.
Wann sollte man MLOps oder DevOps einsetzen?
Nachdem wir nun die Überschneidungen und die Unterschiede zwischen den Disziplinen erörtert haben, können wir darüber diskutieren, wann wir welche Disziplin einsetzen sollten.
Wie bereits erwähnt, ist MLOps datenzentriert und macht immer dann Sinn, wenn du datenzentrierte Projekte hast. Solche Projekte können autonomes Fahren, Echtzeit-Analytik oder Bilderkennung beinhalten.
MLOps ist aber auch für Produkte unerlässlich, bei denen maschinelles Lernen ein zentrales Merkmal ist, wie z. B. bei Empfehlungssystemen (z. B. Netflix, Amazon), bei der Betrugserkennung in Finanzdienstleistungen oder bei Anwendungen zur Verarbeitung natürlicher Sprache wie Chatbots. Du kannst MLOps auch verwenden, wenn ein ML-Modell häufig aktualisiert und neu trainiert werden muss.
DevOps hingegen macht am meisten Sinn bei traditionellen Softwareanwendungen, die sich auf Webservices, mobile Apps oder APIs konzentrieren, um nur einige Beispiele zu nennen. Das können E-Commerce-Plattformen, Content-Management-Systeme oder Software-as-a-Service (SaaS)-Tools sein.
DevOps ist auch immer dann sinnvoll, wenn du die Entwicklungszyklen verkürzen und neue Funktionen schnell bereitstellen und gleichzeitig die Zuverlässigkeit des Systems sicherstellen willst.
Herausforderungen und Überlegungen
MLOps und DevOps sind leistungsstarke Disziplinen, die Arbeitsabläufe vereinfachen und die Effizienz verbessern. Aber sie bringen auch ihre Herausforderungen mit sich.
Um diese Disziplinen erfolgreich umzusetzen, müssen kulturelle Herausforderungen, komplexe Toolchains und Skalierbarkeitsprobleme angegangen werden.
In den folgenden Unterkapiteln werde ich auf einige Herausforderungen eingehen, die ich erlebt habe.
Kulturelle Herausforderungen
DevOps beinhaltet die Zusammenarbeit zwischen Softwareentwicklern und Betriebsteams.
MLOps fügt Data Scientists, Data Engineers und ML Engineers hinzu. Das erhöht den Bedarf an funktionsübergreifender Zusammenarbeit.
Jede dieser Gruppen hat ihre eigenen Prioritäten und Kompetenzen:
- Softwareentwickler: Konzentriere dich auf den Code.
- Einsatzteams: Konzentriere dich auf die Infrastruktur und ihre Zuverlässigkeit und Skalierbarkeit.
- Datenwissenschaftler/innen: Priorisiere das Experimentieren und die Modellleistung, also Code, aber weniger auf saubere Codeprinzipien konzentriert, wie ein Softwareentwickler.
- Dateningenieure: Konzentriere dich auf Datenpipelines.
- ML-Ingenieure: Fokus auf Infrastruktur und Skalierbarkeit für ML-Anwendungen.
Diese unterschiedlichen Kompetenzen und Prioritäten können oft zu Kommunikationsproblemen und unterschiedlichen Zielen führen.
Widerstand gegen Veränderungen ist eine weitere Herausforderung, die es zu überwinden gilt. Beide Disziplinen sind disruptiv. Sie zielen darauf ab, Arbeitsabläufe zu automatisieren und die Art, wie Menschen denken und arbeiten, zu verändern. Das führt oft dazu, dass Menschen sich weigern, diese Arbeitsabläufe in ihren Alltag zu integrieren.
Komplexität der Toolchain
Für beide Disziplinen gibt es verschiedene Werkzeuge, die bereitgestellt und erlernt werden müssen. Allerdings ist die Tool-Landschaft für DevOps weniger komplex und stärker standardisiert als für MLOps.
MLOps umfasst eine Vielzahl von Tools, deren Integration komplex und zeitaufwändig sein kann.
Die Teams müssen Zeit in das Erlernen dieser Tools investieren, während die Betriebsteams sie in die Infrastruktur ihres Unternehmens integrieren müssen, was zu Schwierigkeiten führen kann.
Skalierbarkeit
Beide Disziplinen haben auch ihre Probleme mit der Skalierbarkeit. DevOps konzentriert sich hauptsächlich auf die Skalierung von Anwendungen und Diensten, um die Nachfrage der Nutzer zu befriedigen, während MLOps das Wachstum von Daten und Modellen berücksichtigen muss.
Für MLOps ergeben sich weitere einzigartige Herausforderungen. ML erfordert oft die Verarbeitung großer Datensätze und das Training großer ML-Modelle, was eine besondere Infrastruktur wie GPUs oder TPUs erfordern kann.
Das Datenwachstum bringt Herausforderungen bei der Datenspeicherung, der Datenverarbeitung und anderen Themen wie der Versionierung mit sich. Außerdem müssen die Modelle bereitgestellt werden, und die Anforderungen an eine niedrige Latenzzeit können die Bereitstellung der Modelle zu einer einzigartigen Herausforderung machen.
Diese Herausforderungen machen noch deutlicher, warum Automatisierung und IaC der Schlüssel zur Bewältigung dieser Schwierigkeiten sind.
Fazit
In diesem Artikel haben wir über MLOps und DevOps und ihre Gemeinsamkeiten und Unterschiede gesprochen.
Beide Disziplinen sind wichtig, um Arbeitsabläufe zu vereinfachen und die Effizienz zu verbessern.
DevOps konzentriert sich jedoch hauptsächlich auf traditionelle Softwareentwicklungs- und Bereitstellungsprozesse, während MLOps sich auf daten- und ML-zentrierte Projekte konzentriert.
MLOps selbst baut auf den Prinzipien von DevOps auf, da ML-Projekte auch Software beinhalten und daher die gleichen Grundlagen haben.
Aber MLOps erweitern sie, um ML-spezifische Herausforderungen zu bewältigen, wie z.B. große und sich schnell ändernde Datensätze, ML-Modelle, die versioniert und häufig neu trainiert werden müssen, und Überwachung, die Probleme wie Datendrift und Konzeptdrift berücksichtigen muss.
Wenn du mehr über MLOPs und DevOps erfahren möchtest, empfehle ich dir die folgenden Kurse zu besuchen:
Fähigkeiten im Bereich Machine Learning aufbauen
FAQs
Was ist der Hauptunterschied zwischen MLOps und DevOps?
MLOps verwaltet den Lebenszyklus des maschinellen Lernens, einschließlich Daten-Workflows, Modelltraining und Überwachung, während DevOps sich auf die traditionellen Softwareentwicklungs- und Bereitstellungsprozesse konzentriert.
Können MLOps und DevOps gemeinsam genutzt werden?
Ja, MLOps baut auf den DevOps-Prinzipien auf. Die meisten Anwendungen des maschinellen Lernens umfassen auch die Softwareentwicklung, so dass oft eine Kombination beider Verfahren erforderlich ist.
Welche Standardwerkzeuge werden bei MLOps und DevOps eingesetzt?
Zu den beliebten Tools für MLOps gehören MLflow, Kubeflow und SageMaker, während DevOps üblicherweise Jenkins, Kubernetes und Terraform für CI/CD und die Automatisierung der Infrastruktur verwendet.
Welche Fähigkeiten sind erforderlich, um MLOps effektiv umzusetzen?
Die Umsetzung von MLOps erfordert Fachwissen in den Bereichen maschinelles Lernen, Data Engineering und DevOps-Prinzipien sowie Vertrautheit mit Tools wie Kubernetes, Airflow und MLflow.
Ich bin ein Cloud-Ingenieur mit fundierten Kenntnissen in den Bereichen Elektrotechnik, maschinelles Lernen und Programmierung. Meine Karriere begann im Bereich Computer Vision mit dem Schwerpunkt Bildklassifizierung, bevor ich zu MLOps und DataOps wechselte. Ich bin spezialisiert auf den Aufbau von MLOps-Plattformen, die Unterstützung von Data Scientists und die Bereitstellung von Kubernetes-basierten Lösungen zur Optimierung von Machine Learning-Workflows.
Lerne in diesen Kursen mehr über maschinelles Lernen und MLOps!
Kurs
CI/CD for Machine Learning
Kurs
MLOps Deployment and Life Cycling
Der Blog
Die 32 besten AWS-Interview-Fragen und Antworten für 2024
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.
Der Blog
Q2 2023 DataCamp Donates Digest

Der Blog
Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.
Der Blog