Skip to content

Course

COE3115964

DEVOPS

Computer Engineering

LECTURE
3
LAB
0
CREDITS
3
ECTS
6
LANGUAGEEnglishLEVELFirst Cycle (Bachelor's Degree)TYPEElective

AIM

The aim of this course is to equip students with the fundamental knowledge and practical skills necessary for proficient Linux system management. Through a combination of theoretical concepts and hands-on practice, students will learn to effectively use basic Linux commands, monitor system performance, manage logs, and utilize container technologies such as Docker and Kubernetes. This course also emphasizes the importance of security best practices and automation in system management, preparing students to tackle real-world challenges and adapt to rapidly evolving technologies in the field.

CONTENT

This course contains; Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands,User and group management, Package management, System updates and upgrades,Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares,Log Management, Understanding syslog Using Logrotate, ELK and Grafana dashboard,Process Management Understanding processes and process management Monitoring system performance with top, ps, and other tools File System Management Creating, mounting and unmounting file systems Understanding file system permissions and security,Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers,Docker Containerization (Continued), Understanding Docker images, Using Dockerfiles to create images, Deploying multi-container application,Midterm,Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes,Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security,Advanced Kubernetes Understanding replicasets and statefulsets Configuring ingress Using Kubernetes with Continuous Integration and Continuous Deployment (CI/CD),Linux Scripting Automating system administration tasks Linux Performance Optimization Understanding CPU and memory utilization Optimizing performance with tuning,Project presentations, Application of course concepts to real-world scenarios,Final Exam.

LEARNING OUTCOMES

  1. 1

    Demonstrate proficiency in using basic Linux commands

    Taught by: Computer-Internet Supported Instruction · Assessed by: Short Answer Exam, Homework, Project Task

  2. 2

    Effectively monitor system performance and resource usage

  3. 3

    Create, manage, and deploy Docker containers for various applications.

  4. 4

    Understand the principles of containerization. Explain the core concepts of Kubernetes architecture and components.

  5. 5

    Apply learned concepts in real-world scenarios through hands-on projects and labs.

  6. 6

    Troubleshoot and solve common issues in Linux system management, containerization, and orchestration.

WEEKLY PLAN

  1. WEEK 1

    Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands

    Preparation: https://linuxjourney.com/

  2. WEEK 2

    User and group management, Package management, System updates and upgrades

    Preparation: https://linuxjourney.com/

  3. WEEK 3

    Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares

  4. WEEK 4

    Log Management, Understanding syslog Using Logrotate, ELK and Grafana dashboard

    Preparation: https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line

  5. WEEK 5

    Process Management Understanding processes and process management Monitoring system performance with top, ps, and other tools File System Management Creating, mounting and unmounting file systems Understanding file system permissions and security

    Preparation: https://www.digitalocean.com/community/tutorials/process-management-in-linux https://www.developer.com/open-source/linux-file-management/

  6. WEEK 6

    Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers

    Preparation: https://docker-curriculum.com/

  7. WEEK 7

    Docker Containerization (Continued), Understanding Docker images, Using Dockerfiles to create images, Deploying multi-container application

    Preparation: https://docker-curriculum.com/#multi-container-environments

  8. WEEK 8

    Midterm

  9. WEEK 9

    Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes

    Preparation: https://kubernetes.io/

  10. WEEK 10

    Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security

    Preparation: https://kubernetes.io/docs/concepts/security/

  11. WEEK 11

    Advanced Kubernetes Understanding replicasets and statefulsets Configuring ingress Using Kubernetes with Continuous Integration and Continuous Deployment (CI/CD)

    Preparation: https://cloud.redhat.com/blog/top-open-source-ci/cd-tools-for-kubernetes-to-know

  12. WEEK 12

    Linux Scripting Automating system administration tasks Linux Performance Optimization Understanding CPU and memory utilization Optimizing performance with tuning

    Preparation: https://cromwell-intl.com/open-source/performance-tuning/

  13. WEEK 13

    Project presentations, Application of course concepts to real-world scenarios

  14. WEEK 14

    Final Exam

ASSESSMENT

  • Rate of Midterm Exam to Success30%
  • Rate of Final Exam to Success70%

WORKLOAD

ACTIVITYCOUNTHOURSTOTAL
Course Hours14342
Guided Problem Solving14342
Resolution of Homework Problems and Submission as a Report6318
Term Project10220
Presentation of Project / Seminar2510
Quiz4312
Midterm Exam11010
General Exam11010
Performance Task, Maintenance Plan2510

READING

  • https://www.linuxfoundation.org https://docker-curriculum.com/ https://kubernetes.io/

TEACHING STAFF

  • Assist.Prof. Ahmet KAPLANCOORDINATOR
  • Assist.Prof. Ahmet KAPLAN