DevOps Nâng Cao
I. Overview:
DevOps certification training equips you with expertise in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration, and IT service agility. You will learn to use essential DevOps tools such as Git, Docker, Jenkins, Ansible, and Terraform. Gain a comprehensive understanding of the different aspects of the DevOps delivery model and how to apply them in real-world scenarios to improve software development and delivery processes.
II.Duration:
40 hours (5 days)
III.Objectives:
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: Gain a deep understanding of DevOps principles, practices, and the cultural shift required for successful implementation.
- Version control systems: Master version control with Git, ensuring efficient collaboration and code management.
- Continuous integration and deployment with Jenkins: Automate your software delivery pipeline with Jenkins, enabling faster and more reliable releases.
- Software and automation testing frameworks: Learn to write effective tests for your software, automating the testing process for increased efficiency and accuracy.
- Configuration management tools Ansible: Utilize Ansible to automate infrastructure provisioning and configuration, ensuring consistency and scalability.
- Containerization with Docker and Docker-Compose: Package applications and their dependencies into containers using Docker, simplifying deployment and ensuring portability.
- Continuous monitoring with Prometheus and CloudWatch: Implement monitoring and alerting systems with Prometheus and CloudWatch to proactively identify and address issues in your applications and infrastructure.
- Cloud on DevOps: Understand the role of cloud computing in DevOps and leverage cloud platforms for efficient infrastructure provisioning, deployment, and management.
- Infrastructure as code (IaC): Automate the management and provisioning of infrastructure using code, improving consistency and reproducibility.
- Deploying Kubernetes clusters and scaling on demand: Learn to deploy and manage Kubernetes clusters, enabling scalable and resilient container orchestration.
- Deploy Jenkins for scale: Scale your Jenkins infrastructure to handle increased workloads and ensure continuous integration and deployment processes remain efficient.
By the end of this class, you will be equipped with the knowledge and skills necessary to implement DevOps practices in your organization, leveraging cloud technologies and automation to streamline your software development lifecycle
IV. Intended Audience:
- Learners taking this course must be from a technical background with an understanding of Linux fundamentals, Web Development fundamentals, and Java fundamentals.
V. Course outlines:
1. Course Introduction
- Introduction
2. Introduction to DevOps
- DevOps Overview
- Relationship between Agile and DevOps
- DevOps Toolchain
- DevOps Principles
- Challenges with the Traditional Approach
- Addressing Challenges through DevOps
- DevOps Approach to the challenges
- Overview of DevOps Tools
- Best Practices for DevOps
- Categories of DevOps Tools
- DevSecOps and Its Manifesto
- Workflow of DevOps and DevSecOps
- Key Takeaways
- Knowledge Check
3. Version Control Systems
- Learning Objectives
- Overview of Version Control Systems
- Role of Version Control Systems
- Types of Control Systems and Their Supporting Tools
- Overview of Git
- Some Gitlow to adopt DevOps
- Overview of Source code and Version Control Hosts
- Deploy the Files to GitHub via Git
- Assisted Practice: Deploy to GitHub via Git
- Key Takeaways
- Knowledge Check
- Lesson-end Project: Deploy the Files to Bitbucket (or Gitlab) via Git.
4. Continuous Integration, Continuous Deployment, and Build Tools
- Learning Objectives
- Overview and Importance of Continuous Integration and Continuous Deployment
- Overview and Features of Jenkins
- Set up Jenkins and Jenkins Master Slave Architect
- Use Jenkins pipelines and share Library for reusable code.
- Assisted Practice: Install and Configure Jenkins
- Continuous Integration with Jenkins and Docker for building images
- Assisted Practice- Continuous Integration with Jenkins, Git, and Docker.
- Build Tools and Their Uses
- Key Takeaways
- Knowledge Check
- Lesson-end Project: Continuous Integration with Jenkins, Git, and Docker.
5. Software and Automation Testing Frameworks
- Learning Objectives
- Software Testing Overview
- Testing Levels Approaches and Automation Tools
- Test-Driven Development Approach with Pytest in Python
- Assisted Practice: TDD with Pytest
- Behavior-Driven Development Approach with Cucumber
- Assisted Practice: Cucumber with Python
- Knowledge Check
- Lesson-end Project: Integrate Testing stage into CI on Jenkins.
6. Configuration Management Tools
- Learning Objectives
- Overview of Configuration Management Tools
- Managing Infrastructure
- Overview of Ansible
- Set Up Apache Web Server Using Ansible
- Assisted Practice: Setup Apache or Nginx Web Server Using Ansible
- Key Takeaways
- Knowledge Check
- Lesson-end Project: Set Up Jenkins using Ansible
7. Containerization with Docker
- Learning Objectives:
- Overview of Docker:
- Overview of Virtualization:
- Docker Installation on Multiple OS:
- MySQL Database in Docker Container:
- Assisted Practice: Run MySQL database in Docker Container
- Using Docker Compose to Manage Containers:
- Assisted Practice: Docker Compose
- Docker Registry (Private):
- Docker Networking:
- Demonstrate Docker Networking between two containers.
- Assisted Practice: Docker Networking with MYSQL and Application containers.
- Knowledge Check:
- Lesson-end Project: Setup Local Environments by Docker
8. Need of Cloud in DevOps
- Learning Objectives
- Overview of Cloud Computing
- Cloud Services and Models
- Utilizing Cloud in DevOps
- Setting Up a Kubernetes Cluster in the Cloud
- Adding a Linux Node to the Kubernetes Cluster
- Setting Up Ingress Controller with Nginx Ingress Controller
- Scaling Pods with Kubernetes in the Cloud
- Key Takeaways
- Assisted Practice: Install Kubernetes, Pod Configuration, and Joining another Linux node to cluster
- Knowledge Check
- Lesson-end Project: Host Docker on a Kubernetes Cluster
9. Practice Projects
- Building CI/CD and Deploying Applications on Kubernetes in the Cloud with Jenkins and Helm
- Managing and Monitoring Docker Containers with Cloud Monitoring Tools
Học trực tuyến
Học tại Hồ Chí Minh
Học tại Hà Nội