Sharing and Deploying Data Science with KNIME Server

Roland Burger Marten Pfannenschmidt KNIME

© 2019 KNIME AG. All rights reserved. KNIME Server • Collaboration – Share Expertise and Templates/Blueprints • Automation – Schedule, Monitor, Update • Deployment – To Humans: Analytical Applications (“Guided Analytics”) – To Machines: via REST and custom APIs • Management – Manage distributed setups – Integrate with existing enterprise setup (authentication)

© 2019 KNIME AG. All rights reserved. 2 Delivering Data Science

• Analytics as a • Data Access service • Data Blending • Guided Analytics • Transformation Data Blending • Analytical Apps & • In-database Marketing and Sales Decisions Dashboards • “In” Big Data

Data Analytics Financial Decisions

Predictive Analytics Data Apps Product &D Decisions Science

Machine Learning Manufacturing Decisions

Artificial Intelligence IT Decisions • Statistics • Mining • AI/ML/DL Models • R/Python Scripts • Legacy Languages

© 2019 KNIME AG. All rights reserved. 3 Creating Data Science: KNIME Analytics Platform

KNIME Community Integrations Extensions KNIME Data Blending Analytics Platform KNIME Partner Extensions Extensions Data Analytics

Data Data Engineers Data Scientists App Developers Predictive Analytics Science Data Analysts ML/AI Engineers

Machine Learning

Artificial Intelligence

© 2019 KNIME AG. All rights reserved. 4 Productionizing Data Science: KNIME Server

Collaborate Automate Manage Deploy

KNIME Server Marketing and Sales

Financial

Data Science Teams IT Teams Business Teams Apps Product R&D

Guided Analytic Apps Manufacturing Mobile Applications

Web Cloud-based Applications Services IT

REST API

© 2019 KNIME AG. All rights reserved. 5 Better Decision-making, Faster!

Load > Integrate > Transform > Analyze > Visualize

KNIME Community Extensions Integrations KNIME

KNIME Analytics Platform Partner Extensions Extensions

KNIME Server

Collaborate Automate Manage Deploy

© 2019 KNIME AG. All rights reserved. 6 KNIME Server

Workflow Hub Workflows Metanodes, Nodes Data Collaboration

Shared Repository, Versioning

Provisioning Remote, Client Control Distributed Executors Automation

Web Front-ends Guided Analytic Apps RESTful Services Deployment

Management Configuration & Client & User Security Versioning Preferences

© 2019 KNIME AG. All rights reserved. 7 Collaboration Click to add new mountpoint

• Connect to KNIME Server from local KNIME Analytics Platform – Authentication possible via LDAP / Active Directory – Centralized administration and security

Workflows • Interact with KNIME Server: Workflow Groups – Upload workflows for sharing and collaboration with colleagues Data – Execute workflows, create schedules, set permissions, … Metanode Templates

– Organize your work in workflow Jobs groups (directories)

© 2019 KNIME AG. All rights reserved. 8 Deploy workflows to KNIME Server

• Right-click -> Deploy to Server – Share workflows, data, etc. for collaboration – Continuous delivery in all steps of workflow life cycle

© 2019 KNIME AG. All rights reserved. 9 KNIME Workflow Hub

• A place to share knowledge about Workflows. – Share – Discover – Search – Rate – Comment – Version

© 2019 KNIME AG. All rights reserved. 10 Metanode Templates

• Create template from metanode and store on server • Templates are linked -> check for new version and apply updates automatically • Increase efficiency through reusable workflow components • Ensure compliance with company policies

© 2019 KNIME AG. All rights reserved. 11 Remote Execution

• Execute workflows directly on KNIME Server • Scale beyond limitations of desktop machines

© 2019 KNIME AG. All rights reserved. 12 Scheduled Execution

• Automate workflow execution in regular intervals • Orchestrate job pipeline by using Call Workflow nodes

© 2019 KNIME AG. All rights reserved. 13 Remote Workflow Editor

• Monitor progress of execution on server (almost) live • Very helpful for longer-running jobs

What‘s my workflow doing right now?

© 2019 KNIME AG. All rights reserved. 14 Remote Workflow Editor

• Change node configurations directly in the remote job – Resume execution if there was an error – Try different configuration options without re-executing the full job – Add nodes, change node connections, all live and in the secure server environment

© 2019 KNIME AG. All rights reserved. 15 KNIME WebPortal

• All workflows on KNIME Server available as web apps • Step-by-step execution of workflows from any browser • Simple, clean interface for end users – Guided Analytics • Customize layout to match corporate design

© 2019 KNIME AG. All rights reserved. 16 Guided Analytics: Interactive Data Science

Interaction Points

© 2019 KNIME AG. All rights reserved. 17 Inside an Interaction Point

© 2019 KNIME AG. All rights reserved. 18 KNIME Server REST API

• Enables external integration Deploy KNIME workflows • Build applications around KNIME Server as web services • e.g. for Microservices and real time scoring

Output in Input data server response

© 2019 KNIME AG. All rights reserved. 19 KNIME Server REST API: Job Pool

KNIME Workflow for e.g. sentiment prediction, churn score, chemical property

KNIME SERVER Take from pool

External KNIME REST call Executor Pooled jobs

Workflow Pre-loaded jobs Results immediately pooled and waiting executed for work No “load latency” for client

© 2019 KNIME AG. All rights reserved. 20 KNIME Server REST API

• Swagger UI: Explore API definition of workflow in browser • Provides all information needed to interact with API

© 2019 KNIME AG. All rights reserved. 21 KNIME Server REST API

• Programmatically control KNIME Server – Upload/download/delete resources • Staging from Dev to Prod – Upload licenses – Empty trash/restore items – Execute workflows – Schedule jobs – Set permissions All server functionality – Create users & groups, etc. available via REST API

© 2019 KNIME AG. All rights reserved. 22 Version Control

• Create snapshots of workflow revisions • Allow roll-back to previous versions • Full workflow history available in client and on Workflow Hub

© 2019 KNIME AG. All rights reserved. 23 Workflow Difference

• Inspect differences between versions of the same workflow

Highlight differences: - Nodes included/excluded - Node configurations

© 2019 KNIME AG. All rights reserved. 24 Permission Management

• Manage permissions for workflows and data on KNIME Server • Control which groups can access, modify, or execute a workflow • Use LDAP / Active Directory groups for centralized administration

© 2019 KNIME AG. All rights reserved. 25 Managing Preferences – local

How do I How do I configure install Python? database drivers?

KNIME KNIME KNIME Analytics Analytics Analytics Platform Platform Platform

KNIME Website Internal knowledgebase

© 2019 KNIME AG. All rights reserved. 26 Managing Preferences – KNIME Server

• Different departments/teams have different Marketing Finance R&D requirements

• Multiple OS deployments • Windows 7 • Windows 10 • • macOS Windows 10 Windows 7 Linux and macOS Hive Oracle Python Spark MS Access R

© 2019 KNIME AG. All rights reserved. 27 Managing Preferences – KNIME Server

• Client-profiles • Python-Linux KNIME Server • Python-macOS • R-Linux client-profiles • R-macOS Big Data- Databases- Python- • Databases-Win7 Win10 Win7 macOS (etc) • Big Data-Win10

Profiles can include: Preferences, drivers, and more Marketing Finance R&D

© 2019 KNIME AG. All rights reserved. 28 Client Customization Profiles

© 2019 KNIME AG. All rights reserved. 29 KNIME Server – Admin made easy

© 2019 KNIME AG. All rights reserved. 30 Distributed Executors

• Need more workflow horsepower?

• KNIME Server currently supports ‘Scale Up’

• KNIME Server Distributed Executors allows ‘Scale Out’

https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Server.svg/2000px-Server.svg.png https://upload.wikimedia.org/wikipedia/commons/5/53/Server-multiple.svg

© 2019 KNIME AG. All rights reserved. 31 Distributed Executors

Executor 1

Executor 2

Requests to KNIME Server Executor 3 execute workflows RabbitMQ

KNIME Server + Distributed Executors

© 2019 KNIME AG. All rights reserved. 32 Distributed Executors

Executor 1

Request to KNIME Server execute workflow RabbitMQ Scripted launch on AWS CloudFormation KNIME Server + Distributed Executors

© 2019 KNIME AG. All rights reserved. 33 Distributed Executors

Executor 1 CPU load increases

Launching Executor 2 More KNIME Server requests to execute RabbitMQ workflows AWS Auto-scaling Group KNIME Server + Distributed Executors

© 2019 KNIME AG. All rights reserved. 34 Distributed Executors

Executor 1

Executor 2 Requests to KNIME Server execute workflows RabbitMQ AWS Auto-scaling Group KNIME Server + Distributed Executors

© 2019 KNIME AG. All rights reserved. 35 KNIME Software – On premise and in the cloud

KNIME KNIME KNIME Analytics Analytics Analytics Platform Platform Platform

KNIME Server KNIME Server KNIME Server

© 2019 KNIME AG. All rights reserved. 36 KNIME Server

Workflow Hub Workflows Metanodes, Nodes Data Collaboration

Shared Repository, Versioning Ready to get started

Provisioning Remote, Client Control with KNIME Server? Distributed Executors Contact us for a free Automation trial:

Web Front-ends Guided Analytic Apps RESTful Services [email protected] Deployment

Management Configuration & Client & User Security Versioning Preferences

© 2019 KNIME AG. All rights reserved. 37 The KNIME® trademark and logo and OPEN FOR INNOVATION® trademark are used by KNIME AG under license from KNIME GmbH, and are registered in the United States. KNIME® is also registered in Germany.

© 2019 KNIME AG. All rights reserved. 38