Upgrade to Pro — share decks privately, control downloads, hide ads and more …

K8s-native Daten-Pipelines mit Argo Workflows u...

K8s-native Daten-Pipelines mit Argo Workflows und Events #data2day

Daten sind der neue Brennstoff für moderne digital Produkte. Aber auch Daten müssen zunächst gefördert und anschließend aufwendig raffiniert und angereichert werden bevor sie wirklich nutzbringend verwendet werden können. Die hierfür verwendeten ETL- und ELT-Ansätze und Tools sind dabei häufig entweder proprietär oder extrem individuell. Die Wartbarkeit und Skalierbarkeit solcher Ansätze ist leider beschränkt.

Dieser Vortrag beschreibt die Evolution und Migration einer individuellen Datenversorgung auf Basis von Jenkins und einzelnen Maven-Projekten, hinzu flexibel orchestrierbaren Kubernetes-nativen Datenpipelines auf Basis von Argo Workflows und Events zur Orchestrierung.

#data2day #kubernetes #qaware #cloudnativenerd

M.-Leander Reimer

September 20, 2022
Tweet

More Decks by M.-Leander Reimer

Other Decks in Technology

Transcript

  1. ▪ In einem Whitepaper haben wir Ende 2018 zunächst die

    Modernisierung und Cloudifizierung des kompletten Systemverbunds beschrieben. Migration in 3 Phasen: – Enabling (Infrastruktur, CI/CD) – Microservice Decomposition und Service Migration – Data Decomposition, Solr und Loader Migration ▪ Natürlich gab es unvorhergesehene Herausforderungen: – Zunehmende Datenmenge machte kurzfristige Bedatungs-Jobs quasi unmöglich – Datenqualität der Quellsysteme ist häufig suboptimal und wird erst zu spät erkannt – Instabilitäten der On-Premise Infrastruktur sorgen für schlechte Availability – EOL der Server-Hardware der Solr und Loader Services verschärft die Dringlichkeit – AWS EC2 Instanzen mit AMIs zur Loader Orchestrierung funktioniert, führt jedoch zu langen Feedback Cycles und schlechter Dev-Prod Parity – Betriebsverantwortung und TLM für self-hosted Services (z.B. Jenkins) ist aufwändig Seit dem ist viel passiert … QAware | 6
  2. Argo Workflow im Überblick QAware | 10 ▪ Open source

    Container-native Workflow Engine zur parallelen Job Orchestrierung mit Kubernetes ▪ Ermöglicht die einfache und schnelle Ausführung von rechenintensive Jobs für maschinelles Lernen, Datenverarbeitung und ETL Jobs, CI/CD sowie Infrastructure Automation auf Kubernetes. ▪ Definition der Workflows erfolgt über Kubernetes CRDs (Custom Resource Definition). – Jeder Schritt einer Workflow Definition ist dabei ein Container – Komplexe Workflows können über eine Sequenz von Schritten einfach abgebildet werden, oder aber über eine DAG (Directed Acyclic Graph) – Workflows können parametrisiert werden, über Artifacts können Ergebnisse zwischen Steps ausgetauscht und übergeben werden – Zahlreiche Features wie Schleifen, Conditionals, Parallelität, Synchronisation, Retries, Templates, Lifecycle Hooks werden unterstützt ▪ Einfache Installation via Plain YAML oder Helm Chart
  3. QAware | 11 WorkflowTemplate Workflow CronWorkflow submit reference Container Script

    Resource Suspend HTTP Steps DAG Resources Work Items Argo Workflow Concepts Execution reference Parameters inputs entrypoint
  4. Argo Events im Überblick QAware | 13 ▪ Ein Event-driven

    Workflow Automation Framework für Kubernetes ▪ Ermöglicht das generische Triggern von K8s Objects, Argo Workflows, Serverless Workloads, etc. auf Basis von Events aus mehr als 20+ verschiedenen unterstützten Quellen – Trigger: Argo Rollouts, Argo Workflows, HTTP Requests, Slack Notifications, Kubernetes Objects, Kafka und NATS Message, etc.pp – Sources: Webhooks, Kubernetes Objects, File-based Events, Minio, AWS SNS, AWS SQS, etc.pp ▪ Einfache Installation via Plain YAML oder Helm Chart
  5. qaware.de QAware GmbH Aschauer Straße 32 81549 München Tel. +49

    89 232315-0 [email protected] twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware