SAS Viya 란?

확장 가능한 최신 아키텍처에서 실행되는 AI 기반의 분석 및 데이터 관리 플랫폼으로, 
기업이 전사적으로 누구나 손쉽게 분석을 활용할 수 있는 '분석의 대중화'를 이끌고, 분석 워크로드를 원활하게 관리하며, 다양한 기업 어플리케이션에 SAS 솔루션의 적용을 지원하는 엔터프라이즈 분석 플랫폼이다.
- 분석 수준과 상관없이 기업 내 모든 사용자가 SAS 바이아의 빠르고 강력한 고급 머신러닝 엔진을 이용하여 클라우드 환경에서의 복잡한 데이터를 다룰 수 있음.

- 여러 언어로 개발된 모델과 모델이 배포된 시스템 간에 누락된 레이어를 제공하여, 모델 배포를 위해 많은 시간이 소요되는 재코딩 작업을 하지 않아도 됨.


SAS Viya 아키텍처(전체 배포 - 기본 운영 체제) 다이어그램

SAS Viya 전체 배포판 아키텍처 / 출처: https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.3/viyaov/n00000sasviya000architecture.htm

SAS Viya의 아키텍처를 다이어그램을 통해 보면 위와 같다. SAS Viya의 모듈들을 차근차근 하나씩 살펴보자.

 

Programming Run-time

  • SAS Studio
    - 직관적인 인터페이스로 사용자가 언제 어디서나 손쉽게 프로그램과 데이터 파일 및 라이브러리에 액세스할 수 있도록 해주는 소프트웨어.

  • SAS Compute Server
    - Compute 서비스를 통해 클라이언트가 SAS 프로그램 및 저장 프로시저 처리를 위한 작업 형태로 제출하게끔 해준다.
     
  • SAS Launcher Server
    - SAS Viya 환경에서의 프로세스들을 구동시키는 서버.

  • SAS Workspace Server
    - 각 클라이언트 커넥션에 대한 서버 프로세스를 생성하여 SAS와 상호작용하는 역할을 함. 
    - Workspace 서버 프로세스는 서버를 요청한 클라이언트 유저가 소유하며, 각 Workspace 서버 프로세스를 통해 클라이언트 프로그램은 SAS 라이브러리에 액세스하고, SAS 언어를 사용하여 작업을 수행하고 결과를 검색한다.

  • SAS Object Spawner
    - Workspace 서버와 Stored Process 서버 인스턴스들이 SAS Object Spawner에 의해 초기화 된다.
    - SAS Object Spawner는 Workspace 서버 또는 Stored Process 서버 인스턴스가 작동되고 있는 각 머신 위에서 구동되며, Request들을 수신 대기하고 있다가, 필요에 따라 서버를 시작한다.

  • SAS/Connect Server
    - SAS/Connect 서버는 어플리케이션에 컴퓨팅 서비스, 데이터 전송 서비스, 원격 라이브러리 서비스를 제한다.
    - 컴퓨팅 서비스 : 여러 로컬 프로세서와 하드웨어, 소프트웨어 및 데이터를 포함한 원격 컴퓨팅 리소스를 사용하여 어플리케이션을 가장 효율적으로 실행할 수 있도록 함.
    - 데이터 전송 서비스 : 물리적 사본이 생성되는 한 시스템에서 다른 시스템으로 데이터 사본을 이동하는 방법을 제공. 다른 데이터 전송으로 인한 원본 복사본을 업데이트하기로 결정할 때까지, 추가 네트워크 트래픽을 생성하지 않고, 데이터의 로컬 복사본에 대해 후속 로컬 처리가 수행됨.
    - 원격 라이브러리 서비스 : 원격 데이터 라이브러리가 마치 로컬에 저장된 것처럼 느끼게 함. 원격 데이터는 로컬 프로그램이 요청할 때에만 네트워크를 통해 이동하는데, 이는 원격 데이터 사본은 로컬 파일 시스템에 기록되지 않고, 로컬 프로세서에 의해서 추후 사용 될때에만 해당 원격 데이터 사본이 네트워크를 통해 이동해야 함을 의미함.

  • SAS/Connect Spawner
    - SAS Spawner는 클라이언트가 서버의 SAS 세션에 연결하는 것을 대신해주는 프로그램을 말하는데, 이 중 SAS/Connect Spawner는 SAS/Connect 서버 위에 작동하는 프로그램을 말함.

 

SAS Cloud Analytic Services

  • CAS(Cloud Analytic Services) Controller
    - SAS Cloud Analytic Services용 시스템에 할당할 수 있는 Controller, Backup-Controller(Secondary-Controller), Worker 중 Controller에 해당하는 모듈. 서버가 시작되면 컨트롤러 프로세스가 시작되며, 클라이언트의 연결을 수락하는 역할을 함.

  • CAS Server Monitor
    - CAS 서버를 모니터링하고 일부 관리 작업을 수행하는 데 사용하는 웹 어플리케이션.
    - SAS Viya의 전체 배포에서는 Default로 Off 되어 있음.
    - 모니터링 정보 제공 외에도, 서버 중지, 노드 추가/제거, 세션 종료, 다른 세션 종료, Admin 지정, caslib 권한 설정 등을 지원함.

  • SAS Data Connector
    - 데이터에 액세스하고 load하기 위해서 생성하고 구성해야 하는 것.
    - Data Connector에는 Oracle 또는 SAS 데이터 세트와 같은 데이터 소스에 연결하기 위한 연결 정보 및 데이터 소스 관련 정보가 포함되어 있음.
    - CAS에 데이터를 load 하는 방법 중 데이터를 직렬로 load 할 때 쓰이는 모듈.
      
  • SAS Data Connect Accelerator
    - CAS에 데이터를 load 하는 방법 중 데이터를 병렬로 load 할 때 쓰이는 모듈.
    - Embedded Process와 함께 작동하며, 별도의 라이선스를 받아야 함.

 

Service Layer - Web Applications

  • SAS Visual Analytics
    - 빅데이터 시각화 분석 플랫폼으로 SAS의 고성능 분석 기술을 활용하는, 사용이 간편한 웹 기반 제품.
    - 막대한 양의 데이터를 신속하게 탐색하여 패턴, 추세 및 추가 분석 확인 가능.
    - 코딩이 필요 없으며, 누구나 쉽게 분석이 가능하고, 분석된 결과를 내부적으로 공개한다고 하면, 모바일 대시보드를 통해서도 모델을 공유할 수 있음.

  • SAS Environment Manager
    - SAS 환경을 위한 웹 기반 관리 솔루션으로, SAS Web Application Server 관리 및 SAS Foundation 서버 모니터링을 포함하여 SAS 리소스를 모니터링 및 관리함.
    - 모니터링되는 SAS 리소스의 차트 데이터 및 메트릭을 수집하여 리소스 상태 및 운영에 대한 포괄적인 view를 보여줌.
    - 로그 이벤트보고 알림들을 모니터링
    - SAS Environment Manager Data Mart에 저장된 세부 메트릭 정보와 Report Center에서 제공되는 보고서를 활용하여 IT 및 SAS 리소스의 모니터링 및 관리를 서비스 관리 전략에 통합함.
    - SAS 관리의 다른 측면에 대해 수행하기 위한 모듈 액세스 기능.
    - z/OS를 제외한 모든 SAS 플랫폼에서 에이전트 실행 가능.

  • SAS Theme Designer
    - 다양한 SAS Viya 응용 프로그램의 테마를 쉽게 사용자 지정 가능하게 해주는 어플리케이션
    - 일반적인 UI 구성 요소 및 레이아웃 컨테이너에 적용되는 색상 및 그래픽을 사용하여 설계됨.

다음으로는 SAS Viya의 마이크로서비스들에 대하여 알아보도록 하자!


Service Layer - Microservices

  • Compute
    - SAS Compute Server 세션청하기 위한 API 엔드포인트를 제공하는 마이크로서비스.
    - Compute 서버를 구동하는데 필요한 모든 정보가 포함된 compute contexts를 생성 및 관리하기 위한 API 엔드포인트 또한 제공.
    SAS client가 SAS Compute Server로 코드를 제출하는 과정 /  출처: https://documentation.sas.com/doc/en/sasadmincdc/v_009/calsrvpgm/n00001viyaprgmsrvs00000admin.htm#n05000viyaprgmsrvs00000admin


  • Identities
    - SAS Viya에서 Authentication에 쓰이는 서비스로, 다른 서비스들에 유저 및 그룹 정보를 제공하고, LDAP provider로부터 유저 및 그룹 정보를 읽어드리는 역할.

  • Transfer
    - CLI 등을 통해 SAS Micro Analytic Service 내용(content)을 한 환경에서 다른 환경으로 이동시킬 수 있게 해주는 역할.

  • Authentication
    - 전체 배포에서는 SAS Logon Manager에 의해 제공되는 서비스. OAuth, OIDC, LDAP, Kerberos, SAML 등을 지원.

  • Configuration
    - 스프링 기반 마이크로서비스 : property의 변화가 SAS Environment Manager로부터 이루어지며, SAS Configuration Server에 저장됨. SAS Viya가 새로고침할 경우, 새로운 property의 변경사항이 적용되며, 대부분의 상황에서는 별도의 서비스 재시작은 필요하지 않음.
    - 비스프링 기반 마이크로서비스 : property의 변화가 SAS Environment Manager로부터 이루어지며, SAS Configuration Server에 저장됨.
    consul-template 데몬과 같은 툴이 configuration 변화를 SAS Configuration Server로부터 추출하고 적절한 configuration 파일을 업데이트함. 
    SAS Infrastructure Data Server와 같은 몇몇 서버들은 configuration 변동사항을 적용시키기 위해 서비스 재시작을 수동으로 해줘야 함.

  • Device Management
    - 보안 모델 제어를 포함한 서버 디바이스denylist 및 allowlist 테이블을 유지하는 수단을 제공.

  • Report Data
    - 리포트로부터 데이터를 검색하는 서비스.

 

 

참고

https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.3/viyaov/n00000sasviya000architecture.htm

 

SAS Help Center

 

documentation.sas.com

https://www.newswire.co.kr/newsRead.php?no=921123 

 

SAS, 신규 솔루션·파트너십 등 통해 클라우드 네이티브 전략 가속화

서울--(뉴스와이어) 2021년 04월 06일 -- 세계적인 분석 선두기업 SAS(쌔스)가 클라우드 네이티브 전략을 가속한다. SAS는 클라우드 네이티브 전략 강화를 위해 엔터프라이즈 분석 플랫폼 ‘SAS 바이야

www.newswire.co.kr

https://documentation.sas.com/doc/en/calcdc/3.3/calconfig/n05000sasconfiguration0admin.htm#n05001sasconfiguration0admin

 

SAS Help Center

 

documentation.sas.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기