Môn học mới
DevOps Fundamentals

  • Hiểu rõ và có tư duy đúng đắn về DevOps để lựa chọn DevOps là 1 nghề nghiệp cho bản thân.
  • Thành thạo 3 công cụ phổ biến trong DevOps toolchain là Git, Jenkins và Ansible để triển khai Automation.
  • Vận dụng được tư duy và phương pháp “Automation” của DevOps để áp dụng cho công việc thực tế hàng ngày.
  • Rèn luyện tư duy “Do Lab Everything” để phát triển kỹ năng mới cho bản thân.
  • Có định hướng và nền tảng tốt để học chuyên sâu về DevOps với lộ trình rõ ràng.
  • Có kỹ năng phân tích, suy nghĩ một cách logic nhằm giải quyết vấn đề trong quá trình làm việc.
 
  • Dành cho những người mới bắt đầu tìm hiểu về DevOps hoặc các bạn đang làm việc trong ngành IT.
  • Những bạn đang làm lĩnh vực khác muốn chuyển sang hướng DevOps.
  • Yêu cầu đầu vào: Học viên cần có kiến thức về Mạng cơ bản và Lập trình cơ bản
 
  • Thời gian học:  60 tiết - 45 giờ
  • Học phí: 5.000.000đ/khóa
Lesson 1. DevOps Fundamentals
1. What is DevOps
2. Traditional Model and DevOps Culture
3. Why Agile Methodology
4. Agile Scrum explanation
5. Agile DevOps explanation
6. CALMS Model discussion
7. DevOps Process discussion
8. DevOps Life Cycle discussion
9. Practice: Distinguish CI and CD in real situations
 
Lesson 2. Do Lab Everything
1. Apply “Do Lab Everything” mindset to develop skill named “self practice to learn”
2. Aggregate inputs/incomes and outputs/outcoms to select method/form for Lab
3. Build Lab model
4. Implement Lab model
5. Practice 1: Lab with VMware Workstation
6. Practice 2: Lab with Public Cloud (AWS/Azure/Google)
 
Lession 3. Container Fundamentals
1. What is Container
2. Docker architecture
3. Docker image
4. Practice 1: Pull Nginx image from DockerHub then run
5. Docker commands
6. Docker network
7. Docker storage
8. Write Dockerfile
9. Practice 2: Write Dockerfile to build Nginx environment
10. Practice 3: Build Nginx image from Dockerfile then run
11. Practice 4: Interact with running container
12. Practice 5: Push your Nginx image to DockerHub
13. Docker cleanup
 
Lesson 4. Linux Server Administration
1. Ubuntu/Debian vs RHEL/CentOS
2. Practice 1: Install Ubuntu Server and use SSH keys to authenticate
3. System Access and File System
4. Linux Fundamentals
5. System Administration
6. Shell Scripting (*)
7. Networking, Services and System Updates
8. Disk Management and Run Levels
9. Debug/Troubleshoot Skills (*)
10. Practice 2: Deploy WordPress
11. Practice 3: Load Balancing with HAProxy, Nginx and Keepalived
 
Lesson 5. Git – Source Version Control
  • 1. Version Control overview
  • 2. Why “Version Control” mindset
  • 3. Source Control Management (SCM) overview
  • 4. Practice 1: Deploy GitLab EE instance
  • 5. Basic Git Commands
  • 6. Git Comparisons
  • 7. Git Branching
  • 8. Git Strategy
  • 9. Git Merging (Pull/Merge Request)
  • 10. Git Rebasing
  • 11. Git Stashing
  • 12. Git Tagging
  • 13. Practice 2: Same practice with GitHub/BitBucket
Lesson 6. Basic Jenkins – CI/CD Tool
1. Jenkins overview
2. Jenkins architecture
3. Jenkins Role – Master
4. Jenkins Role – Agent Types
5. Practice 1: Deploy Jenkins Master
6. Install and configure necessary plugins
7. Prepare and configure Jenkins Agents
8. Practice 2: Configure Jenkins Agent connect to Jenkins Master
9. Freestyle job vs Pipeline job
10. Declarative Pipeline vs Scripted Pipeline
11. Practice 3: Create Freestyle job to install Nginx on Jenkins Agent
12. Practice 4: Create Pipeline job to install Nginx on Jenkins Agent
13. Use Credentials
14. Practice 5: Configure Pipeline job to checkout Git repo
15. Use String Parameter
16. Use Boolean Parameter
17. Practice 6: Configure Pipeline job to use String/Boolean Parameter
18. Use Choice Parameter
19. Practice 7: Configure Pipeline job to use Choice Parameter
20. Use Active Choices Parameter
21. Practice 8: Configure Pipeline job to use Active Choices Parameter
22. Task/Process Automation with Jenkins
23. Practice 9: Configure Pipeline job run as Cronjob
24. Practice 10: Configure Pipeline job to send notification mail for Jenkins build status
25. Practice 11: Trigger Jenkins build status into MS Teams 
26. Practice 12: Trigger Jenkins job from another Jenkins job
27. Practice 13: Trigger Jenkins job by Jenkins API
28. Define Roles and grant Permissions for Jenkins users
29. Practice 14: Manage and Assign Roles with Role-based Strategy
30. Backup/Restore Jenkins
31. Upgrade Jenkins
32. Practice 15: Patching for Jenkins
 
Lesson 7. Basic Ansible – Configuration Management
1. Configuration Management Overview
2. Ansible architecture
3. Practice 1: Setup Ansible Control node
4. Practice 2: Connect Ansible Control node to Managed nodes
5. Ansible Inventory
6. Ansible Playbook
7. Practice 3: Create and run the first playbook
8. Modules
9. Practice 4: Create and run the playbook using Modules
10. Multitask Ansible Playbook
11. Practice 5: Create and run the playbook using Multitask
12. Notify and Handlers
13. Practice 6: Create and run the playbook using Notify and Handlers
14. Task/Process Automation with Jenkins and Ansible
15. Practice 7: Install Nginx for batch of servers in parallel
 
  • Chứng nhận "DevOps Fundamentals" do Trung Tâm Tin Học - Trường ĐH KHTN TP.HCM cấp.