26
1 © 2015 The MathWorks, Inc. Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services

Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

1© 2015 The MathWorks, Inc.

Integrate MATLAB Analytics into

Enterprise Applications

Aurélie Urbain

MathWorks Consulting Services

Page 2: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

2

Data Analytics Workflow

Data Analytics Analytics Integration Data Acquisition

Business

Systems

Smart

Connected

Systems

MATLAB: Single Platform

Page 3: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

3

Challenges

How to share MATLAB algorithms with multiple internal and external

consumers

Challenging and time consuming to re-code MATLAB algorithms for

integration into IT frameworks

Difficult to migrate solutions to enterprise scale web or cloud frameworks

How to deliver fast results with large volumes of data

Page 4: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

4

Key Takeaways

1. Distribute applications to non-MATLAB users royalty-free.

2. Integrate MATLAB functions into existing workflows and development platforms.

3. Deploy MATLAB Analytics for Big Data on Spark-enabled Hadoop clusters.

4. Build a scalable and reliable platform for sharing MATLAB applications.

Page 5: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

5

Sharing and Deploying MATLAB ApplicationsWrite Your Programs Once Then Share to Different Targets

MATLAB

C/Cshared library

++ExcelAdd-in JavaHadoop .NET

MATLAB

Compiler

MATLABProduction

Server

StandaloneApplication

MATLAB

Compiler SDK

Apps Files

Custom Toolbox

Python

With MATLAB

Users

With People Who Do

Not Have MATLAB

.lib/.dll .exe

MATLAB

Coder

MATLAB

Runtime

Embedded

Coder

MEX

With MATLAB

Users

Page 6: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

6

Share with People Who Do Not Have MATLAB

C/Cshared library

++ExcelAdd-in JavaHadoop .NET

MATLAB

Compiler

MATLABProduction

Server

StandaloneApplication

MATLAB

Compiler SDK

Python

Share Applications with No

Additional Programming

Integrate MATLAB-based Components

With Your Own Software

• Royalty-free Sharing

• IP Protection via Encryption

MATLAB

Runtime

Page 7: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

7

1

2

Integrate MATLAB-based Components With Your Own

Software

MATLAB

Toolboxes

MATLAB

Runtime

Application Author

Software Developer

43C/C++

Java

.NETMATLAB

ProductionServer

Python

MATLAB Compiler SDK

Page 8: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

8

Using MATLAB Compiler SDK to create Java Classes

Page 9: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

9

MATLAB and MATLAB Production Serveris the easiest and most productive environment to take your enterprise

analytics or IoT solution from idea to production

Idea Production

Page 10: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

10

Why MATLAB Production Server Matters to You

No need to learn another programming

language

Reliably service large numbers of concurrent

requests with low latency

Platform independency (win, mac, linux)

Web and cloud friendly architecture

Client connections can be protected with SSL

encryption

Automatically deploy updates without server

restart

Domain

Expert

Solution

Architect

Page 11: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

11

MATLAB Production ServerEnterprise Class Framework For Running Packaged MATLAB Programs

Server software

– Manages packaged MATLAB

programs and worker pool

MATLAB Runtime libraries

– Single server can use runtimes

from different releases

RESTful JSON interface and

lightweight client library (C/C++, .NET,

Python, and Java)

MATLAB Production Server

MATLAB

Runtime

Request Broker

&

Program

ManagerEnterprise

ApplicationRESTful

JSON

Enterprise

Application

MPS Client

Library

Page 12: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

12

MATLAB Production Server

Request

Broker

&

Program

Manager

Enterprise Application

HTTP(S)

HttpClient

object

Calling Functions

Calculation

Process

Calculation

Process

Worker Pool

Page 13: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

13

Example - Integrating with IT systems

Web

Server

Application

Server

Database Server

Pricing

Risk

Analytics

Portfolio

Optimization

MATLAB Production Server

MATLAB

Compiler SDK

Web

Applications

Desktop

Applications

Page 14: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

15

MATLAB

MATLAB

Compiler SDK

Customer examples: Financial customer advisory service

MATLAB Production Server

Request

BrokerAlgorithm

Developers

Request

Broker

Request

Broker

o Saved € 2 million

annually for an

external system

o Quicker

implementation of

adjustments in source

code by the

quantitative analysts

o Knowledge + MATLAB

= Build your own

systems

Global

financial

institution with

European HQ

Page 15: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

16

MATLAB

MATLAB

Compiler SDK

Industrial IoT Analytics on AWS

MATLAB Production Server

Request

Broker

Algorithm

Developers

Industrial Equipment

• Networked

communication

• Embedded sensors

• Data reduction

Business

Systems

Users

Global industrial

equipment

manufacturer

Page 16: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

17

MATLAB Production Server

Request

Broker

Building Automation IoT Analytics on Azure

Building/HVAC

automation

control system

• Variety of

sensors and

controls

• Networked

communication

• Data reduction

Azure

EventHub

Azure

BlobAzure

SQL

MATLAB

MATLAB

Compiler SDK

Algorithm

Developers

Business

Systems

Users

Global heavy duty

electrical equipment

manufacturer

Page 17: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

18

Back-end scalability

MATLAB Production Server

– Application server for MATLAB

Manage large numbers of

requests to run short-running

deployed MATLAB programs

MATLAB Distributed Computing Server

– Cluster framework for MATLAB/Simulink

Speed up computationally intensive

programs on computer clusters,

clouds, and grids

.NET

Deployed

ApplicationDeployed

ApplicationDeployed

ApplicationDeployed

Application

Front-end scalability

Page 18: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

19

Distinct Offerings Scale Application Access and Computation

Deployed Application

Deployed

ApplicationDeployed

ApplicationDeployed

ApplicationDeployed

Application

MATLAB Compiler SDKMATLAB

Desktop

(client)

Parallel Computing Toolbox

MATLAB Distributed Computing Server

GPU

Multi-core

CPU

MATLAB Production Server

MATLAB code with

batch, parfor, or other

parallel constructs

Request

broker

Page 19: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

20

Distinct Offerings Scale Application Access and Computation

Deployed Application

Deployed

ApplicationDeployed

ApplicationDeployed

ApplicationDeployed

Application

MATLAB Compiler SDKMATLAB

Desktop

(client)

Parallel Computing Toolbox

MATLAB Distributed Computing Server

GPU

Multi-core

CPU

MATLAB code with

batch, parfor, or other

parallel constructs

Request

broker

MATLAB Compiler SDK

MATLAB Production Server

Parallel workers on remote hardware

Page 20: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

21

MATLAB and MATLAB Distributed Computing Server

allow you tospeedup your computations on multiple CPUs and GPUs

overcome memory limitations and

offload computations to clusters and clouds.

Desktop Clusters and Clouds

Page 21: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

22

MATLAB Distributed Computing Server Benefits

Transparently get access to more workers

on a cluster.

Get access to advanced parallel workflows

directly through their MATLAB desktop.

Platform independency (win, mac, linux)

Don’t need to build a framework for

submission and retrieval.

Can easily scale up with more

workers

Client connections can be protected

with SSL encryption

Domain

Expert

Solution

Architect

Page 22: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

23

Data Intensive: Big Data support in MATLAB

11 26 41

12 27 42

13 28 43

15 30 45

16 31 46

17 32 47

20 35 50

21 36 51

22 37 52

Distributed Arrays

Apache Spark™ on Hadoop

Tall Arrays

Datastores

Page 23: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

24

Summary for tall arrays

Process out-of-memory data on your Desktop to explore,

analyze, gain insights and to

develop analytics

MATLAB Distributed Computing Server,

Spark+Hadoop

Local disk,

Shared folders,

Databasesor Spark + Hadoop (HDFS),

for large scale analysis

Use Parallel Computing

Toolbox for increased

performance

Run on Compute Clusters

Page 24: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

25

Databases

Cloud

Storage

IoT

Visualization

Web

Custom App

Public Cloud Private Cloud

Technology Stack

Platform

Data Business System

MATLAB

Production Server

Analytics

Request

Broker

Azure

Blob

MATLAB

Distributed

Computing

Server

Page 25: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

26

Online Resources

• Documentation – Create and

Share Toolboxes

• Website – Desktop and Web

Deployment

• Free White Paper – Building a

Website with MATLAB Analytics

• Website – Using MATLAB With

Other Programming Languages

Page 26: Integrate MATLAB Analytics into Enterprise Applications · Integrate MATLAB Analytics into Enterprise Applications Aurélie Urbain MathWorks Consulting Services. 2 ... MATLAB Distributed

27

MathWorks Consulting Services can help you!

Data Analysis Presentation

Data Management Data Modeling & Computation Enterprise Deployment

We can support you during the 3 different phases of the application development process