Course
COE3115964
DEVOPS
Computer Engineering
- LECTURE
- 3
- LAB
- 0
- CREDITS
- 3
- ECTS
- 6
REQUIRES
REQUIRED BY
None
TAUGHT IN
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
Demonstrate proficiency in using basic Linux commands
Taught by: Computer-Internet Supported Instruction · Assessed by: Short Answer Exam, Homework, Project Task
- 2
Effectively monitor system performance and resource usage
- 3
Create, manage, and deploy Docker containers for various applications.
- 4
Understand the principles of containerization. Explain the core concepts of Kubernetes architecture and components.
- 5
Apply learned concepts in real-world scenarios through hands-on projects and labs.
- 6
Troubleshoot and solve common issues in Linux system management, containerization, and orchestration.
WEEKLY PLAN
- WEEK 1
Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands
Preparation: https://linuxjourney.com/
- WEEK 2
User and group management, Package management, System updates and upgrades
Preparation: https://linuxjourney.com/
- WEEK 3
Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares
- 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
- 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/
- WEEK 6
Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers
Preparation: https://docker-curriculum.com/
- 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
- WEEK 8
Midterm
- WEEK 9
Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes
Preparation: https://kubernetes.io/
- WEEK 10
Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security
Preparation: https://kubernetes.io/docs/concepts/security/
- 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
- 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/
- WEEK 13
Project presentations, Application of course concepts to real-world scenarios
- WEEK 14
Final Exam
ASSESSMENT
- Rate of Midterm Exam to Success30%
- Rate of Final Exam to Success70%
WORKLOAD
| ACTIVITY | COUNT | HOURS | TOTAL |
|---|---|---|---|
| Course Hours | 14 | 3 | 42 |
| Guided Problem Solving | 14 | 3 | 42 |
| Resolution of Homework Problems and Submission as a Report | 6 | 3 | 18 |
| Term Project | 10 | 2 | 20 |
| Presentation of Project / Seminar | 2 | 5 | 10 |
| Quiz | 4 | 3 | 12 |
| Midterm Exam | 1 | 10 | 10 |
| General Exam | 1 | 10 | 10 |
| Performance Task, Maintenance Plan | 2 | 5 | 10 |
READING
- https://www.linuxfoundation.org https://docker-curriculum.com/ https://kubernetes.io/
TEACHING STAFF
- Assist.Prof. Ahmet KAPLANCOORDINATOR
- Assist.Prof. Ahmet KAPLAN