This DevOps training will help you gain expertise in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration, & IT service agility, using DevOps tools like Git, Docker, Jenkins, Cucumber, Ansible, TeamCity, & Nagios. You will learn the various aspects of DevOps delivery model.
40 hours (5 days)
This hands-on class is approximately 80/20 lab to lecture ratio, combining engaging lecture, demos, group activities and discussions with comprehensive machine-based practical programming labs and project work. The outcome includes:
- DevOps methodologies.
- DOMAIN 1 - Software Development Life Cycle (SDLC) Automation: Version Control, Continuous integration and delivery/deployment tools (CI/CD)
- DOMAIN 2 - Configuration Management and Infrastructure as Code.
- DOMAIN 3 - Monitoring and Logging.
- DOMAIN 4 - DevOps on Cloud and High Availability.
- Learners taking this course must be from a technical background with an understanding of Linux fundamentals, Web Development fundamentals, and Java fundamentals.
1. Course Introduction
- Code & Slides download.
2. DevOps Methodologies
- DevOps Overview
- Core Principles of DevOps
- Value Stream in DevOps (People, Processes, Tools)
- People roles in DevOps.
- Processes in DevOps (perfectly match between Agile, ITSM & DevOps)
- DevOps Toolchain
- Best Practices for DevOps
- Categories of DevOps Tools
3. DOMAIN 1 - Software Development Life Cycle (SDLC) Automation
3.1. Version Control System
- Overview of Version Control Systems
- Role of Version Control Systems
- Types of Control Systems and Their Supporting Tools
- Overview of Git
- Overview of Source code and Version Control Hosts
- Commit/Push/Pull the Files from/to GitHub via Git
- Assisted Practice: Merge & Solve the conflicts on Git.
3.2. Continuous Integration, Continuous Delivery/Deployment
- Anatomy of CI/CD & Toolchain
- Test-Driven Development.
- Overview and Features of Jenkins (as a sample of build tool)
- Set up Jenkins
- Assisted Practice: Install and Configure Jenkins
- Build Tools and Their Uses
- Assisted Practice: Integrate JUnit into Jenkins.
- Deployment model: Blue-Green, Canary, Rolling.
- Lesson-end Project: Continuous Integration with Jenkins, Git, and Maven
4. DOMAIN 2 – Configuration Management & Infrastructure as Code
- The needs of Configuration Management (Big picture)
- Infrastructure as Code as a methodology to leverage Config Mgmt.
- The combination of tools: Automation X Infrastructure as Code.
- Newbie to Ansible and its application.
- Practice: Using Ansible to manage Linux daemon and their configuration.
- Practice: Deploy stack with Docker Compose.
5. DOMAIN 3 – Monitoring & Logging
- Multi-layer of Monitoring & Logging.
- The difference between monitoring and logging.
- Monitoring & Logging tools (updated)
- Practice: Prometheus, Exporter & Grafana.
- Practice: Loki, Promtail & Grafana.
- Practice: Log-based metrics with Python, ELK Stack.
6. DOMAIN 4 - DevOps on Cloud & High Availability
- Learning Objectives
- Virtualization revolution (bare-metal, para-virt, os-virt)
- The growth of Cloud.
- Hybrid cloud and benefits.
- How DevOps align with the capabilities of cloud.
- The High Availability, Fault Tolerance.
- Practice: Design a system on cloud that meet HA & FT requirements.
- Practice: Apply DevOps Toolchains into Cloud.
- Appendix: Open talk about private cloud & public cloud.
7. End-of-course Project – Design & Implement end-to-end DevOps Toolchains (8 hours)
- Comprehend the project.
- Put appropriate tools into suitable stage.
- Project: Design & implement end-to-end DevOps toolchains.
- Review: Products requirements meet proportion based on implemented solution.
Học trực tuyến
Học tại Hồ Chí Minh
Học tại Hà Nội