Syllabus

Course Description

Introduction to Linux System Administration and DevOps methodologies. The goal of this course is to provide the foundation of knowledge with the tools and technologies used in managing today’s highly scalable and agile systems.

Location

MWF: 4-5:00pm, KEC 1001

Instructors

Lance Albertson and Jordan Evans

Office Hours

By appointment only.

Class Mailing List

cs312-w16@ENGR.ORST.EDU

Course Content

  • Linux basics:
    • Single system fundamentals
    • OS installation
    • User management
    • DNS & DHCP
    • Systemd
    • Syslog, cron & software RAID
    • Linux networking and debugging
    • NFS
    • Email servers
  • DevOps Methodologies:
    • Contribution to the growing DevOps ecosystem
    • Continuous Integration & Deployment
  • Configuration Management
    • Historical Context
    • Modern Configuration Management basics
  • Monitoring
    • Service Monitoring tools
    • Performance Monitoring tools
  • High Availability
    • Load balancing strategies
    • Setting up services to minimize downtime
  • Virtualization & Containerization
    • Public and Private cloud technologies
    • Use cases between virtualization and containers
  • Distributed Systems & Service Discovery
    • Current and future approaches of distributed and scalable system architecture
    • Introspection on the state of distributed systems

Textbook (required)

System Administration Handbook (4th Edition) by Evi Nemeth et al

Prerequisites

CS 311, CS 344, or instructor approval

Course Objectives

  1. Design a configuration for multiple machines to achieve a specific task.
  2. Demonstrate how to install an operating system, partition disk space, add and remove network services, connect to a network, and validate system performance.
  3. Demonstrate how to manipulate user accounts across multiple machines working in concert, including adding/deleting users, checking disk space usage, changing passwords, tracking resource utilization, and tracking login frequency.
  4. Demonstrate how to manipulate system processes, including listing processes, killing rogue processes, detecting high use processes, moving processing from foreground to background and changing process priority.
  5. Demonstrate how to start up, reboot, and shut down a collection of machines working in concert.
  6. Manipulate and change user permissions on files and directories for use with shared groups of collaborators.
  7. Demonstrate package management and maintenance across multiple systems.
  8. Create programs that automate system administration tasks.
  9. Participate effectively in a team environment.

Attendance Policy

There are no make-up quizzes or exams unless you arrange with me ahead of time with a valid reason.

In general: Students who do not attend lectures tend to do very poorly in this class (C or lower).

Late homework policy

Any homework that is turned in past the deadline will incur a -10% dock in grade per day including weekend days.

Grading

  • 2 midterms (2 x 20 pts ) – 20% of grade
  • 1 final (40 pts) – 20% of grade
  • 3 Projects (3 x 15 pts) – 22.5% of grade
  • 6 Assignments (5 x 15 pts) – 37.5% of grade
Points Grade
200-180 A
179-175 A-
174-170 B+
169-160 B
159-155* B-
154-150 C+
149-140 C
139-135 C-
134-130 D+
129-120 D
119-0 F

Projects

Projects are intended to be hands-on and require additional time to complete. Students are allowed to collaborate together on projects, however they will need to each turn in their projects individually with individual results. Students are limited to teams of up to three students.

Homework

Homework will be assigned during the term, however collaboration is not allowed.

Academic Dishonesty

Policies regarding academic honesty can be found here and compliance is expected for this course.

Students with Disabilities

Accommodations are collaborative efforts between students, faculty and Services for Students with Disabilities (SSD). Students with accommodations approved through SSD are responsible for contacting the faculty member in charge of the course prior to or during the first week of the term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through SSD should contact SSD immediately at 737-4098.