"Ops School" Progress!
Linux SysAdmin • TalkToMyself
Introduction
Goals and Focus
Syllabus layout
Contributions
How we’ll organize work
How to contribute
Rewards for contributions
Ops School Videos
How to write sections
Overwriting existing content
Credits
Guidelines
Careers in Operations
Deciding a career path
Generalized career paths
Specialized career paths
How to become an operations engineer
Sysadmin 101
What is Systems Administration?
What is Development?
Contrasting Development and Operations
History of Development and Operations
What System Administration Isn’t
- Unix fundamentals 101
- File systems
Shells
Package management
The Boot Process
- Useful shell tools
- Crontab
- Unix fundamentals 201
- Kernel tuning
- Signals
- Syscalls
- Booting over the network
/bin/init
and its descendants
- Looking at system metrics
- MS Windows fundamentals 101
- Text Editing 101
- A little history
vi
basics
- Text Editing 201
- Tools for productivity
- Terminal emulators
- SSH
- SSH Use Cases
- Multiplexers
- Shell customisations
- Mosh
- Ticketing systems
- Note-taking
- Security 101
- Authentication in unix
- Adding and deleting users and groups
- Standard unix filesystem permissions
- PAM
- Chroot, jails and containers
- Sudo (or, “Why you should not log in as root”)
- History and Lore
- Security 201
- Centralised accounts
- Firewalls and packet filters
- Public Key Cryptography
- Two factor authentication
- Building systems to be auditable
- Network Intrusion Detection
- Host Intrusion Detection
- Defense practices
- Risk and risk management
- Compliance: The bare minimum
- Dealing with security incidents
- ACLs and extended attributes (xattrs)
- SELinux
- AppArmor
- Data placement
- Additional reading
- Troubleshooting
- Methodologies
- Working effectively during a crisis
- Networking 101
- The RFC Documents
- OSI 7-layer model (OSI Reference Model)
- TCP/IP (ARPA) 4-layer model
- IP Addressing
- TCP vs UDP
- Subnetting, netmasks and CIDR
- Classful addressing
- Private address space (RFC 1918)
- Static routing
- NAT
- Networking cable
- Networking 201
- VLANs, 802.1q tagging
- Spanning Tree
- Routing
- ACLs
- Network Bonding (802.3ad / LACP link aggregation)
- IOS switch configuration
- GRE and other tunnels
- Multi-homed hosts
- Similarities and differences between IPv4 and IPv6 networking
- Implications of dual-stack firewalls (especially under Linux)
- Multicast uses and limitations
- Latency vs. Bandwidth
- VPNs
- Network Troubleshooting
- Troubleshooting layer 1 problems
- Differences in perspective: network engineering and systems administration
- Common services
- System daemons 101
- DNS 101
- DNS 201
- DHCP
- HTTP 101 (Core protocol)
- HTTP 201 (Application Servers & Frameworks)
- SMTP 101
- SMTP 201
- Identity Management 101
- Active Directory 101
- What is Active Directory?
- What is Active Directory used for?
- You mention “separate components”; what is Active Directory composed of?
- What specific services does Active Directory provide?
- Best Practices for managing an Active Directory installation
- Active Directory 201
- Detailed Breakdown of Active Directory Components/Services
- Advanced Active Directory Maintenance
- Remote Filesystems 101
- Remote Filesystems 201
- GlusterFS
- NFSv4
- Netatalk / AFP
- S3
- Programming 101
- Shell scripting basics
- Regular Expressions
- Sed & awk
- GIGO
- Programming 201
- Common elements in scripting, and what they do
- C (A very basic overview)
- Ruby
- Python
- Version Control
- API design fundamentals
- Continuous Integration
- Hardware 101
- Hardware Types
- Basic server architecture
- Disk management
- Performance/Redundancy
- Troubleshooting
- Datacenters 101
- Power budgets
- Cooling budgets
- You will be judged by the tidiness of your rack
- Machine and cable labeling
- Traditional naming conventions
- Datacenters 201
- Networking many racks
- Power
- Cooling
- Physical security and common security standards compliance requirements
- Suggested practices
- Datacenters 301
- Power
- Increasing cooling efficiency
- Design Options
- Virtualization 101
- Intro to virtualization technologies
- The Cloud
- Virtualization 201
- Managing virtualized infrastructures (Private clouds)
- Leveraging virtualization for development
- Leveraging virtualization for production
- Security implications of virtualization
- Logs 101
- Common system logs & formats
- Standard Error
- Log files
- Syslog
- Log Rotation
- Logs 201
- Centralized logging
- Log parsing
- Search & Correlation
- Databases 101 (Relational Databases)
- What is a Database?
- What is a Relational Database?
- Why We Use Databases?
- What is SQL?
- SQL shell
- Creating databases
- Creating users
- Create Tables
- Alter Table
- Drop Table
- Data Type
- Granting privileges
- Removing Privileges
- Basic normalized schema design
- Select, Insert, Update and Delete
- Pro Tips
- Databases 201
- Database Theory
- Document Databases
- Key-value Stores
- Graph Databases
- Application Components 201
- Message Queue Systems
- Message Brokers
- Memory Caches
- Specialized Caches
- Load Balancing
- Why do we use load balancers?
- Application implications
- Non-HTTP use cases
- Software
- Hardware
- Multi-dc
- Monitoring, Notifications, and Metrics 101
- History: How we used to monitor, and how we got better (monitors as tests)
- Perspective (end-to-end) vs Introspective monitoring
- Metrics: what to collect, what to do with them
- Common tools
- Monitoring, Notifications, and Metrics 201
- Dataviz & Graphing
- Graphite, StatsD
- Dashboard: Info for ops and info for the business
- Third-party tools
- Business Continuity Planning
- Backups
- Outages
- Postmortems
- Disaster Recovery
- Architecture 101
- How to make good architecture decisions
- Patterns and anti-patterns
- Introduction to availability
- Introduction to scalability
- Architecture 201
- Service Oriented Architectures
- Fault tolerance, fault protection, masking, dependability fundamentals
- Caching Concerns
- Crash only
- Synchronous vs. Asynchronous
- Business continuity vs. Disaster Recovery
- Designing for Scalability: Horizontal, Vertical
- Simplicity
- Performance
- Tiered architectures
- MTTR > MTBF
- Configuration Management 101
- A Brief History of Configuration Management
- Idempotence
- Convergent and Congruent systems
- Direct and Indirect systems: ansible, capistrano
- Chef
- Configuration Management 201
- Ansible
- Puppet
- CFEngine 3
- SaltStack
- Capacity Planning
- Fundamentals of capacity planning
- Forecasting
- Diagonal scaling
- Statistics For Engineers
- Normal distributions
- Percentiles, histograms, averages, mean, medians
- Software Deployment 101
- Software deployment vs configuration management
- Running services
- Package management
- Software Deployment 201
- Soft Skills 101
- Communication basics
- Communication Modes
- Special cases for operations
- Time Management
- Project Management
- The Tao of DevOps
- The importance of Documentation
- Working with other teams
- Soft Skills 201
- Business Acumen in Operations
- Understanding the role of operations
- Thinking broadly
- Promoting Change
- Building basic business skills
- Specific Examples
- Labs exercises
- Bare-Metal Provisioning 101
- Bare-Metal Provisioning 201
- Cloud Provisioning 101
- Cloud Provisioning 201
- Database 101
- Database 201
- Database 301
- Automation 101
- Automation - Chef 201
- Automation - Chef 301
- Automation - Chef 302
- Automation - Puppet 201
- Automation - Puppet 301
- Package Management 101
- Package Management 201
- Build automation fleets
- Version Control with Git 101
- DNS 101
- HTTP 101
- Learning and the Community
- Learning and strategies for improvement
- Things to keep in mind as you learn how to be an engineer
- Golden rules for careers in ops
- Where to look for help in the community
- See also
- Reading List
- Contributions
- How we’ll organize work
- How to contribute
- Rewards for contributions
- Ops School Videos
- How to write sections
- Overwriting existing content
- Credits
- Conventions
- Style Guide
- Sample Network
- Style Guide
- Glossary