Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS VIYABor Novak, SAS Adriatic Region
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™ Vision
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
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
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
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
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
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™ Architecture
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™ Architecture - CAS
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
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
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
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.
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™ Architecture – Open APIs
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)
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
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
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.
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
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™ Architecture - Microservices
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
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
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
Job Flow
Scheduling
Monitoring
Identities
DM Models
…
Copyright © SAS Inst itute Inc. A l l r ights reserved.
MicroservicesArchitecture
• Scalable
• Disposable
Logon Authorization
Failover
Failover &Performance
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
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
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™ Architecture - Cloud
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
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
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
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Cloud ArchitectureMoving to an “as-a-service” IT Stack
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
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS Customers Already Adopting Cloud Foundry for Software Development
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
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Thank you...