From DeployR to R Server Operationalization

If you are currently using DeployR (DeployR Enterprise 7.4 or R Server 8.0.x DeployR), this article will help you understand:

  • The differences between DeployR and R Server 9 Operationalization
  • How to upgrade to R Server 9 Operationalization

The differences between DeployR and R Server 9.x Operationalization

In R Server 9.0, Microsoft introduced a set of exciting operationalization capabilities, such as new deployment experience, new Swagger based app integration, well supported .Net Core technology as the architecture foundation, and improved security and high availability. These capabilities greatly improve the deployment experience for data scientists, app developers and system administrators.

With the new experience, new architecture and new improvements, R Server 9.0 introduced a new set of APIs. These APIs are not compatible with the DeployR APIs. This is a one-time change. The future R Server Operationalization solutions will be built on top of these new APIs.

The following table shows the main differences and presents the improvements brought by R Server 9.:

DeployR Microsoft R Server Operationalization
Installation Installer available separately from R Server Integrated with R Server. Use the Administration Utility to configure operationalization and enable R Server to deploy and host web services
Deployment(Turn R analytics into web services) Involves multiple steps, beginning with the upload of R analytics to the repository DB. Publish R analytics directly from the R console using new mrsdeploy package or from a REST API.
Application Integration Use client libraries and RBroker framework Swagger-based API for quicker exploration and integration. No need to manage "pool" from apps!
Architecture Apache Tomcat ASP .Net Core.
Authentication Authentication options:-Basic-Active Directory/LDAP-PAM Authentication options:-Active Directory/LDAP-Azure Active Directory-Local Administrator Account
High Availability Active-Active recovery not supported Active-Active recovery supported
Remote Execution Use DeployR APIs to build your custom approach to remote execution Use the built-in remote execution functions in the mrsdeploy package.
Web UI Login, Admin Console, Repository Manager,API Explorer, Event Console The new deployment experience requires minimal graphical UI. The web service management UI will come in future releases.
Supported Platforms Windows 2012/2016;Linux RHEL/CentOS 5.8/ 6, SUSE 11. Windows 2012/2016;Linux RHEL/CentOS 7.x; Ubuntu 14/16
New capabilities introduced in R Server 9.1 None

How to upgrade to R Server 9 Operationalization

If you would like to migrate the web services that current running on DeployR server to R Server to adopt the new operationalization capabilities, you can follow the guidelines below:

  1. Install and set up a server or a grid with R Server 9.x to host the web services
  1. Deploy your R analytics (that you are using in DeployR) as web services by using web service functions in mrsdeploy package in latest R Client.

Due to the changes of the attributes of the web services and the underline architecture, the new R Server 9.x cannot host the web services published from DeployR in previous R Server. That's why you need to redeploy R code. The new deployment experience is simple and ease-of-use. You can follow these samples to redeploy your R code/models quickly.

  • Modify the application code.

    With the changes of the web service APIs, app developers need to modify the current applications that built on top of previous web services and DeployR APIs. By using Swagger framework to describe new web services, R Server 9.x greatly simplified the app integration experience:

  • Code for web service handling can be generated by Swagger tools.

  • New APIs automatically handle the "service pool", while in DeployR apps must do the job via RBroker.

Please refer to the detail guidance to write code to consume the new services. In general, with the DeployR solution, you need to write more than 100 lines of code to consume the service, while in R Server 9.x, you only need to write around 10 lines of code.

FAQs

  • I am using R Server 8.0.x. I have my models and predictive scripts stored in the repository of R Server DeployR. Can I migrate them to the new deployment solution of R Server V9, because I noticed that the new solution also supports similar repository to store services and sessions?

    Answer: Due to changes on the deployment experiences, in R Server 9.x, the way of how to manage the service storage and the content of the service storage cannot apply to the previous product version. Therefore, we recommend redeploy the models/scripts via the new deployment solution.

Useful Resources

Introduction:

Get Started:

Be an expert: