Ops School Curriculum
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
Vim
Emacs
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
LDAP
NIS
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
NFSv3
iSCSI
SAMBA/CIFS
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
Running services
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
Editing
Glossary
Ops School Curriculum
Docs
»
Index
Edit on GitHub
Index
B
|
C
|
D
|
E
|
G
|
M
|
O
|
P
|
R
|
V
B
BIOS
C
CLI
D
Domain Specific Language
E
EPEL
G
GUI
M
MAC
O
OSI
P
POSIX
R
RFC
RFC 1112
RFC 1519
RFC 1796
RFC 1918
RFC 2026
RFC 2119
RFC 2460
RFC 5000
RFC 7231
RFC 768
RFC 791
RFC 792
RFC 793
RFC 882
RFC 920
V
VLAN
Read the Docs
v: latest
Versions
latest
Downloads
pdf
htmlzip
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.