Choose Language Hide Translation Bar

JMP in the Cloud: Configuring and Running JMP for Non-persistent App Virtualization Services (2022-EU-30MP-998)

Daniel Valente, Manager, Product Management, SAS
Dieter Pisot, Principal Systems Engineer, JMP



Managed, non-persistent desktop and application virtualization services are gaining popularity in organizations that wish to give employees more flexible hardware choices (so-called "BYOD" policies), while at the same time exploiting the economies of scale for desktop software management, system upgrades, scale-up and scale-down, and adjacency to cloud data sources. In this presentation, we examine using JMP Pro in one such service: Amazon AppStream 2.0. We cover configuration, installation, user and session management, and benchmark performance of JMP using various available instances.


JMP analytic workflow steps demonstrated:

Data Access (database, Query Builder, postgreSQL), Basic Data Analysis and Modeling, Sharing and Communicating Results, JMP Live.


Products Shown: JMP, JMP Live, Amazon AppStream 2.0.


Industries: General (can be applied to semiconductor, consumer packaged goods, chemical and pharma and biotech workflows).


Notable Timestamps:

0:18 – Background of case study for talk. Red Triangle Industries, a fictitious manufacturing organization has been growing their JMP use over the past 6 years and is faced with new challenges with growing data sizes, remote and flexible work environments and their “BYOD” (bring your own device) laptop policy.

2:19 – Results of JMP workflow assessment and interactive visualization using a custom map in JMP. Visualize the results of your own workflow assessment by downloading the custom map shapes and sample data here.

3:29 – Situation for Red Triangle and why they are consideration non-persistent application virtualization technologies.

4:29 – Pains for Red Triangle and problems they are trying to solve.

5:37 – Implications for Red Triangle adopting non-persistent application virtualization technology.

7:09 – Needs analysis and technology requirements.

8:00 – Introduction to demo.

8:13 – Create an image in Amazon AppStream 2.0 UI.

8:50 – Naming images, choosing instance type, sizing and picking IAM roles.

9:20 – Configuration of network access: VPC and Subnet as well as security group; enabling internet access.

9:52 – Launching image builder.

10:01 – Instantiating image.

10:38 – Configuration jmpStartAdmin.jsl for server settings for JMP Live instance and database access; IT configuring this so that users don’t have to.

11:36 AppStream 2.0 Image Assistant: Configuring JMP Pro to launch in AppStream for end users.

11:54 Configure template user within AppStream.

12:10 Testing JMP Pro configuration using template user.

12:30 Testing postgreSQL configuration and access from JMP Pro.

13:14 Testing final app withing the browser as an admin.

13:54 Image configuration and naming.

14:19 Creating final production image.

14:45 Creating fleet of compute resources for end users.

14:59 Always-on vs. on-demand vs. elastic fleet type options.

15:09 Configuration of on-demand fleet.

15:36 Fleet capacity.

16:03 Fleet VPC, subnet and security group settings.

16:58 Fleet creation.

17:20 Stack configuration

18:05 Creation of storage and home folders within a stack.

18:17 Configuration of user settings: Clipboard, file transfer etc.

18:44 Configuration of user pool.

19:01 Creating a new user.

19:14 End user experience: Launching JMP from Amazon AppStream 2.0.

19:32 Application Catalog

19:40 Instantiation of on-demand session.

20:05 Launching JMP and using within a browser.

20:23 Retrieving data from PostgreSQL database using the Query Builder in JMP.

21:06 Data analysis of resulting data set in JMP.

21:52 Publishing results to Red Triangle's JMP Live instance.

22:22 Verifying published results on Red Triangle’s JMP Live instance.





This is JMP in the Cloud configuring and running JMP

for non- persistent application virtualization services.

I'm Daniel Valente,

the Manager of Product Management at JMP,

and I'm joined by Dieter Pisot,

our Cloud and Deployment E ngineer, also on the Product M anagement T eam.

And today, we're going to talk about how an organization

called Red Triangle Industries,

who's been a JMP user for the last several years,

and their JMP growth has been growing

in their R & D departments, their quality departments, I T,

how they're considering adopting

to new, remote, and flexible work environments,

and hopefully solving some problems with some new technology

for virtualizing JMP in a non- persistent way.

So we're going to play the role of two members of this organization,

and we're going to go through the configuration,

the deployment, and ultimately the use of JMP in this way.

So this is how Red Triangle has been growing.

We started in 2015 with a core set of users,

and every year, we've been growing the JMP footprint at Red Triangle

to solve problems, to visualize data,

to communicate results up and down the organization.

Most recently, we've added JMP Pro for our Data S cience T eam

to look at some of our larger problems.

We've got an IoT initiative,

and we're doing some data mining, machine learning on those bigger data sets

from our sensors and things that are going on

in our manufacturing plant.

And in the last year, we also added JMP Live to our product portfolio.

You can see a screenshot of JMP Live in the back.

And what we're trying to do is automate the presentation of our JMP discoveries

and also our regular reporting in one central database

so that everyone in the organization has access to those data to make decisions

for things like manufacturing quality, for our revenue,

and for other key business metrics that we're sharing

all in one single place with JMP Live.

So how is JMP being used at Red Triangle?

Well, one thing that we did in the past year,

our IT organization of which Dieter and I belong to,

is we've surveyed all of our users,

and we've put together an interactive visualization

looking at which parts of JMP that they use by department.

This is called the workflow assessment.

It's something that we can send out, we get some information,

and it gives us some opportunities to look f or growth opportunities,

training opportunities.

And also, this is how we found out that some of our users

want to have JMP presented to them in different ways.

So this is why we're considering the application virtualization.

We've adopted a Bring Your Own Device policy,

which lets our employees purchase their own laptop,

and we want to be able to give them JMP in there.

So this has put together a set of situations, some pains,

some implications, and some needs that we're considering using JMP

in a presentation virtualization,

in an application virtualization standpoint.

All right, so the situation for us after this workflow assessment.

We're profitable.

We're a growing business in the manufacturing space.

We're adding more JMP users every year in different departments.

As I mentioned, we have our core JMP use growing year on year.

We've also added JMP Pro for our Data Science Team,

and in the past year, JMP L ive

for enterprise reporting and sharing of JMP discoveries.

So I'm playing the role here of the CTO, Rhys Jordan,

and I'm joined by Dieter,

who's playing the role of Tomas Tanner, our Director of IT.

And we've been charged with ways

of getting JMP more efficiently to remote employees.

We want to be able to analyze bigger problems

and also want to support employees that want to take advantage

of our BYOD policy or Bring Your Own Device policy

in 2022 and beyond.

So historically, our standard laptop deployments

have used between eight and 16 gigs of RAM.

And in some cases,

especially with our larger manufacturing problems

and sensors being put on many of our manufacturing equipment,

we've got data sets that we want to analyze

that are just bigger than that standard deployment can be.

We also want to be able to support our employees

and their flexible work environment,

which means if they purchase their own personal laptop,

we want to be able to get JMP to them and other software installed on these

without physically being on site with the employees.

We want to look into delivering that software in alternative means.

Also, when new versions of JMP come out, and other desktop software,

we want to be able to seamlessly apply those updates to our entire workforce

and do that in a way that minimizes the latency between the release

and when our employees actually get that update.

And finally, when and if our employee leaves Red T riangle

or moves to another organization or another part of the organization

that doesn't require use of JMP or another software,

we want to be able to retain those corporate assets

with minimal operational burden.

So the implications for this is we've been given a mandate,

like many other organizations, to reduce our corporate technology spend,

and we feel like the biggest potential for reducing that technology spend

is through automation.

So looking at these non- persistent application virtualization tools

should speed up this entire workflow

of getting software to our end users efficiently.

We want to lower the total cost of resource and computer ownership.

This is why we've adopted the BYOD policy.

But we need to also right size the assets

to the needs of the users, even these virtual assets.

So our power users that are analyzing our biggest data sets

will need more RAM, more speed available to them,

and the casual users will be able to just right size that to their needs.

With employees on three different time zones,

doing something like just having a fleet of virtual machines

for everybody at the same time doesn't make a whole lot of sense.

Because we want to work the global clock, we can design a fleet of virtual assets

that's going to look at just the total number of concurrent users

that are accessing the asset at once.

And that's what we'll get to in the demo here.

And finally, that better roll out of software updates

and the transparency of usage to our E xecutive T eam,

who's using the software, how much are they using it, et cetera,

are implications for us investigating this technology.

And as far as needs, we want to go with a cloud provider.

We're not going to build this tool in- house,

so we want to use one of the cloud providers

and the out- of- the- box capabilities

that they have for application virtualization.

Since we've moved a lot of our data sources

to the cloud, to Amazon Web Services, for example,

we'd like to be able to put our analysis or analytic tools

close to those data sources to minimize the costs of moving data around.

Our IT Department wants to centralize

the management of JMP setup and license information,

and also have that seamless version control.

So as soon as a new version is released,

we want to be able to push those updates as efficiently as possible

and then look at usage tracking

through things like cloud metrics and access controls.

So with this, I'm going to hand it over to Dieter to give a demo

of running JMP in an application virtualization,

a non- persistent application virtualization tool

like Amazon App Stream.


Thanks, Dan.

So the first thing we have to do is we have to go to the image builder

and launch that.

So we have to pick a Windows operating system.

So Windows Server 19 is what we want to pick here.

So there are several available.

We just pick a generic basic one like this one, move on,

and give it a meaningful name and display name.

Because we're Red Triangle, we use Red Triangle for this one.

We have to pick a size for the image that we want to configure.

So we pick a standard one, medium.

I'm going to add an IAM role

because I want to connect to S 3 where I keep all my installers.

So just to make sure I can connect there, I add a role with access to S 3.

Then I have to define in which private network

I want to run my image builder here.

Pick the public subnet so that I can actually connect to it

from my local desktop.

Security group,

just to make sure only I can do that and not everybody else can connect.

We're not worrying about the Active Directory set up,

but we want to make sure we have Internet access

so we can download things from the Internet,

like, for example, a browser.

We check all the details, they're fine, so we launch our image builder.

This is going to take a while.

AWS App Stream basically set up a virtual machine for us

that we can connect to and set up our application.

So after that has started,

we connect to the machine as an administrator.

And to save some time, I downloaded the JMP Pro installer already

and did install JMP Pro

just like you would on any other Windows desktop machine,

and we have the application icon here.

In addition to that, I have created a JSL script

in the Program Data, SAS, JMP directory, jmpStartA dmin that has a few settings

so that we make it easier for our users to do certain things.

What they contain is a connection to a database

and the JMP Live connection to our Red Triangle JMP Live site.

So the users don't have to remember and type that in.

So that's perfectly fine here.

Then we have to go to the image assistant

and configure our image.

The first thing, we add an application to our image,

that's going to be the JMP P ro that we just installed.

So we are going to pick the executable.

We use the JMP executable.

We give it just some properties, give it a more meaningful display name.

Save that.

And what we can do now,

here's our application that we want to make available to the user.

The next thing we can do is test and set it up

as the user would see it.

So we are going to switch users here.

We have the ability to switch to a template or test users.

So the template user,

that's defining how the user would actually run the application.

So whatever we do here is going to be remembered,

and the user will have the same experience as our template user.

So we can do a few things in the set up.

We can here also make sure that our database connection is working.

We could do this as the test user as well,

but I'll just do it here as our template user.

So here we are,

application is perfectly connected to our database.

And with that, we're fine with our set up.

And so we go back to the image assistant.

Not going to use the test user, switch users again.

I'm not going to show the test user.

I'm going to go back to the administrator and continue with the set up of our image.

So I switch here.

Same, not going to the test user.

Now, what we have to do is we have to optimize,

we have to configure the application.

So we 're going to launch JMP.

Once it's running and we're happy with all of this,

we continue the setup of the image by clicking the Continue button.

And what AWS App Stream is doing now

is optimizing the application for the user.

So we just wait for that to finish,

and then give our image a name and a display name as well.

Again, we're using Red Triangle here.

We also want to make sure we use the latest agent

so that we always have an up- to- date image.

Next, review,

and we disconnect and create the image now.

So with that, we are going to get disconnected from the image builder.

Lost the connection, obviously.

Our session expired.

We return to the App Stream 2.0 console,

and we see that our image has been created.

It's pending right now.

This also takes time to create it the way we want it to be.

We have to wait for that to finish.

We're done.

It has finished.

And the next step is to create the fleet the images are going to run on.

So we create the fleet, we pick which type of fleet.

We 're going to go in on- demand fleet because that's much cheaper for us.

The images only run when the user actually requests the image

versus the always- on would be running constantly.

So here, we give it a name and a description.

We then pick the type of image we want to give to our users.

Bunch of other settings are available to us

like timeout settings and capacity.

For now, we're just going to go with the default.

We can adjust to the needs of our users if necessary at any time.

Click Next.

We pick the image that we just created to run on our fleet.

We define the subnet, the virtual network,

and the subnet that our fleet should run in.

Just pick the same we used before,

and also a security group, of course,

to make sure that only the users and hosts that we want can access our fleet.

Again, we want to give the fleet Internet access,

so we're going to check that

to make sure users can publish to our JMP Live site.

We could integrate active directories authentication here,

but we don't want to do that.

That would take us some time.

So we're just going to go with some local users

that I have already created.

So we click Next.

We are sending a review of what we did and it's all f ine.

So we are creating the fleet.

Some pricing information we have to acknowledge.

And with that, the fleet is starting up.

Once that has happened, we can move on and create the stack.

The stack helps us run that fleet

and helps us define persistent storage for our fleet, for example.

So here, we create this stack.

As well, give it a meaningful name.

Since this is a Red Triangle sit e,

we go with a very similar naming convention here.

And we pick the fleet that we want to run in our stack.

All looks good.

We move on.

Here, we define the storage.

We're going to go with the default,

which is an S 3 bucket that's available to each of the users.

We could hook up others, but S 3 for us is fine at the moment.

Just a couple of things on how we want to run our stack.

All of them seem fine.

We go with the defaults here.

Quick review.

Everything's fine, and we create our stack.

That's it.

The stack is there, stack has been created.

What we now need to do is go to that user pool

that I mentioned earlier, since we're not using a fixed directory.

In here, I have defined three users that can access our stacks.

But what we need to do is we need to assign that stack to each of the users.

So in my case, I'm going to pick me

and assign that stack that we just created.

And we could send an email to the user to make sure they are aware

of what just happened, and the stack has been assigned to them.

That's all we have to do to set this up.

So if I now go to the link that was emailed to me,

I can log into that A ppS tream session.

I use my credentials that my admin has defined for me.

Here are my stacks.

I use the Red T riangle,

and here's the application that that stack provides for me.

So this is going to take a while.

As I said, it's on- demand, so it's like pooling a PC

and running JMP on that machine.

So it's going to take a few minutes.

The always- running would be much faster.

But again, they would cost money because they're running constantly,

versus the on- demand runs only on demand.

And here, my browser, JMP is started

and JMP is running just perfectly fine in my browser.

So let's do some work.

I'm going to connect to a database.

And just because my administrator has set this up already for me,

there's nothing much for me to do.

The connection to my database is already there.

There are my tables available to me.

So I'm going to pick one of the tables in my database,

and this is a Postgres database.

So I'm going to import it right away, and here's my table.

I've written a nice script to build a wonderful report.

I'm going to just quickly create a new script.

I'm going to cut and paste that from my local machine

to my AppS tream image by using the menu that's available to me.

And now, I can cut and paste it into my scripting editor.

I run that, and here's my report.

That report, I'm going to publish to our Red Triangle JMP Live site now.

So I'm going to File, Publish.

And because, again, my miss rate has set this up for me,

the information about my Red Triangle site is available to me,

so I'm just going to get prompted to sign in to make sure it's really me.

In this case, I'm going to use our imaginary identity,

use the username and password,

sign in, go through the published dialog,

and don't change anything, just hit Publish.

Report has been published.

And now, what I can do,

so I can go to another tab on my browser

and verify that the report is actually published

to our Red Triangle JMP Live site.

So I switch over, go to All Posts,

And here's the report that Tomas just posted a minute ago.

And it looks exactly as it did in my virtual machine.

Thank you very much.

I would like to thank you for your presentation about JMP in the Cloud.
Regarding your demonstration, I have questions:
In my mind, it was not possible to install JMP on a server version of Windows (it is the case for JMP 15). Has this limitation been removed
with JMP 16? Because AWS only offers server versions of windows in AppStream.

Hi Guillaume,

Yes, we have an offering of JMP that can be installed on a Windows server OS. Please reach out to your sales team for more information.



Nice presentation - something to think about.  Some of my users could use this approach.

Article Tags