A Day in the Life of a Systems Administrator So you want to be a sysadmin? Presented by: Austin Grice and Gayathri Swaminathan Oklahoma Information Technology Mentorship Program
Jan 02, 2016
A Day in the Life of aSystems Administrator
So you want to be a sysadmin?Presented by: Austin Grice and Gayathri Swaminathan
Oklahoma Information Technology Mentorship Program
$whois austin
• Call center survivor
• Call center supervisor
• Junior systems administrator
• Systems Engineer
• Tinkering with Linux since 2003
• Worked in Linux professionally since 2010
• Implemented ERPs since 2010
• But I still use a Mac for my daily driver
$whois gayathri
• Programmer Analyst
• Junior systems administrator
• Remote applications engineer
• Systems Engineer
• worked in Unix/Linux since 2002
• performed large scale deployments since 2004
• implemented ERPs since 2008
What is a sysadmin?
System users
DBA
Developers
Storage
Network
Security
Applications
Analysts
SystemsEngineer
Image credit:http://personalpages.manchester.ac.uk/staff/m.dodge/
Operations
$whereis problem
Image credit:Prologue Films VFX for Marvel Studios
$grep clues
• Large infrastructure tied to service(s)• Constant refresh projects• Inconsistent or specific configurations• Tough to measure and metric• Tough to scale• No hope for automation• How do you document mammoth architectures of
different types?• Instant large learning curve for new hires
$find solutions
Credit:http://www.hubblesite.org/
Adjust the perspectives!
$diff solution1 solution2 solution3...- Monitor monitor monitor- System profiling- Isolated test environment•Figure initial requirements•Record behaviors•Analyze metrics and identify the useful ones•Develop architecture•Narrow design constraints•Benchmark•Load and regression tests - A great place to get your teams to collaborate!
$which solution
Model system
10
Credit: http://www.flickr.com/photos/jonfisher/465778825/sizes/z/in/photostream/
Hypervisor + OS
Standard networkprofile
Standard storageprofile
Standard hostprofiles
Standard systemprofile
Standard metricsand monitors
$vi behavior
Iterative life cycle
Gather requirements
DependenciesDefine metrics
Discuss placement ofSecurity controls
Start communicationson integrationsInitiate conversations
on external interfaces
Collect systembehaviors
Profile system
Expect non-predictablebehaviors
Tool chest
• A terminal and shell of your choice (bash/zsh)
• Vim text editor (or EMACS)
• A local hyper visor (VMWare View, VirtualBox)
• An IRC client (for help from fellow sys admins)
• Wiki for sharing docs and knowledge
• An ssh bastion host for getting around
• Wireshark for finding that pesky packet
• GOOGLE! Someone has had the problem before
Now we have been introduced...A few questions to you!
- How many of you can play a musical instrument?
- Do you keep a log of number of lines of code you have written?
- Who uses your code?- Who could use your code?
- Raise your hand if you ever thought, I could write software for that!
- How many of you use Linux?
- How many of you use Unix/Linux?
- How many of you have been in white board sessionswith your professor or classmates?
The Unix Philosophy
Small is beautiful. Make each program do one thing well. Build a prototype as soon as possible. Choose portability over efficiency. Store numerical data in flat ASCII files. Use software leverage to your advantage. Use shell scripts to increase leverage and portability. Avoid captive user interfaces. Make every program a filter.Credit: Mike GancarzAlso refer: Notes of programming in C - Rob Pike - http://www.lysator.liu.se/c/pikestyle.html