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

Visualizza workflow dal menu laterale

workflows-management-page

Visualizza la lista dei workflow

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

Pagina di dettaglio del workflow

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

workflow-details-page-top-buttons-set

Funzioni aggiuntive workflow

quali:

Funzione Pulsante
Visualizzazione contenuti multimediali generati dai Service del Workflow workflow-media-results-button
Selezione versione Workflow workflow-version-selector
Visualizzazione annotazioni per il Workflow workflow-notes-view-button
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

    Dettaglio Workflow - sezione datasets

  • 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

    Dettaglio Workflow - sezione models

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

    workflow-details-workflow-schedulers-section

    Dettaglio Workflow - sezione schedules

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

Dettaglio Workflow - pannello dei workflow media

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

Dalla pagina di dettaglio di un Workflow è possibile accedere al selettore di versione:

workflow-version-selector

Accesso al selettore di versione

Da lì è possibile selezionare una versione specifica ed eseguire su di essa diverse operazioni: esecuzioni, modifica, ecc.

workflow-specific-version-selected

Selezione della versione specifica

La selezione sarà temporanea. Nel caso in cui si volesse impostare una versione specifica come default, cliccare sull'icona star-icon. Da quel momento in poi la card del Workflow a catalogo punterà a questa versione.

workflow-specific-version-set-as-default

Impostazione del Workflow predefinito

Visualizzazione Annotazioni

Al click su workflow-notes-view-button si aprirà l'elenco delle annotazioni assegnate al Workflow:

workflow-details-page-view-workflow-annotations-button

Elenco annotazioni workflow

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

Assegna workflow a un project

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

Esportazione workflow

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 da ALIDA.

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

Creazione schedule workflow

workflow-details-create-workflow-scheduler-form

Form schedulazione workflow

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

Pagina Designer workflow

Impostazioni Preliminari

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

preliminary-workflow-settings

Inserisci informazioni preliminari del workflow

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

Designer - dettaglio porta di input del dataset

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

Designer - dettaglio porta di output del dataset

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 ALIDA 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)

Annotazione del Workflow

ALIDA consente, da Workflow Designer, di assegnare al Workflow un insieme di note strutturate. Note che dovranno essere state precedentemente definite da un amministratore da Pannello di Controllo (vedi Definizione Annotazioni).

Per associare delle note strutturate al Workflow, aprire il pannello di gestione cliccando su notes-button-large.

workflow-designer-with-notes-button-highlighted

Designer - assegnazione annotations al workflow

A quel punto la procedura di aggiunta e gestione delle note è del tutto analoga a quanto descritto per i Service (Annotazione Service)

Valorizzazione automatica dei parametri di porta

Nel collegare Service tra loro, ALIDA 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

Dettaglio Workflow - Visualizza versione corrente

e sarà possibile impostare una versione precedente come default

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

Dettaglio Workflow - Seleziona versione dalla lista

Esecuzione di un Workflow

Una volta che il Workflow è stato configurato e creato, può essere eseguito o schedulato per l'esecuzione. Se configurate, ALIDA 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

Seleziona namespace

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

Dettaglio Workflow - Visualizza log

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.

ALIDA chiederà conferma:

workflow-deletion-confirmation-button

Conferma cancellazione workflow

Creazione di un Template

Cliccando su create-template-from-existing-workflow-icon-button sarà possibile creare un Template a partire da un Workflow esistente.

Visita Gestione Template per maggiori informazioni.