RStudio란 무엇인가?

RStudio를 알기 위해서 먼저 R이라는 프로그램을 알아야합니다.
R은 통계를 위한 프로그램으로 In-memory 방식의 오픈소스입니다. 통계적 방법, 데이터분석, 시각화 등을 위해 많은 패키지를 제공하고 있으며 SAS를 위협하는 분석관련 오픈소스 생태계에 크게 자리를 잡았습니다. 이러한 R을 이용한 코딩, 디버깅 등 여러 작업을 쉽게 하도록 도와주는 통합개발환경(Integrated Development Environment, a.k.a IDE)이 바로 RStudio입니다.
RStudio를 분석가 1인이 사용하는 로컬 PC에서 운용되는 경우가 많습니다만 기업차원에서는 서버의 성능을 이용하고 보안 등 기업용으로 최적화된 다양한 기능을 활용하기 위해서 RStudio Server Pro를 사용하는 것을 권장합니다.

RStudio Server 와 Pro 버전

위에서 설명한 RStudio는 desktop 버전입니다.
RStudio Server는 웹 브라우저를 이용하여 어디서든지 RStudio로 접근이 가능하도록 하는 프로그램입니다. 기업내에서 서버의 성능을 기반으로 한 R프로그램 및 RStudio를 쉽게 사용하고 싶다면 RStudio Server를 사용하는 것이 좋습니다. 그러나 사실 RStudio Server만으로는 서버의 Resource 관리가 용이하지 않습니다. 그리고 프로젝트를 수행하는데 있어 공유, 협업 기능은 매우 중요합니다. 그래서 저희 애자일소다는 RStudio Server pro 버전을 추천합니다.
RStudio Server pro는 기존 RStudio Server에 프로젝트 공유, Multi R 버전관리, 부하처리, 보안 및 모니터링 등 기업에 필요한(Enterprise Ready) 강력한 기능이 더 추가되어 있습니다.

Server Open Source와 Server Pro비교

보다 자세한 내용은 RStudio 홈페이지(https://www.RStudio.com/products/RStudio-server-pro/)에서 직접 확인하실 수 있습니다.


Overview Access the RStudio IDE from anywhere via a web browser
Move computation close to the data
Scale compute and RAM centrally
Powerful coding tools to enhance your productivity
Easily publish apps and reports
Project Sharing Share projects & edit code files simultaneously with others
Multiple R Versions Run multiple versions of R side-by-side
Multiple R Sessions Run multiple analyses in parallel
Load Balancing Load balance R sessions across two or more servers
Ensure high availability using multiple masters
Administrative Dashboard Monitor active sessions and their CPU and memory utilization
Suspend, forcibly terminate, or assume control of any active session
Review historical usage and server logs
Enhanced Security LDAP, Active Directory, Google Accounts and system accounts
Full support for Pluggable Authentication Modules, Kerberos via PAM, and custom authentication via proxied HTTP header
Encrypt traffic using SSL and restrict client IP addresses
Auditing and Monitoring Monitor server resources (CPU, memory, etc.) on both a per-user and system-wide basis
Send metrics to external systems with the Graphite/Carbon plaintext protocol
Health check with configurable output (custom XML, JSON)
Audit all R console activity by writing input and output to a central location
Advanced R Session Management Tailor the version of R, reserve CPU, prioritize scheduling and limit resources by User and Group
Provision accounts and mount home directories dynamically via the PAM Session API
Automatically execute per-user profile scripts for database and cluster connectivity
Professional Drivers RStudio Professional Drivers are ODBC data connectors that help you connect to some of the most popular databases.

1.Shiny란 무엇인가?

Shiny는 R로부터 인터랙티브한 웹 어플리케이션을 쉽게 생성하도록 해주는 R 패키지입니다. Standalone apps을 웹페이지에 호스팅하거나 대시보드를 생성할 수 있습니다. 그리고 Shiny 어플리케이션을 CSS Themes, HTMLwidgets 그리고 자바스크립트 액션 등을 같이 활용하여 더욱 확장이 가능합니다. 분석결과 및 시각화 등을 기업 내에서 혹은 대외적으로 보여주고자할 때 이 패키지를 사용하면 빠르고 간편하게 어플리케이션을 만들어 배포할 수 있습니다. 하나의 서버에서 여러 개의 Shiny 어플리케이션을 호스팅하기 위해서는 Shiny server를 사용하면 됩니다. 당사의 Service Repository도 Shiny로 개발되어 있습니다.


ModelRepository Image
ModelRepository Image
ModelRepository Image

2.Shiny server와 pro버전

Shiny server는 한 서버에서 각자의 URL과 포트를 가진 여러 개의 Shiny 어플리케이션을 호스팅 할 수 있게 해주는 플랫폼입니다. Internet Explorer 8 및 9와 같은 웹 소켓이 아닌 브라우저를 지원해줍니다. 지원되는 OS는 Ubuntu 12.04 혹은 이후 버전, RedHat/CentOS, SLES 11+ 이며, 기타 리눅스 OS에서는 소스코드를 이용하여 빌드해야합니다. 안타깝게도 Windows, Mac OS X 등에서는 Server 플랫폼으로써는 지원하지 않습니다. Shiny server는 무료버전이며, 웹 어플리케이션에 필요한 보안 접근, History 관리, 어플리케이션 당 R process 관리 등을 하나의 management console로 관리하기 위해서는 Shiny server pro를 사용해야합니다. 자세한 사항은 RStudio의 Shiny 홈페이지(https://www.RStudio.com/products/shiny-server-pro/)에서 확인하실 수 있습니다.

3. RStudio Connect

RStudio Connect는 RStudio에서 작업한 결과물들 배포하는 플랫폼입니다. Shiny 어플리케이션, R Markdonw으로 작성한 문서, 대시보드, 그래프 등을 한 곳에서 편리하게 공유할수 있게 해줍니다. RStudio (server) IDE에서 배포 버튼을 눌러 사용할 수 있으며, 보고서의 예정된 실행 및 유연한 보안 정책을 사용하여 기업 전체에 프로젝트 및 교육자료 등을 공유할 수 있습니다. 자세한 기능 소개는 RStudio의 RStudio Connect 홈페이지(https://www.RStudio.com/products/connect/)에서 확인하실 수 있습니다. RStudio Connect, Shiny Server Pro, Shiny Server와 Shinyapps.io를 비교한 자료는 https://www.RStudio.com/products/shiny/shiny-server/ 에서 확인하실 수 있습니다.