Well, hello. Welcome, my name
is Mark Schneider. I'm a product manager here at
SAS, whose main responsibility is SAS Viya, which is
why I'm coming today to talk to you a bit about how
one migrates from SAS version 9 to SAS Viya. I have a lot of domain
expertise in general areas of architecture, and
deployment, and administration. But today, we're going to
focus on the activities related to moving your version 9
environments over into the Viya world. Before I do that
though, it's always important to pause
and say, well, why am I going to SAS
Viya in the first place? And there are a lot of
key motivating factors. I'm not going to
belabor them, but I'm going to reiterate a few of
the most important ones that are driving people to
adopt SAS Viya technology. First is SAS Viya's
capability to speak in your language of choice-- whether it's Python, or
R, or Java, or ALua-- being able to do analytic
data science type features in a language
with which I'm familiar. Then, of course, SAS
viya does bring to it advanced analytics that are
not present in version 9 environment. So doing some of that deep
learning in some of the latest and greatest technologies. That is unique on
the SAS Viya side. Another motivator for people
moving to Viya is speed itself. SAS Viya is based on a
distributed in-memory engine, the CAS server. We'll talk a bit about
that in a second. And people are taking
the analytic problems of largest size and trying to do
those in an efficient fashion. Of course, many people
are moving to the Cloud. A lot of the customers are
adopting Cloud technologies. And Viya was architected
with the Cloud in mind. And over time,
more and more Viya is integrated closer and closer
with both public and private Cloud providers. High availability, that's a key. No single points of failure
in the SAS Viya architecture. If any one component
drops out, I've got a copy of that
component that's ready to pick up the slack,
and make sure that there's no incurred downtime. And then we talk
about democratization of the analytics. And that's just a
big flowery term for analytics for everybody,
whether you're a trade data scientist, or whether
you're an end business user who has no knowledge
of programming languages, but still can use
user interfaces. Which are adapted
to allow them to do advanced analytics, high
forecasting types of functions. Basically, SAS Viya encapsulates
the entire analytics lifecycle. We talk about going from data,
input, data manipulation, all the way to deriving
business value from making the right business decision. So these are all motivators
for why you'd move to Viya, now let's talk a little bit
about how you accomplish that. Most of the people who are
adopting SAS Viya today, already have a SAS
version 9 footprint. And so they're seeing
over time, this need to adopt more and
more unbiased capabilities, and rely less and
less on version 9 capabilities in the process. So when we talk
about adopting Viya, it essentially incorporates
three different phases. And actually, most
of the customers that I speak to who
are adopting Viya are going through each
of these three phases. And SAS along the way is
enhancing each of these phases to make it easier and easier. The first phase that
I'm going to discuss is interoperability,
and this one I would say SAS
supports completely. The ability to use
version nine clients to communicate directly with
that SAS Viya server, the CAS server, to do that distributed
in-memory processing there. We'll talk a bit about
how we accomplish that. The next phase of migration
that you could choose to adopt is content promotion. And this essentially
means if I have a SAS version 9 environment
stood up next to a SAS Viya environment, being
able to move content-- when I talk about content, this
is user created collateral, these are the
reports, and views, and jobs on a pipeline that you
created on the version 9 side-- and to export them and import
them into the Viya side. So that you can use them
in native Viya fashion. And not just use them, but to
edit them and use them there. And then the final phase that
I'll discuss is replacement. And this is kind of the nirvana
when it comes to migration. This is, I have moved all of my
SAS workloads over to SAS Viya, and now I can turn off the light
on my version 9 environment. No longer requiring
sort of this dual head, having to maintain both
a version 9 and a Viya architecture environment. So let me take each of
these three separately. And we'll start with the
interoperability first. So as I mentioned, we've
already got this covered. SAS has done a
great deal of work in order to make sure
that version 9 clients communicate well with
SAS Viya servers. So if you're familiar with our
standard version 9 clients-- like Enterprise Guide, and
Data integration Studio, and Enterprise Miner-- these clients actually generate
SAS code, either explicitly or behind the scenes. But your good old standard
SAS foundation data step and procedure code, which then
is executed using a foundation server in version 9. Well, what we've done as
of the fifth maintenance release of 9.4, which
actually came out over a year and a half ago. We're already on the sixth
maintenance release right now. But as of at least the
fifth maintenance release, all of these clients
were Viya enabled. And what that means is, that
they can generate and leverage procedure code that can only be
executed in a Viya CAS server. And the way that's handled
is, the clients actually do their data step and procedure
submission into a 9.4M5 server, like a workspace server. And then the workspace
server actually sees that, well,
I don't know about this particular procedure. This was a Viya procedure. I need to farm that out to
the CAS server in my Viya environment, and have it execute
in that highly performant distributed fashion there. And have the results sent
back then to my client. Or similarly, the data
step itself is something that has been Viya enabled. And so if you're using, for
example, data sources that are available to
SAS Viya, the data step itself can be distributed
over on the CAS server. So on the version
9 side, I've got sort of this middle man
of the workspace server, or stored process server,
or any foundation server, that's processing the data
step of the procedure code and farming out what it can to
CAS server to take advantage of the faster,
higher performance analytic server in
the Viya environment. A lot of good interoperability. And that's available
to you today. The next thing you talk about
interoperability though, it's not just about the client,
but the data themselves. And what they're accessing. And in many cases, data can be
accessed both from your version 9 environment and your
SAS Viya environment, without the need to
replicate the data. So you see on this slide, the
lower portion of slide talks about different data types. Obviously, the SAS7bdat format. That's your simple
SAS data set format. And Viya speaks data set
format as well as version 9, obviously. They both can read in
the same CSV files. They both communicate
with Hadoop well. They both can access third
party databases, like Oracle, and Db2, Teradata, et cetera. There are a lot of
different ways for you to load that data
into a CAS server in order to make it available
for Viya based processing. You can, of course,
use those SAS 9 clients that I just talked about
on the previous slide that support that interoperability
in using CAS library steps in order to set up
those libraries, which point to the data that
was previously only accessible on version 9. You'd, obviously, also use
Viya clients themselves, like SAS Studio, to
pull data in and make it accessible to CAS server. You certainly can write batch
jobs, and schedule them-- either on the version 9
side or on the Viya side-- to pull that data into
the CAS server memory. And interestingly enough, if
you're a Visual Analytics user, for example. You're already familiar
with the SAS LASR server, which is its version
nine in-memory distributed server. We can actually point
CAS libraries directly to LASR libraries. So there's no need for you to
replicate that data somewhere else, exporting it out of LASR. But I can actually directly
access the exact same data as it exists in your
version 9 LASR environment. So Visual Analytics, for
example-- on the Viya side-- can now look at the same data of
Visual Analytics on the version 9. Version 9 and Viya can
share that same data. And, in fact, CONNECT actually
precedes the fifth maintenance version of 9.4, in allowing
data and processing actually to go back and forth
between version 9 and Viya. Now, should point out just
before I leave this slide. There are some data
characteristics that are unique to Viya,
certainly that in-memory distributed processing
that we have right now. The approach that we're
taking with the CAS server is unique to SAS Viya. As well as some
different data formats, columnar data formats, which
are especially efficient when we're talking about
analytics processing. Things like Parquet and
OR, those are uniquely supported on the Viya side. So there's not interoperability
there because version 9 doesn't support it. But for what version
9 does support, we have a lot of
different avenues to pull the data in on Viya. So enough about
interoperability. Let's move on to the
second phase of migration that I talked about earlier,
and that's content promotion. I have a lot of user
created collateral that I want to move over
from version 9 to SAS Viya. And those of you who are
familiar with version 9 administrative
tools, you probably already know about SAS
Management Console. And the way in which you can
package up version 9 content, and move it from one
version 9 environment to another version
9 environment. Well, thankfully, the
process for content promotion is very similar when
I'm trying to move that content to SAS Viya. I can use SAS
Management Console. I can create similar SPK files,
which is the SAS packaging format that it produces in
wrapping up all those reports and jobs, et
cetera, to make them available for
another environment. Now what Viya adds to the mix,
though, is this mapping file that you see on the slide. So we have a transfer
utility, which actually looks at
the package and says, OK, I see the different
object types here. I need a little bit
more information in order to map, for example,
those SAS version 9 libraries to the Viya CAS libraries. And so the mapping file is
produced with documentation. And allowing you
to edit it directly to provide the additional
mapping information, in order to accomplish
that content promotion across version
9 to Viya's approaches. So once I've edited the mapping
file, I've got my package file. Those two things together
are used and input into the import process. Which is SAS Viya's
transfer server, which imports it and
makes it, therefore, available in your
target Viya environment. Now before I hop off this
process, it's important for you to take into consideration
the order of operations that perform this promotion. Because when I'm moving
from version 9 to Viya, I don't typically do
that holistically. I don't typically take my
whole version 9 environment, create one big honking
package, and then import that whole package into Viya. And then I'm done. Rather, I typically break
things down by department, by workload, et cetera,
doing it piecemeal. Well, for each of those
pieces that I choose to do, I need to do it in
a certain order. First of all, I
should create packages which contain the security and
identity information first. So then once I've exported
those into my package, done my mapping, and then
imported it into Viya. Then I move on to
library definition, mapping LIBNAME statements
on the version 9-- library definitions and metadata
on the version 9 side to CAS libs on the Viya side. And then I do the same
thing with my data tables. And then last, but
certainly not least, is I create promotion packages,
which contain my reports. And all the goodness,
all that collateral I created on the version
9 side, which depend on those previous three steps. So doing those in order
very, very important. Now SAS has provided a utility
called the Content Assessment tool to assist with the process
of determining what you have available on the version 9 side,
in determining what needs to be promoted on the Viya side. And, actually, you engage your
SAS account representative in order to gain
access to this utility. Again, it's the Content
Assessment tool. The account rep will make that
available for download to you. And then it runs
on your local site, gleaning information from
your metadata server, to get all the different
objects that you've defined. And it produces a
report, then you view it. And you can see this as
an example of a top level report that has resulted
from one run of that Content Assessment tool on one
specific environment. There's a lot of
detail in this report. I'm not going to run
through every aspect of it. But you can see here,
it's a quick synopsis of all the different
object types-- the data tables,
and the libraries, the OLAP cubes, the
number of server context. Those are all called out here. And it's a drillable report. So you see tabs across
the top, and you also see links within
the report itself. So I can get more and
more information on this. And here's an
example of drilling into the OLAP information. So this gives me a better feel
of the types of OLAP cubes that are being built
on the version 9 side. Now SAS by itself does
not have an OLAP server, but it does have
methods by which OLAP cubes, and the reports that
are produced from those OLAP cubes, can be manifested into
Visual Analytics reports. And so having an understanding
of the types of cubes, and how those should
convey under the Viya side is important. So I see this
detailed report, which helps me with that process. The same thing with
Enterprise Miner. I need to have a handle on
all those different pipelines and sequences that I've created
within Enterprise Miner. This at a glance
shows me everything that was gleaned
out of metadata, to see in this
particular version 9 environment what I need
to carry forward with me. Now, full disclosure, not
every pipeline sequence is currently supported
in SAS Viya yet. And so this, again, informs me
on what I'm currently using, and better prepares
me for what is and isn't compatible
on the SAS Viya side. So I've talked about
interoperability, both of the client and the data. I've talked about
content promotion. How I get that SAS
version 9 content and user created collateral into
a SAS Viya environment. And the last phase of
migration is replacement. This is what I
called the nirvana. This is I want to turn off
my version 9 environment, and just live in
the SAS Viya world. But there are four key
considerations when you consider that prospect. And the first and foremost is
functional replacement value. I just talked about
Enterprise Miner and how not all of
the pipeline sequences are available for
support in Viya. So I need to ensure that as I'm
moving workloads to SAS Viya, all the business value that
I've been using on the version 9 side is available
for me on Viya. So I can work with
my account rep to see the different
products which are available on SAS Viya, and
the features that they offer. And in many cases-- yeah, Visual Analytics
is the poster child-- we've got full
replacement value. It's a no-brainer. It's easy. Full functional
replacement value, I can turn off my VA on 9.4 and
move everything over to Viya. So that's the first
consideration, but there are three others. I've got to consider capacity. So certainly, SAS has
created system requirements documentation to help
assist you with determining how much muscle, how much
CPU, and memory, and IO are required for your
destination Viya environment. So I need to ensure that I've
got the horsepower in order to support that,
before, obviously, I move my workloads to it. And SAS has its Enterprise
Excellence Center, which can help you with
determining those capacity parameters. Third is the data access, right? The analytics is only as good
as the data that you can get to. If you're going to turn off
your version 9 environment, you better well be sure that
your SAS Viya servers have access to the same data or
that business critical data that is going to drive your
whole analytics lifecycle, and those decisions
at the tail end. So in many cases,
what I talked about on the interoperability
slide, SAS Viya does have great access methods. In fact, all those
access engines that work in the MBA world,
well, those access engines, in many cases, work on the
Viya world in the same way. But then Viya actually
brings to the table a lot of additional efficiencies. For additional access method,
certainly parallelized access. But I do need to have internet
access to those data sources, right? So in my SAS Viya environment,
as I'm standing it up, I need to make sure that
my service can actually connect to those third party
databases, or those file servers which hosts the
data that I'm pulling in. So that's data access. And then the fourth
consideration is just your users. Are they ready for this change? Yes, SAS Viya brings with it
a great new industry standard, modern HTML5 look and feel. But change is change. And a lot of users
need to sort of be eased into turning their
heads around and seeing a new interface of that ilk. And so educating
those users, ensuring that you're phasing in
those new interfaces, is important as you're
considering replacement. So those are the
four considerations. And so then, in summary,
three phases of migration. First was interoperability. SAS has this covered end to end. All our version 9 clients
that deal with SAS programming and SAS program generation
communicate directly with CAS server. Got that one covered, just need
to learn to stand up a Viya environment and leverage it. Second is content promotion. SAS has a similar approach to
what we've done from version 9 to version 9, as with
version 9 to Viya, in packaging up my user
collateral and exporting it. And then importing
it on the Viya side. And then the third
is the considerations associated with replacement. I've now got all my business
value on the Viya side. I'm ready to turn off version 9. And I have to consider
the considerations, which I enumerated earlier. Now there's a great
deal of detail which I wasn't able to cover
in this brief video, which are described in the
Global Forum paper. A shout out to Susan
Pearsall, who co-authored this particular paper with me. You'll find a lot
more information on the mechanics behind,
especially content promotion, both in the paper, as well
as the references that it cites to SAS documentation. So I appreciate your time. And I hope you enjoy the rest
of your virtual conference.