36
Copyright © SAS Institute Inc. All rights reserved. SAS VIYA Bor Novak, SAS Adriatic Region

SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS VIYABor Novak, SAS Adriatic Region

Page 2: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ Vision

Page 3: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ The Platform

• Analytical Lifecycle

• Governance

• Integrated

• Enabling

• Languages

• APIs and Services

Capacity & Consumption Based

Private and Public

Elastic

Deploy, Provision, Use

Self Service

Innovative

Page 4: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™

Multi-cloud architecture

MVS

Windows

AIXHP-UX

Solaris

SunOS

Linux

Tru64

IRIXOS/2 GoogleCloudPlatform

Page 5: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Common Codebase

• Single Codebase

• Consistent Answers

Common Analytics EngineEvent Stream Processing

Python/Java/Lua

SAS Studio

Visual Analytics

Page 6: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Comprehensive Compute Platform

In-Memory• Data and analytical workloads are automatically distributed across the cores of a single server or the nodes

and cores of a compute cluster for parallel execution

In-Hadoop• SAS workload runs in the Hadoop cluster leveraging Spark / MapReduce

In-Database • SAS workload runs in the database leveraging database clustering and MPP architectures

In-Stream• Analyze a large number of continuously flowing events

In-Cloud• SAS workload runs with Cloud Foundry PaaS enabling elastic scalability within public and private cloud

infrastructures

Page 7: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Para

llel &

Ser

ial,

Pub

/ S

ub

, W

eb S

ervi

ces,

MQ

s

Source-basedEngines

Microservices

UAA

QueryGen

Folders

CAS Mgmt

Data Source Mgmt

AnalyticsGUIs

etc.…

BIGUIs

EnvMgr

ModelMgmt

Log

Audit

UAAUAA

Data Mgmt GUIs

In-Memory Engine

In-Cloud

In-Database

In-Hadoop

In-Stream

Solutions

APIs

Infrastructures

Platforms

Analytics

Data ManagementFraud and Security Intelligence

Business VisualizationRisk Management

!

Customer Intelligence

Cloud Analytics Services (CAS)

Platform Architecture

Page 8: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ Architecture

Page 9: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ Architecture - CAS

Page 10: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Web browser

Other client

Smart device

Config data RDBMS Hadoop

Data Connectors / Accelerators

User Content

Message queues

RESTful APIsMicroservices In-memory engine

SAS Studio Python/Java/Lua

programming interfaces

Monitoring console

Microservice resources

Cloud Analytic Services

Web apps

In-Memory Engine

Main Components of the SAS® Viya™ Platform

Page 11: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Cloud Analytic Services (CAS) In-Memory Engine

Resilient• Fault-tolerant to Node and

Network Failures

• Controller and Worker Failover

• Session Independence

In-Memory Engine

Fast• Multi-threaded

• Inter-node Communication

• Optimized Node Allocation

Scalable• Single Machine to Distributed MPP

• Elastic Node Addition / Deletion

• Memory Spill-to-Disk as Necessary

The CAS in-memory engine is a fast, scalable, and resilient run-time environment for

data management and analytics for the SAS® Viya™ platform

Page 12: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

CAS Server Actions

• Each CAS action performs a single task

• CAS actions are submitted to the CAS server by SAS Procedures or third-party languages like Python, Lua, or Java

• Actions are grouped into action sets based on functionality

• Example action sets and actions:

- Data Preprocess: binning, impute, outlier…

- Decision Tree: dtreePrune, dtreeSplit, forestTrain…

- Neural Network: annTrain, annScore, annCode

- Regression Modeling: genmod, glm, logistic

- Image: loadImages, processImages, compartImages, …

- Text Mining: tmSvd, tmMine, tmScore

CAS Server

CAS Sessions

CAS Actions

Page 13: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

CAS ServerCAS TABLE Management Overview

CAS can handle large tables that exceed the memory capacity of the environment.

• CAS is using cache-to-disk and on-demand memory mapping technology for efficient memory utilization.

• When the resident memory threshold is exceeded, data is cached to disk and stored in temporary files on CAS worker nodes.

• The data is fetched from cache into memory only when it’s required by CAS processes. Once a process is finished with the data, the data is released and unmapped.

• The cache data (temporary file) is memory mapped using on-demand memory mapping technology.

Page 14: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ Architecture – Open APIs

Page 15: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Open Analytics Platform Providing Developers Access to SAS Services

Visual Interfaces

Programming Interfaces

API Interfaces

(web app / web service integration)

Page 16: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Open APIsPython Client Interface

SAS Scripting Wrapper for Analytics Transfer (SWAT) package—a Python interface to CAS

• Enables execution of CAS analytics actions using Python code

• Enables user to execute workflows of CAS analytic actions, then pull down the

summarized data to further process on the client side in Python

Page 17: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Open APIsLua Interface for SAS

Lightweight multi-paradigm programming language designed primarily for embedded systems and clientsSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS• Enables execution of CAS analytics actions using Lua code• Enables user to execute workflows of CAS analytic actions, then pull down the

summarized data to further process on the client side in Lua

Page 18: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Open APIsJava Interface for SAS

• The Java CAS Client provides access to CAS using socket protocols.

• The Java interface does not require a SAS Scripting Wrapper for Analytics Transfer

(SWAT) package.

• You can write Java programs that load data into memory and invoke CAS actions to

transform, summarize, model and score the data.

• Classes are provided that correspond to each CAS action and you can use Java to

post-process CAS result tables.

Page 19: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

• REST (REpresentational State Transfer) is an architectural style, and an approach to

communications that is often used in the development of Web services.

• Many third-party tools depend on the availability of a REST API in order to

integrate.

• CAS REST API will allow third-party web applications access to CAS and the CAS grid.

• The CAS REST service runs on the controller machine. All REST calls are made

through the main CAS controller. The CAS REST handler will forward requests to

other nodes on the grid as needed, allowing CAS to export only two network ports.

Open APIsCAS REST API

Page 20: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ Architecture - Microservices

Page 21: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

MicroservicesDefinition

• What?- Loosely coupled services.

- Do exactly *one* thing well

• Why?- Micro Updates continuous delivery

- Horizontal scale multi-tenancy

- Continuous delivery / faster innovation

- Partner friendly

Page 22: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

MicroservicesExamples

• Login/authentication

• Audit

• CAS administration

• Credentials

• Comments

• Data source management

• Device Management

• Federation

• Files/folders

• HTML Commons

• Job execution/flow

• Model management

• Preferences

• Query generation

• Report generation

• Backup services

• Scheduling

• Templates

Page 23: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

MicroservicesArchitecture

• Small in focus, if not in size

• Independently updatable

• 122+

Audit

Authorization

Annotations

CAS Mgmt

Comments

Configuration

Logon

Backup

Renderer

Mail

Job Flow

Scheduling

Monitoring

Identities

DM Models

Page 24: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

MicroservicesArchitecture

• Scalable

• Disposable

Logon Authorization

Failover

Failover &Performance

Page 25: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

MicroservicesArchitecture

• RESTful APIs

Microservice(GET / PUT / …)

Language of choice

Web Server

HTTP HTTP

Web Application

HTTP

Page 26: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

MicroservicesResources

• Persistent data

Web Program

Logon Authorization

Configuration

Config data

Config data

User Content

Message queues

Page 27: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS® Viya™ Architecture - Cloud

Page 28: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

• SAS leverages Cloud Foundry Platform-as-a-Service for cloud-native deployment to public and private cloud infrastructure

• Cloud Foundry’s elastic runtime enables deployment scalability:

• Horizontally by increasing the number of instances of a job or application

• Vertically by allocating more memory and disk spaceVisual Interfaces

Programming Interfaces

In-Cloud

Page 29: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

A way to deploy software.

Open Source technology

The container provides a way to package everything you need to run software:• Code;• Runtime;• System tools;• System libraries;• Etc… anything that can be run on a server.

C O N T A I N E R

Container - What is it?

O/S RAM HD

S E R V E R

Page 30: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

No. There are major differences:

Wait a minute… isn’t that what a virtual machine is?

Container Virtual Machine

Leverages ALL the resources of the server (RAM, CPUs, HD, etc)

Only leverages the resources assigned to the VM

Altruistic: Does not monopolize server resources Greedy: locks down assigned resources from server

Lightweight: utilizes the server’s OS Heavy: has its own OS

Spins up very quickly (seconds) Slow boot-up (minutes)

Save state is also very quick (seconds) Save state takes a long time (minutes)

Portable between AWS, Google, Azure Complicated export process

Page 31: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Page 32: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Cloud ArchitectureMoving to an “as-a-service” IT Stack

Page 33: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Cloud FoundryWhat is it?

• An open source cloud platform as a service (PaaS) on which developers can build, deploy, run and scale applications on public and private cloud models

• Originally created by VMware, it is now part of Pivotal Software (EMC/VMWare/GE) which open sourced it

• Competitors to Cloud Foundry include Red Hat OpenShift, Google App Engine and Heroku (a Salesforce company) and other supporting tech like Kubernetes

• In February 2014, Pivotal, EMC, IBM, Rackspace and VMware formed the Cloud Foundry Foundation, which currently has 60+ members including SAS

• The Cloud Foundry Foundation's goal is to use the innovations of the community to create an agile platform for cloud-native applications

Page 34: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

SAS Customers Already Adopting Cloud Foundry for Software Development

Page 35: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Cloud FoundrySupporting DevOps

• Emphasizes the collaboration of software Developers and IT Operations

• Strives to support Continuous Integration and Continuous Deployment

• DevOps goals: Improved deployment frequency, lower failure rate of new releases, reduce lead time between fixes, faster time to recovery after crash…

CI CD

Page 36: SAS® Viya™ - Architecture - Data Science SerbiaSAS Scripting Wrapper for Analytics Transfer (SWAT) package for Lua—a Lua interface to CAS • Enables execution of CAS analytics

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Thank you...