I have been SAS Admin at my company for only a couple of years and we are just moving out of purely Dev, though not yet in Production. Updates to our original installation have fouled up our OA and VA server configurations so badly that we've looked to an outside vendor to help re-install SAS (Their recommendation). I've had SAS Tech Support walk me through updates and even then we are in bad shape at the moment.
I'm not asking for help with our situation. What I'm curious about is understanding how other company SAS Admins are handling the server and client administration that comes with such a deep and broad product as SAS? I've read through a lot of SAS documentation, and have spoken with several of the authors, so I've been sincerely trying to do my due diligence to learn and administer SAS. I took a class on SAS Administration to try to come up to speed on SAS with all of the other duties of my job. Having worked with a lot of products, server administration, networking, development (MCSD, MCSE, MCDBA), I'm not a novice at this stage of my career, yet I struggle with all of the intricacies of administering SAS.
Soooo Admins, how do YOU manage SAS? Do you pay vendors recommended by SAS to perform the work? Do you read as many PDF's to come up to speed on each task? Do you call SAS Tech Support for most tasks? SAS has some terrific documentation and wonderful Tech Support, but I just have to wonder how folks manage updates, general administration, etc. ??? I'm curious about the approximate size of your company to understand the scope of what you are managing (We have a few thousand users at our company). I'd like to see if there is some consensus so I can emulate our successful SAS Admins !!! Thanks !!
(Edit by Shelley Sessoms, community manager: Thanks, everyone, for such great feedback. I encourage anyone reading this to read through the entire thread to get the valuable information provided by our members. I'd also suggest looking at the admin section of support.sas.com. It's a wealth of information.)
Great feedback and solid point - I want anyone doing any part of administration to provide feedback regardless of your actual title. If you were creating users and managing groups, then I certainly consider you an "Admin" for the discussion here. Soooo, if you do any SAS administration, regardless of your title, please jump in on this conversation. It's about sharing what works, not about titles. Thanks for the terrific feedback again. I had a HUGE learning curve with the way that SAS does inheritance, whose applicable truth in the field was challenging even for a paid consultant, where it behaved differently than they expected !! So we all have a learning curve on this.
If something worked (or didn't work), share it with us. If there is a tool that helps - Great !! If there was some odd technique that seemed to make things fall in place, I'm all about anything that helps. This is about sharing experiences and lessons learned along the way, which will help all of us.
This is actually a great discussion starter....
You are correct, SAS is a vast and broad field and I seriously doubt if there is a single silver bullet answer to this. However, I can (and I'm sure our fellow community members would too) share with you some personal experiences to help you on this journey.....and I specifically say 'journey'
For me personally, troubleshooting is a field of interest. Most of what I have learnt from SAS has come from sitting and hacking away at problems until solved. This process then let's you discover all sorts of wierd and wonderful things, in- and outside of the SAS world. If you've ever watch House MD on TV.....it's similar to that.
Also, I was very fortunate to have worked for SAS Institute for some years, which was a great experience. An employer of choice by far !!
Thanks for the conversation starting on this topic. Good to hear that I'm not the only one feeling like managing SAS is a trial and error sort of proposition. I also appreciate the reference to not using the automatic migration tool and using a virtual server to test out the upgrade. Sounds like spinning up a virtual Dev machine is my next step. Thanks !! Please keep the conversation going ... I'm sure there's much we can all learn !!
Over the years, I have made it a point to never use the automatic migration tool when upgrading SAS. Instead I will perform a "green field" install on a new (virtual, nowadays) server, then set that up to be used in parallel while testing, and finally move the users over.
That way I always have the option to correct "design" mistakes that I discovered in the old setup. And I get rid of all the cruft that has accumulated. Unused reports, five different userID's just for storing HTML pages (can be combined into one), and so on.
I should probably point out that we will probably only have about 100 users at any given time using SAS, though that number is much smaller right now. If all managers get onboard and excitement spreads, that number might jump to 250 or more users. We have seen a lot of excitement generated by SAS in the few departments that are testing with us now.
If you haven't already, start keeping a very detailed user inventory, with things like:
- Contact details
- Computer name(s)
- Licensed for PC SAS ? Y - N - N/A
- Maiden names (...I kid you not)
- HR reporting details
- Org structure
Make it an ingrained practice to keep this list 110% updated. When you start dealing with hundreds of users on enterprise level, it's like herding cats without this information. I used to run a SAS shop for a major bank with ~500 users and I can honestly tell you this will be one of your biggest assets. Without this, you are running around in the dark.
I've found that it helps to have a test environment that people can play/develop in and a separate locked-down production environment.
Make sure test programs can't run for longer than x CPU seconds or return over y records.
Also, come up with standards for naming conventions, folder structures and the like.
Encourage people to use some sort of version control. I name my programs name_yyyymmdd_hhmm.sas (similar with projects) and that does the trick for me.
Great suggestion on detailed user inventory ... I've been capturing users and machines, but I love your recommendations ... and as funny as it sounds, I LOVE your note about maiden names ... Makes life so much easier when you try to find their network account and their name has changed ... Great idea to include contact info too ... I'll start that practice - Thanks !!
I'm E-Mailing our "development" folks to try to get some type of version control and to start using something akin to your naming convention. I think folks are just starting to create programs and I hadn't even thought of that to help with version control ... Actually, we haven't even come up with any kind of release control and/or version control. Wow, I'm taking notes !!
I haven't created any SAS "programs," but some of our folks are starting so I'll look into how you can specify CPU seconds as well as max records. More great ideas - Keep 'em coming, please !!
- Take a look at SAS macro MDUEXTR. It help you extract information from SMC like user, groups etc. Also get hold of proc metadata procudure. This will help you a lot for querying metadata.
- Another important thing is to make a note of number of SAS license and keep track of it. Probably you would like to come up with a utility which will verify, every 6 months, if a user really needs SAS.
- SAS Work usage - you would also like to setup usage guideline for your SAS wrok directory.
Oh WOW - The MDUEXTR Macro is incredible !! I had never heard of it until now and Googling it I find code examples of using it and tons of info on it - Thank you so much !!! You've put me on a whole new path of learning (macros) and how they can be leveraged for administration. I feel like a new wrinkle in SAS space just opened up for me. I'll check on our licensing as well. Thanks !! We set up custom Metadata folders, groups, ACT's, libraries, physical server folders and network shares so we're on track with the security infrastructure, but still trying to get a hold on administration.
This is an incredibly broad topic so I'm not going to cover all the bases...I've found using a "top-down" approach is a great way to look at this.
I'd start with the business requirements for using SAS. Are you building business-critical applications with SAS or are you just doing adhoc analytics? There is a world of difference between the business-critical and adhoc applications. With business-critical you will want your SAS architecture to be as reliable and resilient as possible. This may require having a Disaster Recovery site as well as a Production site with site mirroring. It may also mean having remote access to SAS from multiple locations as part of a Business Continuity Plan.
Perhaps you think this is over-the-top? Well the city I work in was hit by a major earthquake last year. Our office building was put out of action for several years. Luckily we had remote access to SAS via the internet using Citrix, until we moved into temporary office space 3 months later. So we were able to keep our business-critical SAS applications going while working pretty much anywhere.
Business-critical apps mean you may also want to use server clustering or grid computing for greater reliability. It will also mean you will have separate Production and Development / Testing environments and the use of automated version control and deployment tools. You will also have IT support agreements in place for SAS with agreed service levels. Any OS / SAS upgrades or maintenance should be treated with the same care and due process that you apply to SAS app version control.
And all this requires consideration before you start using SAS for real!
Thanks for posting your question @D_e_n_n_i_s as it can be overwhelming to fully understand all the components with SAS administration and where to seek help. I suspect this is a question many others in the community have thought about too so it is great you've raised the topic for a virtual discussion.
As a SAS partner providing tools to help SAS administrators to keep their SAS platform secure, I've seen many models of SAS administration which all depend on the size of the organization, the culture, type of SAS software implementation (hardware and software), the size and skillset of the SAS admin team, whether the SAS platform is managed by IT or business or a 3rd party. What works in one organization may/may not work in another organization.
Your question reminds me of a blog post by Gregory Nelson, A day in the life of a SAS Adminstrator: Understanding the Roles we Play which gives a top down understanding of the roles and an older post that delves into more of the roles - SAS administrator roles and responsibilties: a recap There are many SAS admin blog posts and tips shared in the community and I imagine busy SAS admins may be more inclined to share their specific details in person so I'd also suggest looking at SAS user groups in your region as well as SAS Global Forum (SASGF). At SAS Global Forum there is usually a dedicated SAS User Group for Adminstrators gathering and a specific SAS Administrator presentation stream. You will definitely get an overwhelming insight to SAS administration by attending SASGF. In the meantime, as you've done, use the various communities and channels to meet people, ask questions and work towards a model that works for you and your organization knowing you have the awesome support of SAS Tech Support and members here in SAS Support Community. All the best with your SAS admin journey!
P.S. and if you want to know about SAS Security Best Practices join @angieh and I on a SAS User Group for Administrators (SUGA) webinar: SAS Security, Best Practices, Validation and Monitoring on September 12.
Thanks Michelle for the info & links !! There has been some terrific feedback so far with this thread !! So besides reading SAS PDF docs, calling SAS Tech Support and employing paid consultants, how many folks use built-in SAS tools and/or how many have purchased 3rd party solutions for administration?
I'm not an admin, so I hesitated to jump in. But since you asked specifically about 3rd party apps, and @MichelleHomes was too polite to self-promote, I would say that if I were an admin, I would definitely want Metacoda (https://www.metacoda.com/en/).
We had a small departmental server, which I developed on. As a developer, I was responsible for creating my own users, managing their groups, etc. Going from PC SAS programmer to BI developer, it takes a good while to learn the security model, etc. If I had had Metacoda's tools for viewing, changing, and (most importantly) understanding the permissions that each user had (e.g. how they inherited them), my life would have been MUCH easier. And that's just one small part of what their tools will do, from a developer perspective.
So if you haven't looked at Metacoda products, I would definitely check them out.
Disclaimer: I don't work for Metacoda, but Michelle and Paul have helped me out a LOT on this forum, and I've met them IRL once... : )
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
Learn how to install the SAS Viya CLI and a few commands you may find useful in this video by SAS’ Darrell Barton.
Find more tutorials on the SAS Users YouTube channel.