Vai al contenuto

Workflow

Il Workflow è il componente che permette di realizzare la propria pipeline di Data Science & Machine Learning.

Gestione dei Workflow

Per accedere alla schermata di gestione dei Workflow utilizzare il menù laterale:

sidebar-menu-with-workflows-section-highlighted

workflows-management-page

Visualizzazione dei Workflow

Dalla pagina di gestione dei Workflow è possibile visualizzare i Workflow pubblici, del team di appartenenza ed i propri privati.

Qui, per ciascuno di essi, sono disponibili le seguenti funzioni:

Funzione Pulsante
Eseguire execute-workflow-icon-button
Creare Template create-template-from-existing-workflow-icon-button
Modificare edit-workflow-icon-button
Eliminare delete-workflow-icon-button

Cliccando sulla card stessa si accederà invece al pannello dettaglio Workflow.

workflow-details-page

Dove, in alto a destra, saranno disponibili funzioni aggiuntive:

workflow-details-page-top-buttons-set

quali:

Funzione Pulsante
Visualizzazione contenuti multimediali generati dai Service del Workflow workflow-media-results-button
Selezione versione Workflow workflow-version-selector
Aggiunta del Workflow ad un Project workflow-details-page-manage-projects-icon-button
Esportazione del Workflow workflow-details-page-export-workflow-icon-button

All'interno della stessa pagina, in basso, sono inoltre disponibili le seguenti sezioni a scomparsa:

  • Workflow: per interagire con i componenti del Workflow
  • Datasets: per visualizzare l'elenco dei dataset in input e in output assieme ad una loro anteprima (workflow-details-dataset-preview-icon-button)

    workflow-details-datasets-collapsable-section

  • Models: per visualizzare l'elenco dei modelli in input e in output, e scaricarli (workflow-details-model-download-icon-button)

    workflow-details-models-collapsable-section

  • Schedules: per impostare e visualizzare le pianificazioni di esecuzione del Workflow

    workflow-details-workflow-schedulers-section

Le seguenti sezioni descrivono più nel dettaglio le suddette funzionalità

Workflow Media (Contenuti Multimediali)

Al click su workflow-media-results-button si aprirà la schermata di visualizzazione dei contenuti multimediali creati dai Service componenti il Workflow (vedi anche Service - Workflow Media):

application-media-panel-open

Da qui sarà possibile:

  1. Visualizzare i contenuti multimediali generati da ciascun Service
  2. Selezionare l'esecuzione specifica per la quale visualizzare i contenuti

Selezione Versione

In lavorazione ...

workflow-version-selector

Aggiunta ad un Project

Al click su workflow-details-page-manage-projects-icon-button si aprirà il dialog che consentirà di aggiungere il Workflow ad un Project.

I Project disponibili sono quelli precedentemente creati dall'apposita sezione (vedi Asset -> Projects)

add-workflow-to-project-dialog

Esportazione

Al click su workflow-details-page-export-workflow-icon-button sarà possibile esportare il Workflow in diversi formati:

  • Standalone
  • Manifest

workflow-export-modes-dialog-with-dropdown

Selezionando la modalità Standalone potrai scaricare uno stack Docker Compose implementante il Workflow e pensato per l'esecuzione di questi in locale o su sistemi diversi dal Sistema Data Analytics.

Selezionando invece la modalità Manifest potrai scaricare l'equivalente versione Kubernetes in formato manifest JSON.

Schedulazione

Dalla sezione Schedules sarà possibile pianificare l'esecuzione del Workflow attraverso espressioni Cron.

workflow-details-workflow-schedulers-section

workflow-details-create-workflow-scheduler-form

Creazione Workflow

  • Per le istruzioni di creazione del Workflow rimandiamo al paragrafo Crea Workflow della sezione Quickstart.

  • Per le funzionalità disponibili sul Workflow Designer rimandiamo alla sezione Designer

In questa sezione illustremo alcune funzioni aggiuntive utili nelle fasi di creazione e modifica di un Workflow.

Per gli esempi prenderemo a riferimento il Workflow creato durante il Quickstart.

quickstart-workflow

Impostazioni Preliminari

Subito dopo aver cliccato sul pulsante Create Workflow, si aprirà il seguente form per le impostazioni preliminari:

preliminary-workflow-settings

avente i seguenti campi:

  • Access Level
  • Default Data Source

Access Level determina il livello di visibilità dell'asset Workflow (come visto in Concetti Base)

Default Data Source permette di selezionare la Datasource predefinita a cui tutti i Service del Workflow punteranno per il salvataggio dei risultati. Tale configurazione di default potrà poi essere cambiata per singolo Service dall'interno del Workflow Designer (vedi sezione seguente Impostazioni Porte I/O)

Informazioni Generali

  • Il Workflow Designer consentirà di collegare tra loro solo porte compatibili

Impostazioni Porte I/O

Cliccando su una delle porte dei blocchi sul canvas, si aprirà sul pannello Dettagli Elementi un form di configurazione, il cui contenuto dipenderà non solo al tipo di porta ma anche di blocco (service, dataset, ...)

Per esempio cliccando sulla porta di input di tipo dataset del Service KMeans, troviamo la possibilità di selezionare - attraverso le relative checkbox - quali colonne del dataset effettivamente passare al Service.

elements-details-panel-showing-service-input-dataset-port-configurator

Cliccando invece sulla porta di output di tipo dataset del Service, potremo sulla destra selezionare la datasource destinazione per il dataset in uscita. elements-details-panel-showing-service-output-dataset-port-configurator

Selezione Target di esecuzione per i Service

Per ciascun Service componente il Workflow è possibile impostare un Target.

Il Target determina l'insieme dei nodi del cluster del Sistema Data Analytics candidati ad ospitare l'esecuzione dei Service che gli sono stati assegnati.

I possibili Target selezionabili dovranno essere preventivamente definiti dall'amministratore da pannello di controllo (vedi Gestione dei Target)

Valorizzazione automatica dei parametri di porta

Nel collegare Service tra loro, il Sistema Data Analytics provvederà ad assegnare i valori gli argomenti (quelli definiti nel metamodello) della porta di output di un Service ai corrispettivi della porta di input del Service successivo nel Workflow.

Esempio

two-services-coupling-example

Modifica di un Workflow

E' possibile modificare un Workflow, o rapidamente le proprietà di un Service che lo compone, cliccando sul pulsante edit-workflow-icon-button.

Versionamento

Ad ogni modifica il Workflow verrà versionato:

workflow-details-page-with-versions-button-highlighted

e sarà possibile impostare una versione precedente come default

workflow-details-page-with-versions-list-and-star-button-highlighted

Esecuzione di un Workflow

Una volta che il Workflow è stato configurato e creato, può essere eseguito o schedulato per l'esecuzione. Se configurate, il Sistema Data Analytics invierà anche le relative notifiche sul relativo stato di esecuzione.

Selezione del Namespace

Al click sul pulsante execute-workflow-icon-button, se l'amministratore di sistema ha definito namespace aggiuntivi da Pannello di Controllo, si aprirà un pop-up per la selezione del namespace.

Qui Basti sapere che per namespace si intende un'area del cluster dedicata all'esecuzione del Workflow. Più namespace possono differire per politiche di sicurezza, risorse computazionali disponibili e altro (Consulta il tuo amministratore di sistema per maggior informazioni).

workflow-namespace-selection-popup

Possibili Stati Workflow

  • READY: il Workflow è appena stato creato ed è pronto per l'esecuzione
  • STARTING: il Workflow è in fase di inizializzazione. Risorse per esso stanno venendo allocate
  • RUNNING: il Workflow è attualmente in esecuzione
  • COMPLETED: il Workflow ha completato l'esecuzione. Risultati disponibili
  • STOPPED: il Workflow è stato manualmente fermato dall'utente
  • ERROR: il Workflow si è interrotto a causa di un errore

Log dei Service del Workflow

Dalla pagina di dettaglio di un Workflow eseguito o in esecuzione è possibile accedere al log dei singoli Service componenti che hanno superato la fase di inizializzazione (stato STARTING).

Come indicato in figura, cliccando su show-logs-button si aprirà il pannello di visualizzazione dei log.

workflow-details-page-with-service-logs-dialog-open

Da qui, cliccando su download-log-files-button sarà anche possibile scaricare una copia dei log in locale.

Eliminazione di un Workflow

Cliccando su delete-workflow-icon-button sarà possibile eliminare un Workflow dal catalogo.

Il Sistema Data Analytics chiederà conferma:

workflow-deletion-confirmation-button

Creazione di un Template

create-template-from-existing-workflow-icon-button : verrà creato un Template:

workflows-page-with-one-template

Un Template è una copia speciale non eseguibile di un Workflow disponibile a catalogo come base per la creazione di nuovi Workflow. Vedi anche Gestione Template

Uso di MLFlow

workflows-details-page-experiment

Figura: Workflow Experiment

Se all'interno di un WorkFlow, un modello addestrato è di tipo FML, è possibile, attraverso il bottone Experiments (Figura: Workflow Experiment), eseguire una comparazione per la scelta dell'algoritmo, accedendo al tool mlflow (Figura: MLflow Tool).

workflows-details-page-mlflow

Figura: MLflow Tool