liveBook · Manning

YAML

As explained in Designing Deep Learning Systems: A guide for software engineers

A human-readable data serialization format commonly used for structured configuration.

YAML provides a human-readable way to define structured Argo Workflows as Kubernetes custom resource objects. A workflow file declares metadata, an entrypoint, templates, ordered steps, and artifact dependencies before submission to the cluster. section 9.3.2

A YAML workflow definition can express:

  • Workflow identity and generation metadata. section 9.3.2
  • Sequential or grouped execution steps through named templates. section 9.3.2
  • Inputs and outputs passed between isolated task containers as artifacts. section 9.3.2
Listing 9.2 A sample workflow for Argo Workflows with a series of steps
apiVersion: argoproj.io/v1alpha1
kind: Workflow                                         #1
metadata:
 generateName: data-processing-  
spec:
 entrypoint: argo-steps-workflow-example 
 templates:
   - name: argo-steps-workflow-example
     Steps:                                            #2
       - - name: check-new-data
           template: data-checker                      #3
       - - name: transform-data
           template: data-converter
           arguments:
             artifacts:
               - name: data-paths                      #4
                 from: "{{steps.check-new-data.outputs. 
                          artifacts.new-data-paths}}"  #5
       - - name: save-into-db
           template: postgres-operator
       - - name: notify-data-science-team
           template: slack-messenger
 
   - name: data-checker                                #6
     container:
       image: docker/data-checker:latest
       command: [scan, /datastore/ds/]
     outputs:
       artifacts:
         - name: new-data-paths                        #7
           path: /tmp/data_paths.txt
 
   - name: data-converter
     inputs:
       artifacts:
         - name: data_paths                            #8
           path: /tmp/raw_data/data_paths.txt
     container:
       image: docker/data-checker:latest
       command: [data_converter, /tmp/raw_data/data_paths.txt]
 
   - name: save-into-db
     .. .. ..
   - name: notify-data-science-team
     .. .. ..

Inspect a complete YAML workflow that checks data, transforms it, saves it to a database, and notifies a team. section 9.3.2

How Designing Deep Learning Systems: A guide for software engineers covers it

How deep it goes
Shows workflow structure, templates, steps, and artifact wiring, but not YAML syntax beyond the operational listing.
Examples
Uses a YAML pipeline that checks data, transforms it, saves a database table, and sends a Slack notification.
What it assumes
Assumes familiarity with Kubernetes while teaching workflow and template responsibilities through a concrete definition.
What you can do after
Apply it via Argo Workflows to declare and submit Kubernetes-executed workflow tasks.
How it connects
Connects YAML with Argo Workflows, Kubernetes, custom resource definitions, containers, pods, and Airflow.

Also explained in

Compare how 16 books explain YAML →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Designing Deep Learning Systems: A guide for software engineers. The section links point to the parts of the book it draws on.