DevOps, CI CD and Monitoring Observability Workshop - up1/training-courses GitHub Wiki
DevOps, CI/CD and Monitoring/Observability Workshop
Duration 3 days
สิ่งที่จะได้รับ/วัตถุประสงค์
DevOps เป็นแนวคิดที่ประกอบไปด้วย People, Process และ Product เพื่อช่วยให้ส่งมอบระบบงานที่มีคุณค่าไปยังผู้ใช้งานอย่างต่อเนื่อง ซึ่งมีทั้งกระบวนการที่รวดเร็วและมีคุณภาพสูง โดยใน course นี้จะทำการแนะนำให้เข้าใจเกี่ยวกับ DevOps เพื่อให้สามารถนำไปประยุกต์ใช้งานในองค์กรได้อย่างถูกต้อง ประกอบไปด้วย
ประวัติความเป็นมาของ DevOps คุณค่าต่าง ๆ ของ DevOps
- เข้าใจขั้นตอนการพัฒนาระบบงาน และ ปัญหา รวมทั้งการปรับปรุง
- เข้าใจเกี่ยวกับ Principles และ Practices ต่าง ๆ ของ DevOps
- เข้าใจปัญหา และ วิธีการปรับปรุงการทำงานร่วมกันระหว่างทีม Development และ Operation
- เข้าใจเกี่ยวกับ Continuous Integration, Testing และ Deployment
- เข้าใจเกี่ยวกับการจัดการเรื่อง Release management, Configuation และ Monitoring
- เข้าใจเกี่ยวการใช้งานเครื่องมือต่าง ๆ เช่น Docker และ Kubernetes
กลุ่มเป้าหมาย
- ทีมออกแบบระบบงาน
- ทีมพัฒนาระบบงาน
- ทีม Infrastructure/Network/Operation
- ฝ่าย management ระบบงาน
เครืองมือใช้ในการอบรม
- Jenkins, GitLab CI
- Docker and Kubernetes
- Monitoring and Observability
Course Outline
Day 1
- DevOps fundamental
- Waterfall and Agile concept
- Different between Dev and Ops team
- DevOps and Agile
- DevOps definition and need/goal
- DevOps Principle and Practice
- DevOps Life cycle and need of tools
- Software Configuration Management (SCM)
- Automated Software Build process
- Continuous Integration (CI)
- Automated testing and code coverage
- Infrastructure management
- Automated Deployment and Continuous Delivery
- Software Configuration Management (SCM)
- Purpose and basic concept
- Branch Strategy
- SCM tools such as Git, GitLab and Github
- Workshop with Git
- Automated Software Build process
- Working with Docker
- Automated process to build -> testing -> packaging -> deployment
- Workshop
- Docker and Kubernetes
- Manage container with Docker
- Basic components
- Image
- Container
- Registry
- Build image with Dockerfile
- Working with Docker compose
- Deploy container with Docker swarm (Cluster mode)
- Kubernetes
- Manage container with Kubernetes
- Kubernetes components
- Pods
- Service
- Deployment and ReplicaSet
- HPA (Horizontal Pod Autoscaler)
- Monitoring and Observability
Day 2
- Continuous Integration (CI)
- CI fundamental and benefit
- CI principle
- Build pipeline (Build -> Testing -> Packaging -> Deploy)
- CI tools such as GitLab CI and Jenkins
- Workshop with CI tools
- Installation
- Basic configuration
- Design and develop the build pipeline
- Working with Git
- Working with Docker
- Build
- Artifatory management
- Testing
- Deployment
- Automated testing and code coverage
- Testing process in software development
- Manual testing vs Automated testing
- Pyramid testing
- Unit testing
- Integration testing
- API testing
- User Interface testing
- Test-first vs Test-last
- Static code analysis
- Automated Deployment and Continuous Delivery/ DevOps
- Continuous Delivery concept
- DevOps end-to-end process and tool
- Continuous Monitoring
- Continuous Logging
Day 3
-
Monitoring and Observability
- Centralized log
- Application metric
- Distributed tracing
- Exception tracking
- Alert system
-
Monitoring stack and platform
- Dashboard with Grafana
- Application metric with prometheus
- Node
- Database
- Workshop with Docker and Kubernetes