BookmarkSubscribeRSS Feed
rvalimjump
Fluorite | Level 6

How to apply DevOps on SAS Viya 4 for sascode ?

Hi everyone,

We are deploying a SAS Viya 4 2021.2.2 on a client using two environments on Azure:

DEV and PROD

We need to move sascode (proc sql/fedsql, proc cas.., datasteps, pythoncode..., etc) from DEV to PROD using a CI/CD pipeline as per client requirements.

Could we do that using Azure DevOps ?
Do we need configure Jenkins on Viya ?
Do you have any samples or docs to help ?


I checked these posts but they are for SAS 9.4 and Viya 4 architecture is different:

https://communities.sas.com/t5/SAS-Communities-Library/DevOps-Applied-to-SAS-9-SAS-Code-GitLab-and-J...

https://communities.sas.com/t5/SAS-Communities-Library/DevOps-Applied-to-SAS-9-SAS-DI-jobs-the-Git-P...


Regards,
Valim

5 REPLIES 5
SASKiwi
PROC Star

We are using Azure DevOps with SAS 9.4, but using it via MS Visual Studio which works well with SAS Enterprise Guide. We use it for change management of SAS programs mostly and not other SAS content.

 

With Viya 4, SAS Studio is only user development environment but in principal I don't see any reason why DevOps wouldn't work in a similar way. Being cloud-based, most likely you could work directly with DevOps without using MS Visual Studio as well.

 

Edit: Did a bit more digging and found that Git is integrated into Viya 4 SAS Studio. So as I understand it, DevOps would provide the remote Git repository from which you would clone a local repository for each SAS Studio user. Once you have pushed your changes back to the remote DevOps repository, then you can create pull requests to merge those and also run DevOps pipelines to move changes into production. 

rvalimjump
Fluorite | Level 6

Thanks for helping. I gonna check "Git is integrated into Viya 4 SAS Studio". I'm new to SAS Viya. 🙂

Tom
Super User Tom
Super User

What  do you mean specifically by "dev ops"?  Are you talking about some specific product?  Or is just short hand for following some type of development cycle?  Perhaps using some standard operating procedure or working practice that they follow?

rvalimjump
Fluorite | Level 6

The "Dev Ops", I took  the client point of view. He's using Azure DevOPS solutions to build data pipelines for Databricks and Azure Synapse and he requests we to add sas viya as part of solution.

 

So I need to understand: 

 

Do I need install jenkins on Viya 4 or is there an built-in similar to jenkins available?

Any best practices approach to follow from SAS?

 

Sorry if this sounds simple but I'm new to SAS Viya and I need to draw this architecture and how it works.

 

Bogdan_Teleuca
SAS Super FREQ

Hi Valim,

You may find some ideas here:

https://communities.sas.com/t5/SAS-Communities-Library/SAS-Viya-CI-CD-Pipelines-with-Azure-DevOps/ta...

and more specifically for SAS code here:

https://communities.sas.com/t5/SAS-Communities-Library/SAS-Viya-with-Azure-DevOps-Data-Pipeline/ta-p...

Yes, you can use Azure DevOps. You need a self-hosted agent (a Linux machine) that can "communicate" with SAS Viya DEV and with SAS Viya PROD.

From the Azure Pipeline, you can then pass SAS Viya CLI commands or SAS Viya REST APIs.

The SAS code can be stored in the Git repository where you have your Azure Pipeline YAML.

Bogdan

Bogdan Teleuca is a Senior Technical Architect in the Global Enablement and Learning (GEL) Team within SAS Research and Development Division.

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 1077 views
  • 2 likes
  • 4 in conversation